Летопись МИФИ

Дефрагментация мозга


ЕГЭ-2018
Тесты ЕГЭ Онлайн
Задачи ЕГЭ по математике
Решения ЕГЭ по математике

Вступительные экзамены и специальности
Фишки для Корума:
а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я
a b c d e f g h i j k l m n o p q r s t u v w x y z

Рейтинг пользователей Корума
Настроение • Модераторы
Темы • Картина дня • Realtime
Прочие фишки:
Нецензурная брань
Народная орфография
Морзянка онлайн • Калькулятор
Анаграммы • Игра в города

Загрузка календаря

Новые записи

20.05Задача про фермера и его кредит
26.01Актуализация сервисов ЕГЭ по математике 2014 года
05.11Поломалось
28.08Смена парадигмы
18.07Как вести себя в приличном обществе, предварительно обмочив штаны
оглавление »

Лучшие записи

1.Математическое порно1544
2.Ответы ко всем задачам ЕГЭ по математике 2010 года791
3.Тесты ЕГЭ Онлайн515
4.Результаты ЕГЭ по математике367
5.Результаты ЕГЭ по русскому языку268

О чем тут?

NX VBAB Webometrics igjhs А1-08 Абитуриенты Бачинский ВКонтакте Ващенифтему Волга Диплом Дрессировка преподов Дума ЕГЭ Жизнь Забабахал Инновации История Кафедра 26 Кларк Корум Лженаука МИФИ МИФИсты Морзянка НИЯУ Нанотехнологии Наука Образование Омоймоск ПЦ Поздравляю Поиск Президент Преподы Приколы Программное обеспечение Рейтинги Русский язык Сессия Смерть Статистика Стихи Сувениринг Тест Учеба Учебные материалы ФЯУ Физтех Фотки Ядерщики матанализ

Комментарии

Финансовая пирамида за 10 рублей
  25 сентября 2017 (Kennedy cluvert)

Тесты ЕГЭ Онлайн
  4 июля 2017 (Цезий23)

Ответы ко всем задачам ЕГЭ по математике 2010 года
  28 июня 2017 (Владимир)

В помощь юному радисту: Морзянка 1.0
  19 мая 2017 (mari54)

Проверь, как быстро ты печатаешь
  14 мая 2017 (Полина)

О бедном завкафе замолвите слово
  13 февраля 2017 (Воен УПЧК)

Сциентифик калькулятор
  28 января 2017 (Soul)

Задача про фермера и его кредит
  16 января 2017 (5555555)

Смехуёчки
  1 января 2017 (Enm)

Знахари и шаманы в МГТУ имени Баумана
  19 декабря 2016 (miracl)

$kib@t®onЪ
Сейчас на скибатроне
Шедевры
12 февраля 2010, 17:57:51

Сказка об объектно-ориентированном программировании

Путём длительных размышлений, я пришел к выводу, что чтобы воспитать настоящего программиста, обучение следует начинать чуть ли не с младенческого возраста. Вопрос — как? Ведь книжки по программированию (даже те, что «для чайников») явно не годятся для неокрепших детских умов. И вообще, начинать со всяких «Хеллоу, ворлд» — себя не уважать.

Короче, мой метод — брать быка за рога и приступать сразу к эпическим произведениям. А что для ребенка является самым эпическим произведением? Конечно же, «Сказка о репке»!

Напомню суть. В пространстве сказки определены семь экземпляров класса Персонаж, в порядке первого вызова: дедка, репка (вот давайте только не спорить сейчас, репка — такой же персонаж, как и все остальные), бабка, внучка, жучка, кошка и мышка.

Экземпляры класса Персонаж программной среды Сказка о репке
Картинка спёрта у Леонида Каганова

Каждый экземпляр класса Персонаж обладает свойствами «имя» и «сила» (сила репки, кто не понял, — это минимальная сила, с которой её можно вытянуть из земли) и методами «посадить» и «позвать на помощь» (оба они, фактически, вызывают функцию-конструктор нового экземпляра этого же класса). Да, вы правы: по идее, должен быть ещё метод «тянуть», но мы его реализуем попозже.

