Выбрать главу

Затем по предложению Димы мы построили под первой цепочкой вторую, точно такую же, только все фигуры с дырками были заменены на бездырочные, и наоборот. Дима заметил, что по горизонтали у нас получилось «новое задание», а по вертикали — «старое задание» (т. е. отличие ровно по одному признаку).

Картинка вышла такая красивая, что никак не удавалось уговорить детей убрать её со стола. Особенно упрямился Дима; с ним удалось договориться только после того, как было решено вырезать такие флажки к Новому году и повесить их на ёлку.

Задание 2. Задача для робота: подойти к той стене, которая сзади, и стать к ней спиной (рис. 65).

Рис. 65. Робот должен перейти из начального положения в конечное.

Сначала я попросил ребят выполнить это задание «вручную», т. е. взять робота в руку и проделать с ним все нужные действия (шаги, повороты и проч.), сам же показал им только начальное и конечное положения. К моему удивлению, правильно всё сделал только Женя (повернулся кругом, сделал два шага, повернулся кругом). Петя же с Димой делали бог весть что: ходили куда-то в сторону и зигзагом, делали много лишних поворотов, делали шаги назад и т. п. — и в итоге оказывались не там, где нужно. То ли они пытались придумать другое задание (Дима это очень любит), то ли моё задание не могли понять — я так и не разобрался. От меня потребовалось известное терпение, чтобы каждый раз объяснять им их ошибки. Наконец, я снова предоставил слово Жене, чтобы он показал всё правильно, но тут и у него произошёл сбой и он сделал всё не так, и вообще они, оказывается, уже забыли, в чём задача; всё началось сначала.

Проблема на самом деле была в том, что мне хотелось написать не как можно более простую программу, а как можно более захватывающую: чтобы она делала то, что от неё требуется, но по дороге робот бегал бы по всему полю, как сумасшедший. Приходилось, однако, мириться с простыми программами: у нас и такую-то написать получалось с большим трудом. Только через несколько месяцев нам удалось написать действительно «удачную» программу: она правильно заводила робота в угол, но при этом даже папа не мог понять, как это получается. — Дима.

Наконец, ясность была наведена и мы приступили к программированию. Было испробовано множество вариантов, перечислить их здесь нет возможности. Каждый раз готовую программу мы использовали в деле, т. е. «тестировали», проверяя, что она предписывает делать роботу. Каждый раз, когда программа зацикливалась, это вызывало безумный хохот и общий восторг. Потом, наконец, была составлена работоспособная программа, которая приводила к нужному результату, но не из любой начальной позиции, так как в цикле она сначала делала шаг, а потом проверяла наличие стены (таким образом, если робот в начальной позиции уже стоял у стены, то, повернувшись и попытавшись сделать первый шаг, он расшибал себе нос). Я напомнил детям пословицу «семь раз отмерь, один раз отрежь», объяснил, что нельзя шагать наобум, что перед каждым шагом надо проверять, нет ли перед тобой стены. Однако это не привело к немедленному исправлению ошибки; вместо этого последовала целая серия бессмысленных вариантов, но в результате всё же образовалась правильная программа. В заключение, по образовавшейся традиции, каждый из ребят выполнил всю программу с избранной им самим начальной позиции. На этом занятие окончилось.

Занятие 42. Снежинки

2 января 1982 года (суббота). 1110-1155 (45 мин.). Дима, Петя, Женя.

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

Задание 1. Магические квадраты. Петя принёс первую в его жизни газету — первый номер «Пионерской правды», в котором была головоломка: в клетках таблицы 4x4 стояли трёхзначные числа; надо было их переставить так, чтобы получить магический квадрат с суммой 1982.

Я сказал ребятам, что это задача очень трудная, но зато рассказал им, что такое магический квадрат, потом достал альбом Дюрера, нашёл «Меланхолию», сказал, что Дюрер был и художником, и математиком, показал магический квадрат. Потом мы стали проверять его «магичность», для чего сосчитали несколько сумм по строкам и столбцам и по одной диагонали.