Игры с Чипом - [8]

Шрифт
Интервал

ОТ РЕДАКЦИИ.

Ребята, может быть, и вы попробуете сочинить рекурсивную программу для сказки или считалки? А Чип проверит, что у вас получится. Ждем ваших писем.

Конкурс поросят 

К следующему разу Сережа ничего путного не смог придумать. В голову лезла какая-то чепуха про двенадцать поросят.

«12 поросят на палубе сидят.

Они песенки поют, им уроки задают.

Один из них устал и с палубы удрал,

И вот результат — 11 поросят.

11 поросят на палубе сидят...».

И так далее...

В конце концов  из этого тоже можно сделать программу. Сережа взял листочек бумаги и написал:

>Программа. «ПЕСЕНКА ПРО N ПОРОСЯТ».

Но тут вспомнил, как Чип объяснял ему: «Если внутри программы что-то меняется, то это уже не программа, а подпрограмма».

«У нас же число поросят будет меняться», — подумал Сережа, зачеркнул первую строчку и написал вот что:


>Подпрограмма.

>«ПЕСЕНКА ПРО N ПОРОСЯТ»

>Если N=0, то конец.

>N ПОРОСЯТ НА ПАЛУБЕ СИДЯТ.

>ОНИ ПЕСЕНКИ ПОЮТ, ИМ УРОКИ ЗАДАЮТ

>ОДИН ИЗ НИХ УСТАЛ И С ПАЛУБЫ УДРАЛ.

>И ВОТ РЕЗУЛЬТАТ: N-1 ПОРОСЯТ

>«ПЕСЕНКА ПРО N-1 ПОРОСЯТ»

>Конец подпрограммы.


— Ну что, не так уж плохо, — сказал Чип, прочтя про поросят. — Не так плохо для начала: ты догадался, что нужно написать не программу, а подпрограмму и остановиться, когда все поросята удерут с палубы.

— Ну, а что у тебя? — поинтересовался Сережа.

— А у меня конкурс для твоих поросят.

— Конкурс? Какой конкурс?

— Ну, скажем, по пению. Они песенки поют? Вот мы и проверим, кто лучше поет.


>Подпрограмма «Лауреат... (среди поросят)».

>Если поросенок один, то объявить его лауреатом.

>Если их больше, то отвести в сторону первого поросенка и найти лауреата среди остальных поросят.

>Сравнить пение этого лауреата и первого поросенка.

>Объявить победителя лауреатом.

>Конец.


— Ага, — Сережа задумался, — это похоже на перестройку колонны, которую мы делали в прошлый раз. Сейчас я вспомню. Значит, сначала мы поросят будем поочередно отводить в сторону, потом начнем с конца: объявим последнего лауреатом, сравним его с предпоследним, и так до самого первого. Вспомнил, вспомнил! Знаешь, Чип, а это несправедливо: последнему дали побыть лауреатом, даже не проверяя, как он поет. А бедненький первый, даже если он по пению на втором месте, ни разу лауреатом не был.

— Ничего не поделаешь, — возразил Чип. — Мы же хотели найти только самого лучшего. Если ты хочешь всем дать по заслугам, надо теперь нашего лауреата в сторону отвести и найти лауреата среди остальных. Так ты найдешь второго призера, отведешь его в сторону и найдешь третьего, ну, и так далее. Для этого нужна такая подпрограмма:


>Подпрограмма «Конкурс поросят на приз N»

>Найти «Лауреата» (среди поросят).

>Дать ему приз N.

>Если поросята кончились, то конец.

>Провести «Конкурс (оставшихся поросят) на приз N + 1».

>Конец.


Видишь, эта подпрограмма вызывает старую подпрограмму «Лауреат (среди поросят)», а потом еще вызывает сама себя. Вот так она и будет находить оставшихся лауреатов и давать им положенные призы.

— Чип, слушай-ка, — спохватился Сережа, — а что это мы с тобой стараемся ради этих глупых поросят? Ну, какая разница, кто из них лучше поет?

— Вот как? А ты знаешь, что эта задача — как быстрее провести конкурс — нужна не только для поросят. Она очень нужна для людей, и ею занимаются лучшие программисты и математики во всем мире. Ведь человеку в любой деятельности часто приходится с помощью компьютеров сортировать те или иные предметы по какому-то признаку — величине, яркости и так далее. И чем больше предметов, тем больше времени занимает сортировка, тем она труднее и дороже. Если научиться ее делать в два раза быстрее, то во всем мире будет сэкономлено столько труда, что можно будет накормить сотни голодных детей где-нибудь в Африке. А ты говоришь, поросята. Эх ты!

— Извини, Чип, я же не знал. А скажи, наша программа — она быстро работает?

— Да нет, есть и более быстрые, только их так просто не напишешь. Это целая наука — сортировка. Ну ладно, мы заговорились, а уже пора спать.

ОТ РЕДАКЦИИ:

Ребята, в этом и предыдущем номерах журнала Чип объяснял вам очень сложные вещи, которые и взрослые не сразу понимают. Но вы не смущайтесь, сыграйте в перестройку колонны, в конкурс поросят. Ведущий делает все по программе, как компьютер, а остальные его слушаются. Для начала в игре пусть участвуют два-три человека, а потом можно проверить программу и для целого класса. Если выполнять программу точно и не сбиваться, все у вас получится. Только тянуть себя за волосы из лужи не надо.

Сегодня мы называем имена тех наших читателей, которые первыми прислали правильные программы к сказке «Теремок». Это Покрас Марианна, г.Москва: Варонанский Сергей, г.Москва: Денисов Витя, п.Протвино, Московская обл.; Трахтман Жанна, г. Свердловск; Венкина Катя, г. Москва; Мельникова Оля, г. Киев; Моор Коля. г. Березняки; Молотков Слава, г. Горький; Евстронова Надя, г. Свердловск; Ухова Галя, г. Троицк, Челябинская обл.; Сахбутдино-ва Лейла, г.Казань. Молодцы ребята!

Вот программа, составленная пятиклассником Сережей Варонанским:

>Сказка-программа «Теремок».

>Глава № 1. Жили-были:

>жилец № 1 — Мышка-норушка,

>жилец № 2 — Лягушка-квакушка,


Рекомендуем почитать
"Почему?" в концертном зале

Автор книги в доступной увлекательной форме отвечает на те многочисленные вопросы, которые могут возникнуть у юного любителя музыки, пришедшего в концертный зал на встречу с симфоническим оркестром: откуда взялись музыкальные инструменты, кто и когда придумал нотную запись, о чем и как рассказывает мелодия, как слушать музыку и т. п.


Экологическое воспитание детей 5-6 лет

В данном методическом пособии, разработанном в соответствии с ФГТ, представлена непосредственно образовательная деятельность (НОД) по экологическому воспитанию детей 5-6 лет. Особое внимание уделено диагностике педагогического процесса по блокам «Растения», «Животные», «Человек», «Неживая природа». Широко представлена познавательно-исследовательская деятельность Пособие адресовано страшим воспитателям и педагогам ДОУ, родителям и гувернерам.


Мозаика из круп и семян

Используя различные крупы, а также семена овощей, фруктов, цветов, можно изготавливать чудесные оригинальные аппликации, панно, открытки к празднику.


Горизонты техники для детей, 1964 №11

Польский ежемесячный научно-популярный журнал для детей.


Горизонты техники для детей, 1964 №10

Польский ежемесячный научно-популярный журнал для детей.


Первоначала вещей

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.