7 Кружок с мальчиками — последние полгода

Занятие 68. Подвохи календаря

3 октября 1983 года (понедельник). 1800-1900 (1 час). Дима, Петя, Женя.

Немножко странно: никаких поздравлений, никаких «праздничных салютов». Дневник начинается прямо с места в карьер — с первого задания.

Задание 1. Задача о календаре. Я спросил у Димы:

— Сколько тебе лет?

— Семь.

— А сколько тебе исполнится в будущем году?

— Восемь.

Это пока ещё лёгкий вопрос. Следующий вопрос Пете:

— Сколько тебе лет?

— Восемь.

— А сколько тебе исполнится в будущем году?

— Девять.

— А вот Жене будет вопрос потруднее: сколько тебе лет?

— Семь.

— А сколько тебе исполнится в будущем году?

У Жени день рождения в ноябре, так что 8 лет ему ещё успеет исполниться в этом году, а в следующем ему исполнится 9 лет. Женя сначала ошибается и говорит:

— Восемь.

— Неверно, — говорю я.

— А, правильно, девять, — спохватывается Женя.

— Как это?! — недоумевают Дима и Петя.

Потом Петя догадывается. Дима говорит:

— Наверное, это так же, как с лифтом.

— Неправильно, — говорю я.

Тут вмешивается Алла и спрашивает:

— А вы знаете, когда у Жени день рождения?

Дима не знает. Алла говорит:

— Через месяц, в ноябре.

Тогда и Дима догадывается до решения и правильно всё объясняет.

А теперь собственно задача. Один мальчик сказал: «Позавчера мне было 10 лет, а в будущем году мне исполнится 13 лет». Как это может быть? Дима выдвигает гипотезу, что это из-за високосных лет. Я её отвергаю. Начинаются другие гипотезы, иногда ведущие в нужном направлении, и тогда я их поддерживаю. Так постепенно, с моими небольшими подсказками, приходим к правильному ответу:

(а) высказывание произнесено 1 января;

(б) вчера, т. е. 31 декабря, мальчику исполнилось 11 лет;

(в) позавчера, т. е. 30 декабря, ему было ещё 10;

(г) когда в этом году наступит 31 декабря (т. е. почти через год), мальчику исполнится 12;

(д) и, наконец, в будущем году ему исполнится 13.

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

— A-а, а я думал, что в одном году не может быть два день-рождения, — т. е. он снова не понял.

Я к тому же ещё не понимал разницы между словами «будет 13 лет» и «исполнится 13 лет». Из-за этого мне казалось логичнее говорить, что в следующем году мальчику исполнится 12 лет, а не 13 (ведь ему почти весь год будет 12 лет). Утверждение про 13 лет я признавал верным с натяжкой. Если бы день рождения был 30 декабря, то всё было бы правильно: существовал бы день (31 декабря), когда мальчику было 13 лет. Но когда день рождения 31 декабря, то чтобы утверждение было верным, нужно считать, что в день рождения мальчику уже 13 лет. Это можно, но с натяжкой. — Дима.

Тут вмешивается Петя. Он продолжает мой рисунок влево, показывая, где мальчику исполнилось 10 лет. Тогда до Димы доходит.

Задание 2. Устный вопрос — фонетика. Я спросил, из чего состоят слова. Петя ответил:

— Из букв.

Дима возразил:

— А нас вот учили, что слова делятся на слоги.

— А слоги? — спросил я.

— А слоги — на звуки.

— Значит, — сказал я, — Петя считает, что слова состоят из букв, а Дима — что из звуков.

Петя тут же объяснил разницу между словом написанным и произнесённым. Мы выяснили также, что буквы — это значки для обозначения звуков. А верно ли, что каждый звук обозначается какой-нибудь одной буквой и наоборот? Выяснили на примерах, что неверно.

После этого я задал мальчикам задачу: придумать два таких слова, чтобы они писались одинаково, а читались по-разному.

К сожалению, никто из них ничего не смог придумать даже после того, как я сам привёл пример:

МУ'КА — МУКА'.

Я сказал, что тогда это будет задание на дом, но все были так шокированы этими словами: «задание на дом» (видимо, столько с ними связано неприятных ассоциаций), что мне пришлось оправдываться и говорить, что пусть просто подумают — вдруг дома придумают.

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

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

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

Чтение. В заключение я прочитал ребятам первые две главы из книги И. Я. Депмана «Мир чисел».


Занятие 69. Много устных задач

17 октября 1983 года (понедельник). 1800-1900 (1 час). Дима, Петя, Женя.

Задание 1. Устные задачи. На этом занятии устные задачи затянулись на полчаса, так как дети всё требовали ещё задач.

(а) Сначала мы рассмотрели ещё несколько примеров слов, которые пишутся одинаково, а читаются по-разному (пили, полка, стрелка, стрелок, стрелку и т. п.). Написали фразу: «СТРЕЛОК посмотрел на часы, а на часах нет СТРЕЛОК». Дима предложил последнее слово в этой фразе не писать, а провести стрелку к первому слову. Я сострил:

— Провести СТРЕ'ЛКУ к СТРЕЛКУ'!

