Игры с Чипом - Мигдал А. А. 7 стр.


Когда Чип и Сережа вдоволь посмеялись, Сережа спросил:

— Знаешь,Чип, а я все-таки в прошлый раз не совсем понял, зачем ты в программах пишешь

Каждый год он на лень свою злится:

Через год перестану лениться!

Каждый месяц себе он клянется:

Через месяц работа начнется!

Каждый день он себя заклинает:

Завтра новую жизнь начинаю!

Каждый час говорит он, вздыхая:

Все, последний часок отдыхаю!

Исправляется с каждой минутой,

Но работа стоит почему-то.

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

Чип только этого и ждал. Вот как он написал.

— Ну  как? — гордо спросил Чип. — Теперь все ясно, не то, что раньше!

— Ты, пожалуйста, не сердись, но только мне как раз наоборот раньше все было понятно, а вот теперь... Где начало, где конец, какие-то циклы, ей-богу, без циклов было проще!

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

— Вот, смотри, — продолжил Чип, — начало и конец каждого цикла написаны на одном уровне — сразу видно, какой цикл кончился, а какой нет.

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

— Давай, — согласился Чип. — Начнем с главного цикла. Мы можем сначала написать только его.

— Надеюсь, все ясно? В начале года, скажем, 1 января, лентяй вспоминает про свою лень, злится и обещает через год исправиться. Потом на весь год про это забывает. Поскольку так от лени не избавишься, он организует второй цикл и вписывает его внутрь первого.

— Теперь он каждое 1 января повторяет первую пару строчек и, кроме того, каждый месяц, скажем, каждое второе число, повторяет вторую строчку.

— А, понял, — подхватил Сережа, — это тоже не помогло, тогда он вписывает внутрь 2-го цикла третий, по дням. Будет еще каждый день перед сном обещать завтра начать новую жизнь. Здорово получается: пару строчек напишешь, а 365 раз будешь программу выполнять. Только все равно это не поможет, я пробовал. Чип, а что ты посоветуешь, как бороться с ленью? Правда, без шуток.

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

ОТ РЕДАКЦИИ:

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

Простой вариант программы: одна кукушка каждый час поет и каждые 12 часов танцует.

Лучшие программы мы напечатаем. Ждем ваших писем. На конверте укажите: «Кукушка и петух».

Приключения электронного мальчика с пальчик 

— Знаешь, как меня назвала одна девочка в письме? — гордо сказал Чип в первое теплое майское воскресенье, когда они с Сережей устроились у раскрытого окна. — Ни за что не угадаешь! Электронный мальчик с пальчик, вот как.

— И прекрасно, — подхватил Сережа, — расскажи мне сказку про современного электронного мальчика с пальчик, вроде сказок для роботов Лема.

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

— В некотором вычислительном центре, в некотором машинном зале жил да был маленький Чип. Он был самым младшим в семье. Шестеро его старших братьев и его родители день и ночь гнули спину на своего хозяина — Центрального Процессора. Работа перепадала и Чипу, да какой с маленького прок! Поздно вечером, когда работы было поменьше, родители ворчали: «Одна морока с этими малышами, все приходится за них доделывать, без них было легче».

И вот как-то ночью Чип услышал, что родители сговариваются завести его с братьями в Лес Неправильных Программ да там и оставить. А это был страшный лес, там на каждом шагу подстерегали опасности: то бесконечный цикл закрутит, засосет, и не вырвешься; то Двоичное дерево своими ветками-рогатками запутает, затянет — начнешь их обходить и сгинешь без следа, только тебя и видели.

Но страшнее всего в том лесу был огромный великан Гигабайт. Сидел он в своей Директории, окруженный верными слугами — Дисководами, и поджидал неосторожных путников. Ему сотню бит проглотить, как муху, — даже и не заметит. Вот к нему-то и привели братьев жестокие родители.

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

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

Братья призадумались. Конечно, самый легкий — маленький Чип, но это нужно

ОТ РЕДАКЦИИ.

Ребята, поможем электронному мальчику с пальчик спасти своих братьев. Напишите нам, кто нашел все 6 алгоритмов, как выбрать самого легкого из семи братьев. На конверте укажите: «Мальчик с пальчик».

Чип и Сережа называют победителей 

— Чип, где ты? — Сережа не на шутку обеспокоился: только что его друг был тут, на столе, и вдруг пропал. — Чип!

— Я здесь! — Еле слышный писк донесся из груды писем, которую принесли из «Пионера». — Помоги, тону!

Отдышавшись, спасенный Чип рассказал Сереже вот что. На конкурс поступило две с половиной тысячи писем, а точнее, 2553.

— Чего тут только нет, посмотри, Сережа! И новые сказки, и стихи, и рисунки, и считалки. Почти сто человек решили все три задачи! Но сначала давай разберем ошибки остальных, чтобы они тоже смогли стать победителями на следующем конкурсе.

Итак, задача первая. Как уговорить маму купить жирафа.

Многие не поняли, что надо написать программу, и решили, что мы поручили им уговорить маму на самом деле купить жирафа. Некоторые участники нашего конкурса сообщают, что им не хватило на жирафа денег, другие — что жирафов в этом году не завезли в зоомагазин, а третьи жалуются, что у них зимой слишком холодно, вот летом — другое дело:   можно  и  африканских  зверей  разводить. Кое-кто из ребят не нашел ничего лучшего, чем просто переписать начало разговора про жирафа из «Пионера»». Это уж совсем никуда не годится — думать надо самим!

Решая эту задачу, ребята проявили меньше изобретательности, чем с остальными заданиями. Наверное, они забыли, что это игра, что решать задачу нужно весело, а не просто правильно.

Задача вторая — составить программу чистки картошки.

Типичная ошибка — неправильное употребление подпрограммы. Либо некоторые участники нашего конкурса не читали «Пионер» в 1986 году, где объяснялось, что такое подпрограмма, либо они не поняли этого объяснения. Многие решили, что если просто поставить в скобки концы фраз, то получится подпрограмма. Другие поняли так, что слово «ВОЗВРАТ» означает возвращение к началу подпрограммы, а на самом деле это выход из подпрограммы и продолжение той программы, которая обратилась к подпрограмме.

Назад Дальше