Более простую, лобовую программу мы потом «расшифровали», т. е. заменили оба вхождения подпрограммы на её «полный текст». Таким образом, получился уже настоящий, полный, без сокращений, текст программы. Он изображён на рис. 121.
Рис. 121.
Полученную программу мы несколько раз проверили, но вскоре стало ясно, что дальнейшие проверки уже не нужны, так как действие этой программы совершенно очевидно. Я напомнил ребятам, что обещал им показать более простую программу, решающую задачу, и что вот — это она и есть.
Вся идея с подпрограммами мне совершенно не понравилась. Пока нет подпрограмм, писать программу, приводящую робота в угол, интересно. Нужно думать, пробовать, проверять, изменять и т. д. — это всё достаточно хорошо описано в дневнике. Если же использовать подпрограммы, то почти весь процесс составления программ становится рутинным. Нужно на словах придумать, что делать (дойти до стены, повернуть, опять дойти до стены и остановится) — это интересно. Но потом нужно лезть в тетрадку, читать, что делает какая программа, чтобы найти нужную. (Чтение, конечно можно оставить Пете — он хорошо читает — но тогда я оказываюсь вообще ни при чём.) Вместо того, чтобы брать готовый квадратик, нужно ещё писать номер. После этого всего получившуюся программу нельзя ни показать кому-нибудь, ни исполнить без тетрадки. —
В заключение я задал «контрольный вопрос»: а что, по-вашему, делает вот такая программа (рис. 122)?
Рис. 122.
Мальчики бросились смотреть в тетрадь, но в ней оказалось всего четыре программы, а пятой не было. Тогда я спросил:
— А как вы думаете, какую программу я запишу туда следующей, под номером 5?
Тут все догадались, что это будет та же самая программа, заводящая робота в угол, которую теперь, таким образом, можно обозначить совсем просто.
Чтение.
Депман — половина четвёртой главы.2 498 = MMCDXCVIII.
Задание 2. Устные задачи. Ещё несколько околошкольных задач из книжки Труднева.
Задание 3. Нечётные числа и квадраты. Этой темой я пытался начать заниматься ещё с самого первого занятия этой осенью, но всё не хватало времени. В идеале я бы хотел, чтобы сейчас каждое занятие состояло из 4-х частей: устных задач, программирования, последовательностей чисел и чтения Депмана. Однако никогда мне не удавалось уместить в одно занятие все четыре темы. Но на этот раз я не успел придумать хорошую задачу по программированию, и поэтому нашлось время для занятий числовыми последовательностями. Сначала я спросил у ребят, какие числа они знают. Они не поняли вопроса. Тогда я подсказал:
— Ну, чётные…
Тут же вспомнили: нечётные, простые… Оказалось, что не все помнят, что такое простые числа; поговорили об этом. Потом я спросил, помнят ли они, что такое квадратные числа. Помнили, но смутно. Мы стали выкладывать квадрат из маленьких пластмассовых кубиков и получающиеся числа записывали. После числа 16 я попросил следующее число назвать устно. Петя сказал, что нужно к каждой стороне добавить по 4 кубика — только он колебался, к двум сторонам их следует добавить или к четырём. Я показал, что получится: квадрат без клеточки (рис. 123).