И ещё я напомнил им стишок Б. Заходера:

Вопрос мой прост и краток —

Промолвил носорог:

Что лучше — сорок пяток

Или пяток сорок?

Никто ему на это

Ответа дать не мог.

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

Князь скорей царицу будит.

Та как ахнет! «То ли будет…»

(в) По поводу первых двух задач мы ещё обсуждали разные разности, как то: соотношение между написанием и произнесением (его трудности в английском и французском); перевёртыши (дети меня заставили написать несколько перевёртышей) и многое другое, чего уже не помню.

(г) Следующая задача Диме была уже известна, поэтому я попросил его помолчать.

Человек поднялся на 5-й этаж, а потом ещё на столько же этажей. На каком этаже он оказался?

Петя с Женей, разумеется, не задумываясь ответили: на 10-м. Я стал «спускаться», т. е. вместо 5-го этажа в условии называть 4-й, 3-й и т. д. Первым уловил подвох Женя, однако объяснил он его невнятно и, вместо того, чтобы вычесть единицу, прибавил её: после 3-го этажа оказался на 7-м. На следующем этапе уже всё понял и Петя — и дал правильный ответ и правильное объяснение (после 2-го этажа мы оказываемся на 3-м). Потом мы ещё эти этажи рисовали.

(д) За книгу заплатили рубль, и осталось заплатить ещё столько, сколько осталось бы заплатить, если бы заплатили столько, сколько осталось заплатить. Сколько стоит книга? («Квант», № 5, 1983.)

Дети, конечно же, эту задачу не решили, это просто я поддался на уговоры дать ещё задачу. Дима, правда, угадал ответ (2 рубля), но он понял условие примерно так: «За книгу заплатили рубль, и осталось заплатить ещё столько же». Мои объяснения он, по его словам, понял с третьего раза.

(е) Мальчики просили ещё задач, но я уже истощился. Я стал объяснять, что у меня их нет, так как для такой мелюзги никто задач не придумывает. Дима удивился:

— Как? А в школе?

Я ему сказал:

— Ну, хорошо: что больше, 5 или 3?

Он как-то весь сразу посерел, съёжился, как будто ему сказали гадость, и промямлил:

— Ой, нет, не надо…

Но Петя продолжал фантазировать:

— Стояло 5 автомобилей; 2 из них уехало; сколько осталось?

Тут и я подхватил:

— Горело 5 свечей; 2 из них погасли; сколько осталось?

Ответ очень ребят насмешил (остались как раз те две свечи, что погасли, а остальные три сгорели).

Задание 2. Программирование. Задача была поставлена так: из произвольной клетки доски придти в угол (также произвольный) и там остановиться. Дима тут же на словах изложил правильное решение: нужно идти, перед каждым шагом проверяя, нет ли впереди стены, шагать вперёд до стены, а как дойдёшь, повернуть в любую сторону, например, налево, и делать то же самое — т. е. идти до стены; дойдя, остановиться.

Однако когда он стал складывать блок-схему, то сделал это неправильно: он поставил ромб проверки стены впереди, затем блок «шаг», а после этого не вернулся к исходному ромбу проверки, а поставил новый (рис. 115).



Рис. 115. Ошибка в решении.


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

Димин алгоритм, конечно же, не работал: или приводил не в угол, или вообще прерывался посреди работы (те самые никуда не ведущие стрелки).

Мальчики стали его исправлять, на этот раз все втроём. Однако все исправления носили локальный характер: каждый раз, обнаруживая неправильную работу, ребята меняли только соответствующее место в блок-схеме, никак не задумываясь о том, как это отразится на алгоритме в целом.

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


Самое удивительное, что она-таки работала! Проверки из самых разных положений непеременно заводили робота в угол.

Время кончалось, и я с трудом сумел остановить мальчиков, увлёкшихся проверками алгоритма. Прочитать им Депмана я опять не успел, и кубики из Scientific American снова не показал. Зато передо мной встала теперь нелёгкая задача: убедиться самому, правильно ли работает построенный детьми алгоритм. Я сидел над ним почти час и в результате почти во всём разобрался. Этот алгоритм в самом деле всегда приводит робота в угол в нашей «комнате», так как она имеет нечётные размеры 5x7. То же самое будет, если хотя бы один из размеров нечётный. Но в комнате с обоими чётными измерениями, например, 4x6, алгоритм зациклится!

В следующий раз я покажу это ребятам.


Занятие 70. Снова о программах

27 октября 1983 года (четверг). 1800-1915 (1 час 15 мин.). Дима, Петя, Женя.

Задание 1. Программирование. Как и собирался, я показал ребятам, что их алгоритм в комнате 4x6 приводит к зацикливанию. Это их ничуть не смутило. Обнаружив, что робот поворачивает «не туда», они просто поменяли левый поворот на правый. В другой раз, из другой начальной позиции, оказался «не туда» другой правый поворот (тот, что стоит в блок-схеме слева вверху) — и они так же легко заменили его на левый. Тут, однако, произошла неожиданность (для меня). Оказалось, что новый алгоритм, т. е. тот, что нарисован на рис. 116, но с заменой правого поворота на левый, а левого на правый, работает! Мы его пробовали из разных позиций, и с чётными, и с нечётными сторонами, — работает, чёрт возьми! Заводит робота в угол.



