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