«ПЕСЕНКА ПРО N-1 ПОРОСЯТ»
Конец подпрограммы.
— Ну что, не так уж плохо, — сказал Чип, прочтя про поросят. — Не так плохо для начала: ты догадался, что нужно написать не программу, а подпрограмму и остановиться, когда все поросята удерут с палубы.
— Ну, а что у тебя? — поинтересовался Сережа.
— А у меня конкурс для твоих поросят.
— Конкурс? Какой конкурс?
— Ну, скажем, по пению. Они песенки поют? Вот мы и проверим, кто лучше поет.
Подпрограмма «Лауреат... (среди поросят)».
Если поросенок один, то объявить его лауреатом.
Если их больше, то отвести в сторону первого поросенка и найти лауреата среди остальных поросят.
Сравнить пение этого лауреата и первого поросенка.
Объявить победителя лауреатом.
Конец.
— Ага, — Сережа задумался, — это похоже на перестройку колонны, которую мы делали в прошлый раз. Сейчас я вспомню. Значит, сначала мы поросят будем поочередно отводить в сторону, потом начнем с конца: объявим последнего лауреатом, сравним его с предпоследним, и так до самого первого. Вспомнил, вспомнил! Знаешь, Чип, а это несправедливо: последнему дали побыть лауреатом, даже не проверяя, как он поет. А бедненький первый, даже если он по пению на втором месте, ни разу лауреатом не был.
— Ничего не поделаешь, — возразил Чип. — Мы же хотели найти только самого лучшего. Если ты хочешь всем дать по заслугам, надо теперь нашего лауреата в сторону отвести и найти лауреата среди остальных. Так ты найдешь второго призера, отведешь его в сторону и найдешь третьего, ну, и так далее. Для этого нужна такая подпрограмма:
Подпрограмма «Конкурс поросят на приз N»
Найти «Лауреата» (среди поросят).
Дать ему приз N.
Если поросята кончились, то конец.
Провести «Конкурс (оставшихся поросят) на приз N + 1».
Конец.
Видишь, эта подпрограмма вызывает старую подпрограмму «Лауреат (среди поросят)», а потом еще вызывает сама себя. Вот так она и будет находить оставшихся лауреатов и давать им положенные призы.
— Чип, слушай-ка, — спохватился Сережа, — а что это мы с тобой стараемся ради этих глупых поросят? Ну, какая разница, кто из них лучше поет?
— Вот как? А ты знаешь, что эта задача — как быстрее провести конкурс — нужна не только для поросят. Она очень нужна для людей, и ею занимаются лучшие программисты и математики во всем мире. Ведь человеку в любой деятельности часто приходится с помощью компьютеров сортировать те или иные предметы по какому-то признаку — величине, яркости и так далее. И чем больше предметов, тем больше времени занимает сортировка, тем она труднее и дороже. Если научиться ее делать в два раза быстрее, то во всем мире будет сэкономлено столько труда, что можно будет накормить сотни голодных детей где- нибудь в Африке. А ты говоришь, поросята. Эх ты!
— Извини, Чип, я же не знал. А скажи, наша программа — она быстро работает?
— Да нет, есть и более быстрые, только их так просто не напишешь. Это целая наука — сортировка. Ну ладно, мы заговорились, а уже пора спать.
Сказка-программа «Теремок».
Глава № 1. Жили-были:
жилец № 1 — Мышка-норушка,
жилец № 2 — Лягушка-квакушка,
жилец № 3 — Петушок—золотой гребешок,
жилец № 4 — Зайчик-побегайчик,
жилец № 5 — Лисичка-сестричка,
жилец № 6 — Волк—зубами щелк,
жилец № 7 — Медведь — мастер реветь.
Глава № 2. СТОЯЛ В ПОЛЕ ТЕРЕМОК.
Глава № 3. БЕЖАЛА МИМО МЫШКА-НОРУШКА. ЗАГЛЯНУЛА И ОСТАЛАСЬ ЖИТЬ.
Глава № 4. Сейчас номер жильца N=1, а потом он будет меняться.
Глава № 5. Вспомните, чему равняется N. и к этой цифре прибавьте 1.
Глава № 6. ШЕЛ МИМО ЖИЛЕЦ N. ЕГО ПОЗВАЛИ ПРЕДЫДУЩИЕ ЖИЛЬЦЫ. И СТАЛИ ОНИ ВМЕСТЕ ЖИТЬ.
Глава № 7. Если N равно 7, то читайте дальше, иначе возвращайтесь к главе №5.
Глава № 8. ЖИЛЕЦ № 7 РАЗДАВИЛ ТЕРЕМОК
Глава № 9. Конец сказке.
Электронная яблоня
Октябрьский воскресный день начинался безрадостно. Сережа и Чип уныло глядели в окно — небо хмурилось, того и гляди дождь пойдет. Делать было нечего, все игры по десять раз переиграли, скучно!
— Чип, а ты не можешь наколдовать, чтобы погода исправилась? — лениво протянул Сережа.
— Ну, нет, над вашей погодой я не властен, вот с электронами я что хочешь наколдую.
— Что хочу? Прекрасно! Наколдуй в телевизоре, чтобы получилась специально для нас с тобой интересная передача. Ведь в телевизоре электроны? Скажешь, нет?
Чип немного растерялся. Видно было, он не знает, что возразить, а признать себя побежденным ему не позволяет гордость. Но колебался он недолго, сверкнул глазами, нахлобучил свою шапочку, ринулся к