Рис. 116. Можно ли понять такую программу? И правильно ли она работает?


Таким образом, все мои воззвания в защиту структурности («можно проще и лучше») потеряли почву под ногами, потому что — что значит лучше, если и так работает?

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

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

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



Рис. 117. Гораздо лучше — но опять ошибка!


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

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

Задание 2. Устная задача. Аня, Ася, Ваня и Вася собирали грибы. Аня собрала больше всех, а Ася не меньше всех. Кто собрал больше грибов: девочки или мальчики?

Все хором ответили, что девочки собрали больше.

— А почему?

— Потому что Аня собрала больше всех, — ответил Петя.

— Неправильно!

— Как неправильно?!

— Ответ правильный, а объяснение неправильное.

— И потому, что Ася собрала не меньше всех, — добавил кто-то.

Но теперь, после неправильного ответа Пети, я уже не был уверен, что получил объяснение, а не просто повторение условия задачи. Я стал добиваться объяснений, ужасно долго занудничал и приставал, но так ничего и не добился. В основном мальчики мне приводили примеры, подтверждающие их правоту.

Потом я дал своё объяснение, но никто не понял, чем оно лучше. Детям казалось, что они говорили то же самое.

Я думаю, лучше было бы сформулировать вопрос так: «Могло ли оказаться, что мальчики собрали больше девочек?». Ведь, по сути, из условия ясно, что девочки собрали больше, вопрос только в том, нет ли в этой задаче подвоха. Когда папа дал своё объяснение, я, на самом деле, почувствовал, что оно, в отличие от наших, не оставляет места сомнениям. Но, с другой стороны, ответ-то у нас тоже был правильный… — Дима.

В общем, прошло 20 минут, я весь иззанудничался, совершенно задурил всем голову и сам себя раздражил.

В целом у меня осталось ощущение, что занятие было неудачным, и в основном из-за этой задачи.

Задание 3. О шифрах. Петя с Димой сейчас очень увлекаются составлением шифрованных писем. Я решил подключиться к этой деятельности и впервые за все эти годы дал детям настоящее домашнее задание. Оно состояло в том, чтобы каждый из них составил шифр, т. е. табличку, в которой каждой букве алфавита ставится в соответствие какой-то знак (и разным буквам — разные знаки). После этого следует взять из произвольной книги произвольную фразу, зашифровать её и принести мне — разумеется, не показывая исходной таблицы-шифра. А я уже должен это письмо разгадать.

Задание было воспринято с большим ажиотажем.

Рубикоиды. Наше обсуждение шифров затянулось, и был уже восьмой час, когда я вспомнил, что уже в третий раз не успеваю показать детям разные модификации кубика Рубика, которые приведены в статье Д. Хофштадтера «Магия математики», журнал «В мире науки» (перевод «Scientific American»).

Поскольку журнал уже пора было отдавать, я решил затянуть кружок ещё на 5 минут и показал все картинки.

Шифры. Все дети сдали мне свои шифры — Петя и Дима уже в воскресенье 30 октября, а Женя принёс своё письмо на следующее занятие, 3 ноября. У Пети шифр был самый лёгкий: он заменил звонкие согласные аналогичными глухими и наоборот, затем твёрдые гласные аналогичными мягкими и наоборот и т. п. Кроме того, он начал своё послание словами «Из книги. страница 72». Поэтому его послание я разгадал легко. С Диминым шифром было гораздо труднее, но в итоге я и с ним справился. Очень мне помогла таблица частотности букв из книги А. М. Яглома и И. М. Яглома «Вероятность и информация». Дима стоял рядом и наблюдал за моей работой, так что я «мыслил вслух». Дима ужасно волновался. Женин шифр почему-то оказался ещё труднее, так что разгадал я его с огромным трудом, и ушло на это полтора часа. Особую трудность для разгадывания представляли орфографические ошибки — а они оказались в каждом письме.

Теперь у меня главная проблема — как защититься от обрушившегося на меня потока новых шифровок. Уже в тот же день Дима мне принёс их три штуки (!!), все записанные разными шифрами. Петя тоже готовит ещё одно послание.

Я видел, что папа использует частоту появления букв в шифрованном послании, и старался найти в какой-нибудь книжке фразу, где самая частая буква — не «о». — Дима.


Занятие 71. Школьные задачи… ну, почти

3 ноября 1983 года (четверг). 1755-1905 (1 час 10 мин.). Дима, Женя.

Задание 1. Устные задачи. Неудача с задачей № 2 из предыдущего занятия навела меня на мысль, что я чересчур увлёкся в своём пижонстве и что пора включать в наши занятия обычные школьные или полушкольные задачи.

И я был прав!

Я нашёл у себя на полке книжку Труднева «Считай, смекай, отгадывай!» (для 1–3 классов), которая единственная имела подзаголовок «Пособие для учащихся», а не «Пособие для учителя». Там вполне приемлемые, хотя и тривиальные задачки, и я решил пойти по этой книге подряд. На сегодняшнее занятие я запланировал 10 задач. Однако мы застряли уже на третьей…

