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