Так вот, про основное действие — то самое воспетое неизвестным автором «тянем-потянем». В этом процессе участвуют сразу несколько экземпляров класса Персонаж, поэтому реализовать его разумно не в виде метода этого класса, а в виде отдельного класса. У него есть свойства «что тянем» (экземпляр класса Персонаж) и «кто тянет» (массив экземпляров класса Персонаж). А также, грубо говоря, один основной метод — определение результата попытки вытягивания при текущем составе участников.

Остался только сам сюжет, который в классическом варианте сводится к следующему алгоритму:
  1. дедка = новый Персонаж;
  2. репка = дедка.посадить(новый Персонаж);
  3. процесс = новый ТянемПотянем(репка);
  4. процесс.включить(дедка);
  5. до тех пор, пока (результат процесса отрицательный, и ещё есть, кого позвать)
       процесс.включить(процесс.последнийВОчереди.позвать(новый Персонаж));
Вот и всё — теперь, если задать правильные исходные данные, то программа в точности повторит эпическую историю о пище и взаимопомощи со счастливым концом.

Но если чуть-чуть поиграться с исходными данными, то... может получиться огромное количество совершенно новых увлекательнейших историй с поистине непредсказуемым финалом!


Нажми на кнопку — будет сказка

P.S. Исходный код (правда, я не особенно щедр на комментарии).

P.P.S. Если у вас не видно никакой кнопочки, или если при ее нажатии ничего не происходит, то вы, скорее всего, читаете эту заметку не на live.mephist.ru.
FaceBook

ранее:
Телекоммуникации 21 ве... Error 404
далее:
Вход и выход

Уже 10 комментариев

вверхвниз
1. Аредель, 13 февраля 2010, 15:03:13
супер)) невообразимый сюжет и фееричный, поучительный финал))) ведь логично же "кто не работает - тот не ест"))))

2. BA3a, 13 февраля 2010, 18:06:44
а почему же они мышку все вместе вытянуть не могут? Как-то нелогично

3. Lexxus, 13 февраля 2010, 23:31:24
а почему же они мышку все вместе вытянуть не могут? Как-то нелогично

Потому что она выросла большая-пребольшая. Там же написано :)

4. BA3a, 14 февраля 2010, 22:37:02
то есть кошка меньше-пременьше мышки вырастает?

5. The END, 14 февраля 2010, 23:48:54
Вот она - верификация абсурда под прикрытием логической концепции валидации декларируемых свойств. Точность поставленного диагноза легко устанавливается по следующим симптомам: дислексией, шизофренией и диафорезом.

6. belkins, 15 февраля 2010, 14:51:25
рода, если доработать то круто будет, а то от лица бабки не смотрится нифига.

7. Lexxus, 15 февраля 2010, 17:10:56
рода, если доработать то круто будет, а то от лица бабки не смотрится нифига.

Так и знал, что кто-нибудь придерётся=)
Будет время - добавлю атрибут "пол", раз уж это так важно))

8. gurka_ju, 25 ноября 2010, 00:14:08
414252 :)

чисто программистская развлекуха:) самое смешное, что я когда-то школьникам базовые алгоритмы как раз на примере сказок и объясняла!!! ну там case , loop - репка, про кощея и его смерть... колобок... но, object oriented - это гениально... а, главное, такая фигня феерическая получaется!!!

9. frelick, 4 февраля 2012, 06:39:45
Интересно было бы взглянуть на картину: Жучка и Кошка лопают Репку... :-)
Ну, а на счёт "кто не работает, то не ест" можно очень долго спорить...

10. Puppet, 29 сентября 2013, 04:03:29
Таким макаром можно целый сборник сказок составить!)


Рейтинг блогов



 

откуда • куда • где • eureka!
Бездарно потраченное время:
101340 дней