Третья задача звучала так: «Мама оставила на двух тарелках поровну яблок, а когда она вернулась, на них осталось вот столько яблок (нарисованы две тарелки, на одной 3 яблока, на другой 8). С какой тарелки забрали больше яблок, и на сколько?».

На первый вопрос мальчики ответили правильно. А вот на втором произошла загвоздка: ни Дима, ни Женя не смогли ответить, на сколько больше яблок забрали с первой тарелки, чем со второй. Вот так-то! Оказывается, это совершенно не очевидно, что если на 5 яблок меньше осталось, значит, на 5 яблок больше забрали. То есть, главным образом не очевидно, что результат не зависит от того, сколько яблок было исходно. Дима как раз всё допытывался у меня, сколько их там было сначала: хотел подсчитать, сколько забрали с каждой, и потом найти разницу. Я отвечал, что это неизвестно — сколько их было сначала. Потом Женя предположил, что на 5 больше. В качестве объяснения он сказал, что со второй тарелки яблок вообще не брали, потому что на ней больше места нет. Дима стал с ним спорить и предположил, что с первой тарелки забрали на 16 яблок больше. Объяснить свой ответ он никак не мог.

Женя всё же продолжал настаивать на ответе 5. Он сказал:

— Раз спрашивается, на сколько больше, значит, надо отнимать.

Я предложил ему такую задачу: «В тарелке лежало сколько-то яблок. Папа добавил 2 яблока, а мама 4. На сколько яблок стало больше в тарелке?».

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

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

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

Задание 2. Вероятностная игра. Поскольку Петя болен, я решил программирование сегодня пропустить. А Дима меня специально попросил ещё раз поиграть в нарисованную здесь игру (рис. 118, когда-то мы в неё уже играли — см. стр. 77). Так что как раз сегодня представился удобный случай это сделать.



Рис. 118. Старая знакомая — планшетка для вероятностной игры.


Жребием решили, кому сидеть в середине, и этим счастливцем оказался я. Я взял себе 10 фишек, а мальчикам раздал по 15. Потом подчеркнул ещё раз, что у меня и фишек меньше, и выигрывающих клеток меньше — и мы начали играть.

Игра прошла очень оживлённо, мальчики играли с большим удовольствием и не хотели останавливаться. Но с точки зрения извлечения из игры какой-нибудь «математической морали», т. е. выводов, занятие прошло не очень успешно. Причина в том, что за первые 15 бросаний Дима ни разу не выиграл и тем самым спустил все свои фишки и разорился. По правилам он должен был сразу же и выйти из игры. Но мне стало его жалко, и когда при очередном бросании выпала «его» сумма, мы с Женей без всяких моих комментариев выдали ему по фишке.

Так и повелось дальше: Дима и Женя периодически разорялись, но каждый раз фишки к ним снова приплывали. В таких условиях, конечно, мне трудно было их победить, тем более что их суммарная вероятность выигрыша больше, чем моя. Кончили мы на том, что у меня было 25 фишек, у Димы — 8, у Жени — 7.

Чтение. В заключение я прочёл им третью главу из книги Депмана. Между прочим, Женя узнал картинку Стоунхенджа и даже сказал:

— Вы нам это уже читали.

Но потом мы вместе вспомнили, что я этого не читал, а только показывал картинки.


Занятие 72. Подпрограммы

8 ноября 1983 года (понедельник). 1530-1630 (1 час). Дима, Петя, Женя.

Женин шифр. Я показал Жене расшифровку его письма. Он прочитал текст, но, убедившись в его правильности, ещё не сделал отсюда вывода, что я и буквы все расшифровал правильно. Он достал свою таблицу, и мы проверили правильность расшифровки букв.

После этого я немного рассказал ребятам о том, как делается расшифровка.

Задание 1. Устные задачи. Я продолжал задачи из книжки Труднева: дал ещё 5 штук. Никаких ЧП на этот раз не было, за исключением того, что, как выяснилось, такая же книжка есть у Жениного папы, и он даже давал ребятам задачи из неё во время какой-то совместной поездки.

Задание 2. Программирование: знакомимся с подпрограммами. На этот раз занятие по программированию наконец-то прошло успешно и с толком. Я долго ждал и надеялся, что ребята сами дойдут до понятия подпрограммы. Потом понял, что ждать этого надо, быть может, ещё 10 лет. Видимо, эта идея чересчур новаторская. Кроме того, в моём языке явно недостаёт аппарата, подчёркивающего идею структурности. Одним словом, я не выдержал и сам ввёл специальный знак для подпрограмм.

Знак представляет собой прямоугольник 3x6 см с двумя нашлёпками-полукругами, символизирующими «начало» и «конец» (рис. 119).



Рис. 119. Программа № 1 записывается в специальную тетрадь. Там же записывается, какую операцию эта программа выполняет (например: «дойти до стены и остановиться»). Когда нам впоследствии захочется использовать её в качестве подпрограммы в более сложной программе, мы заменяем её вот таким знаком.


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

