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