Всё это я объяснил ребятам. Сначала они ничего не понимали, потом разобрались, и мы вместе ещё раз решили задачу, которой занимались предыдущие два раза: зайти в угол и остановиться.

При этом использовалась подпрограмма № 1: дойти до стены и остановиться.

Было сделано два варианта программы: один лобовой, другой — чуточку более «умный», т. е. в одном из случаев, когда мы уже после первого прохода оказались в углу, он экономит второй проход. Обе программы показаны на рис. 120.



Рис. 120. Вверху слева: простейший вариант программы «дойти до угла и остановиться». Вверху справа: чуть более сложный вариант, который в одном из двух случаев сразу определяет, что мы уже находимся в углу. Внизу показана подпрограмма № 1.


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

Более простую, лобовую программу мы потом «расшифровали», т. е. заменили оба вхождения подпрограммы на её «полный текст». Таким образом, получился уже настоящий, полный, без сокращений, текст программы. Он изображён на рис. 121.



Рис. 121. Программа «дойти до угла и остановиться», уже не использующая подпрограмм (т. е. обе подпрограммы «раскрыты»).


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

Вся идея с подпрограммами мне совершенно не понравилась. Пока нет подпрограмм, писать программу, приводящую робота в угол, интересно. Нужно думать, пробовать, проверять, изменять и т. д. — это всё достаточно хорошо описано в дневнике. Если же использовать подпрограммы, то почти весь процесс составления программ становится рутинным. Нужно на словах придумать, что делать (дойти до стены, повернуть, опять дойти до стены и остановится) — это интересно. Но потом нужно лезть в тетрадку, читать, что делает какая программа, чтобы найти нужную. (Чтение, конечно можно оставить Пете — он хорошо читает — но тогда я оказываюсь вообще ни при чём.) Вместо того, чтобы брать готовый квадратик, нужно ещё писать номер. После этого всего получившуюся программу нельзя ни показать кому-нибудь, ни исполнить без тетрадки. — Дима.

В заключение я задал «контрольный вопрос»: а что, по-вашему, делает вот такая программа (рис. 122)?



Рис. 122. Только что написанная нами программа получает номер 5.


Мальчики бросились смотреть в тетрадь, но в ней оказалось всего четыре программы, а пятой не было. Тогда я спросил:

— А как вы думаете, какую программу я запишу туда следующей, под номером 5?

Тут все догадались, что это будет та же самая программа, заводящая робота в угол, которую теперь, таким образом, можно обозначить совсем просто.

Чтение. Депман — половина четвёртой главы.


Занятие 73. Нечётные числа и квадраты

17 ноября 1983 года (четверг). 1800-1900 (1 час). Дима, Петя, Женя.

Задание 1. Римские цифры. В прошлый раз в книжке Депмана мы читали про римские цифры. Поэтому на этом занятии я предложил ребятам записывать этими цифрами разные числа. Мальчики (и я вместе с ними) по очереди придумывали разные числа и записывали их, например,

2 498 = MMCDXCVIII.

Задание 2. Устные задачи. Ещё несколько околошкольных задач из книжки Труднева.

Задание 3. Нечётные числа и квадраты. Этой темой я пытался начать заниматься ещё с самого первого занятия этой осенью, но всё не хватало времени. В идеале я бы хотел, чтобы сейчас каждое занятие состояло из 4-х частей: устных задач, программирования, последовательностей чисел и чтения Депмана. Однако никогда мне не удавалось уместить в одно занятие все четыре темы. Но на этот раз я не успел придумать хорошую задачу по программированию, и поэтому нашлось время для занятий числовыми последовательностями. Сначала я спросил у ребят, какие числа они знают. Они не поняли вопроса. Тогда я подсказал:

— Ну, чётные…

Тут же вспомнили: нечётные, простые… Оказалось, что не все помнят, что такое простые числа; поговорили об этом. Потом я спросил, помнят ли они, что такое квадратные числа. Помнили, но смутно. Мы стали выкладывать квадрат из маленьких пластмассовых кубиков и получающиеся числа записывали. После числа 16 я попросил следующее число назвать устно. Петя сказал, что нужно к каждой стороне добавить по 4 кубика — только он колебался, к двум сторонам их следует добавить или к четырём. Я показал, что получится: квадрат без клеточки (рис. 123).



Рис. 123. Чтобы из квадрата 4x4 получить квадрат 5x5, добавляем к нему две полоски длины 4. Однако то, что получилось — это ещё не совсем квадрат: надо добавить ещё один кубик.


Тут Дима сообразил, что к 16 следует добавлять не 8, а 9, и сказал ответ: 25. К 25 он уже сразу прибавил правильное число: 11 — и получил 36. Так мы, добавляя последовательно 13, 15, 17, 19, и добрались до ста.

Очень забавно, что ту закономерность, к которой я их вёл — что сумма нечётных чисел равна квадрату — ребята угадали с самого начала; зато они никак не могли догадаться до того, что мне казалось самоочевидным: что квадрат можно вычислить как произведение 4∙4, 5∙5 и т. п. Перед нами лежал квадрат 5 х 5, и я всё спрашивал, как можно подсчитать количество кубиков в нём, а дети всё пересчитывали их разными зигзагами и спиралями, и никак не могли догадаться, что можно взять пять раз по пять. Лишь с большим трудом, упрёками-намёками, мне удалось подсказать им эту идею. Я стал спрашивать, чему равно 6∙6, 7∙7 и т. д., но они уже не вычисляли, а сразу говорили ответ, глядя в свои записи. Их вера в закономерность незыблема. В заключение я задал им на дом такую задачу: найти сумму 1 + 3 + 5 + 7 + … + 99. Петя с Женей только хихикали в ответ и говорили:

— О-ой, девяносто девять!

Дима отнёсся к задаче более серьёзно и сказал:

— Я похожую задачу уже решал, но не помню, как…

Потом, когда все уже разошлись, он вспомнил, что нужно складывать крайние члены — и тогда каждый раз получится 100: 1 + 99 = 100, 3 + 97 = 100, Однако поначалу он ошибся, назвав ответ 5 000. Я сказал:

— Неправильно.

Некоторое время (минут пять) Дима приставал ко мне, что нет, всё-таки правильно. Потом вдруг догадался:

— А-а, здесь будет не пятьдесят раз по сто, а в два раза меньше!

И тут же выдал ответ: 2 500.

Через несколько дней Дима сам предложил вычислить сумму нечётных чисел от 1 до 199 и получил правильный ответ: 10 000. Я предложил ему досчитать до 999. Он слегка испугался, но стал считать. Деля 500 пополам, он ошибся и получил 270, так что его первоначальный ответ был 270 000. Я сказал:

— Неправильно.

И он исправился. Характерно, что его метод не совпадает с тем, на который я пытался натолкнуть ребят во время занятия, т. е. он вычисляет не квадрат. Более точно: я имел в виду для вычисления суммы 1 + 3 +… + (2n — 1) использовать формулу n2, а Дима вместо этого использует формулу 2n.

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

Дима обдумал моё утверждение и поразил меня совершенно нетривиальным замечанием:

— Твой метод лучше, потому что мой годится не для всех чисел, а только для тех, которые делятся на 4.

(Имеется в виду, что 2n должно делиться на 4.)


Занятие 74. Геометрия чисел

24 ноября 1983 года (четверг). 1800-1900 (1 час). Дима, Петя, Женя.

Задание 1. Фокус — лишняя клетка.

Я показал ребятам известный фокус с появлением лишней клетки. В этом фокусе квадрат размером 8x8 (или «шахматная доска») разрезается на 4 части: два треугольника и два четырёхугольника, и из них складывается прямоугольник 5x13 (рис. 124).



Рис. 124. Квадрат площади 8∙8 = 64 разрезается на части, и из них складывается прямоугольник площади 5∙13 = 65. Откуда взялась лишняя клетка?


Все операции мы производили физически, т. е. рисовали на бумаге, разрезали, перекладывали и т. п. Попутно обсудили множество полезных вещей: что такое квадратный сантиметр, и что площадь комнаты 8 см х 8 см будет не 8 см2, а 64 см2 (или, как пытались сказать ребята, «квадратный восьмисантиметр») и т. п. Видимо, представление о площади уже начинает у них складываться: хотя они и не понимали поначалу, о чём идёт речь (когда я стал говорить про площадь) и не догадывались, что площадь комнаты получается произведением сторон, но всё же появлению лишней клетки очень удивились. Секрета я им, конечно, не раскрыл.

Я думал, что мы просто где-то ошиблись в подсчёте и много раз пересчитывал разными способами, но ничего не помогало. — Дима.

Очень смешной был момент, когда Дима принялся подсчитывать количество клеток на шахматной доске. Почему-то наиболее естественный способ счёта, полосками по 8 клеток, ему в голову не пришёл. Сначала он стал считать по спирали (рис. 125); естественно, после нескольких витков он сбился, пошёл не на ту линию. Петя ему на это указал, возник спор, и в итоге оба забыли, куда двигаться дальше и сколько клеток уже сочтено.



Рис. 125. Идя по спирали, конечно, можно сосчитать количество клеток на шахматной доске, но очень легко сбиться.


Тогда Дима выбрал другой способ счёта — «углами» (рис. 126).



Рис. 126. Этот способ всё-таки немножко по-лучше, хотя и он не самый простой.


— В первом уголке, — сказал он, — 16 клеток (два раза по 8), во втором — два раза по семь и т. д.

Я попытался довести до конца с ним это решение, чтобы получить в итоге 16 + 14 + 12 +… + 4 + 2 = 72 клетки (хотя в конце уже становится очевидно, что вместо 4 должно идти 3, а вместо 2–1), но тут он сам заметил ошибку. Далее, идя по нечётным числам, т. е. рассматривая сумму 15 + 13 + 11 +…, мы вспомнили, что таким образом на прошлом занятии получили квадратные числа, и, достав один из листков, нашли на нём число 64. Потом всё же получили этот ответ последовательным удвоением: 8∙2=16, 16∙2=32, 32∙2= = 64 (при этом Дима показывал на доске две полоски, затем полдоски, и в итоге всю доску).

Задание 2. Римские цифры. Записали ещё несколько чисел римскими цифрами.

Чтение. Дочитали до конца главу Депмана, в середине которой остановились на позапрошлом занятии. В частности, прочитали про систему записи чисел у майя. Я вот думаю: порешать на эту тему несколько задач в следующий раз, или это уж чрезмерная экзотика?


Занятие 75. Об индейцах майя

5 декабря 1983 года (понедельник). 1700-1810 (1 час 10 мин.). Дима, Петя, Женя.

Задание 1. Сумма нечётных чисел.

Я сказал мальчикам, что задачу о сложении всех нечётных чисел от 1 до 99 Дима решил, и предложил Диме рассказать решение.

К моему огорчению, Дима понёс какую-то совершеннейшую ахинею. Он стал говорить так:

— Нужно прибавить 1 — получится сто — и поделить на 4 — а потом опять умножить на 100 — и получится 2 500.

Естественно, никто ничего не понял. Я стал добиваться объяснений: почему то, почему сё? Он сказал, что он это уже забыл. Потом сказал:

— Ну, дай мне бумагу. Вот, берём 199…

Я понял, что пора его прервать, и стал объяснять сам: складываем 1 + 99, затем 3 + 97, затем 5 + 95 и т. д, каждый раз получаем 100… Мальчики тупо смотрят на меня: видно, что это не подсказывает им никакой идеи.

— Значит, если мы подсчитаем, сколько там было сотен, то и узнаем ответ!

— Ой-ой-ой, как это?

— Ты неправильно объясняешь, — вмешивается Дима. — Нужно поделить на 4 и…

— Но почему, почему поделить на 4, ты можешь мне объяснить?!

— Потому что когда мы складывали все числа, тогда я делил на два; получалось 5 000.

— 5 000?! Вот и неправильно!

— Как это неправильно?

— Ничего не понимаю, — заявляют хором бедные Петя и Женя.

Вот так мы и возились полчаса, и я с большим трудом втолковал решение Пете. Женя, по-моему, так ничего и не понял, а только хихикал, фыркал, фукал и говорил:

— Ой, я опять запутался.

А с Димой мы чуть не поругались, так как лившийся из него поток слов никак не удавалось остановить. Неожиданное испытание.

Просто поразительно, насколько умение связно излагать свои идеи находится выше уровнем по сравнению с умением эти идеи открывать.

За пару дней до занятия папа предупредил меня, что попросит рассказать моё решение на кружке. Я немного испугался: на самом деле каждую задачу типа «сложить все числа от 1 до 100» мне приходилось решать заново. Я знал общий принцип: нужно сложить первое число с последним, второе с предпоследним и т. д. Но дальше приходилось напряжённо думать: 0 + 100 = 100, 1 + 99 = 100, 2 + 98 = 100… Чем кончится этот ряд? Сколько в результате получится сотен? Одним словом, я решил подготовиться и вывел такое правило (на примере суммы 1 + 3 + 5 +. + 99):

(а) Прибавить 1 к 99. Получится 100.

(б) Поделить 100 на 4. Получится 25: это число сотен, которые надо складывать.

(в) Умножить 25 на 100. Это и будет ответом. Аналогичное правило я придумал и для суммы 1 + 2 +… + 100, да только неверно. После этого я ждал кружка, уже не боясь ошибиться… — Дима.

Индейцы майя. Вторая половина занятия была не столько математическая, сколько историческая. Мы обсудили, почему жители Америки назывались индейцами, проследили по глобусу путь Колумба и Магеллана, потом посмотрели картинки в книгах Кинжалова «Культура древних майя» и Ч. Галленкампа «Майя: загадка исчезнувшей цивилизации» — разные дворцы, пирамиды и проч. Потом в этих же двух книгах, а также в книгах И. Фридриха «История письма» и И. Гельба «Опыт изучения письма» посмотрели образцы рукописей майя. Я рассказал, как были разрушены все эти дворцы, сожжены рукописи, что сейчас их осталось всего четыре, и как поэтому трудно было расшифровать письменность майя. Рассказал, наконец, как в расшифровке помогли вычислительные машины (связав это с нашими занятиями шифрами и объяснив на этом примере, как могла бы помочь вычислительная машина).

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

Следует отметить, что мальчики пока не уловили общего принципа записи чисел по системе майя, так что этим надо будет позаниматься ещё.

Картинки — фракталы. В заключение мы рассматривали картинки из потрясающе красивой книги: В. В. Mandelbrot «The Fractal Geometry of Nature». Сначала я рассказал мальчикам о том, что совсем близко от нас, в 17-м микрорайоне Ясенева живёт великий математик Владимир Игоревич Арнольд, которому эту книгу подарил автор. Арнольд дал её посмотреть Мише Шубину, тот — мне, а я — им (ребятам). Потом сказал, что вычислительные машины умеют не только считать и расшифровывать древние рукописи, но и рисовать. После этого мы рассматривали картинки — многочисленные примеры фракталов из книги.

Игры по дороге в школу. Сложилась такая традиция, что, когда я провожаю мальчиков (Диму и Петю) в школу, мы играем в разные математические игры. Одну игру придумал сам Дима: он называет три числа и ещё три числа, например: 2, 3, 5 и 7, 1, 4; требуется придумать такие операции над первой тройкой и над второй, чтобы получить одинаковый результат (в нашем примере (3 + 5):2 = 7 + 1 + 4). Потом партнёры меняются местами — второй предлагает числа, а первый подбирает операции. В эту игру мальчики начали играть без меня, так что я о ней узнал только на третий день её существования. Для второй игры отправной точкой послужила моя задача: «Петя и Дима задумали одно и то же число. Петя поделил его на 2 и отнял 3, а Дима, наоборот, поделил на 3 и отнял 2. В результате они получили одно и то же число. Какое число было задумано?». Теперь мальчики придумывают бесчисленные модификации этой задачи. Вот, например, одна, придуманная Димой: «Я задумал число, поделил на 2, потом прибавил 15 и получил задуманное число. Что я задумал?».

Между прочим, в процессе решения мы обсуждаем вопрос о том, чему равны произведения 2∙0, (—1)∙(— 1),(1/2)∙(1/2).

В первых двух случаях я привёл ребят к ответу наводящими вопросами, а в третьем случае Дима догадался до результата сам, объяснив это так:

— Если полбуханки хлеба взять полраза, то получится четверть буханки.


Занятие 76. Всё когда-нибудь кончается

12 декабря 1983 года (понедельник). 1700-1800 (1 час). Дима, Петя, Женя.

Задание 1. Задачи №№ 12, 13 из книги В. П. Труднева «Считай, смекай, отгадывай». Перед задачей № 14 мы остановились, так как в ней речь идёт о делении с остатком, и мы даже разобрали вопрос о том, какой самый большой остаток может получиться при делении на 4.

Между прочим, оказалось, что Дима определяет остаток от деления 19 на 4 так: 19 на 2 не делится — получаем остаток 1; делим 18 на 2, получается 9; 9 на 2 тоже не делится — получаем в остатке ещё 1; значит, остаток равен 2. Он был очень удивлён, что получается по-настоящему не 2, а 3.

Задание 2. Суммирование степеней двойки. Сначала я рассказал мальчикам легенду об изобретателе шахмат, о том, как он попросил в награду дать ему за первую клетку доски одно пшеничное зёрнышко, а за каждую следующую — вдвое больше, чем за предыдущую, и что из этого вышло. Потом мы вычисляли и записывали степени двойки. Потом суммировали их, и каждый результат записывали под соответствующим числом (рис. 127).



Рис. 127. В верхнем ряду — степени двойки, в нижнем — их суммы. Видно, что сумма нескольких степеней двойки равна следующей степени минус 1.


Потом я предложил ребятам угадать закономерность. Первый это сделал и объяснил Петя. Следующие несколько сумм (после 511) мы записали, уже не считая. Дима вызвался прямо не сходя с места считать дальше, до 264. Мне удалось его остановить.

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

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

Задание 3. Числа майя. На этот раз я не стал делать так, чтобы мальчики сами по очереди придумывали числа, а называл числа сам, причём шёл почти подряд по натуральному ряду. Дети усвоили систему лучше, чем в первый раз, но всё же опять не до конца. Между прочим, мы обнаружили неоднозначность в записи чисел. Например, числа 105 и 200, согласно принятой системе, должны записываться одинаково. Возможно, что для записи числа 105 верхнюю палочку нужно рисовать на большем расстоянии от нижней — но это только моя гипотеза (впрочем, мальчики выдвинули такую же).

Индейцы майя записывали числа следующим образом[40]. Единица обозначалась жирной точкой; 2 — две точки, 3 — три точки, 4 — четыре точки. Далее, число 5 обозначалось горизонтальной чертой; 10 — две черты; а, скажем, 13 — две черты и над ними три точки. Наконец, для числа 20 было довольно сложное обозначение: точка, а под ней — человеческий глаз (мы с детьми рисовали просто овал). Глаз вообще исполнял роль нашего нуля; только увеличивал он число не в 10 раз, а в 20. Число, а под ним глаз, означало: взять столько раз по 20. Число, а под ним два глаза — взять столько раз по 400. Вот теперь и спрашивается: глаз и над ним две палочки — это что: 10 раз по 20 или 5 раз по 20 плюс ещё 5 (рис. 128)?



Рис. 128. Запись чисел по системе майя. Обозначения для чисел 200 и 105 — гипотетические: разъяснений на этот счёт мы ни в каких книгах не нашли.


В этих упражнениях, так же как и в упражнениях на римские цифры, Петя опережает Диму.

Чтение. Начали читать главу из книги Депмана, посвящённую Древнему Египту. Глава большая, так что мы не дошли даже до половины. Попутно я им рассказывал про египетские пирамиды, про семь чудес света и т. п. Места, касающиеся дробей, дети не поняли. Заодно я упомянул про расшифровку Ф. Шампольоном египетской письменности, и про то, насколько его задача была труднее моей, — я ведь знал, на каком языке написано письмо, и, кроме того, расшифровывал буквы, а не иероглифы. Впрочем, исторический экскурс в следующий раз полезно расширить и показать побольше картинок про Египет.


Заключение

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

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

13 декабря 1983 года.

Загрузка...