Урок 44. Робот. Конструкция повторения

План урока

      1. Работа с листом определений «Робот. Конструкция повторения».
      1. Решение обязательных бумажных задач 35, 36, 37.
      2. Решение необязательных бумажных задача 39 и 41.
      3. Проект «Дневник наблюдения за погодой», подведение итогов за январь.

Лист определений «Робот. Конструкция повторения»

Важнейшим моментом в формировании человеческого мышления, языка, деятельности было выделение в окружающем мире и самом себе отдельных объектов, событий и действий и присвоение им имен. Объекты, предметы оказываются расположенными в пространстве, события и действия – во времени. В частности, возникает представление о событиях, следующих одно за другим, и о причинно-следственной связи. То же происходит и в процессе развития ребенка.

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

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

Решение обязательных бумажных задач

Задача 35. Ученики впервые встречаются с конструкцией повторения, поэтому необходимо проследить, все ли правильно понимают ее смысл. Например, стоит обсудить, зачем в конструкции нужно слово КОНЕЦ или зачем конструкция заключена в отдельную оболочку. Если у ребят возникнет затруднение, то попросите записать программу Ы без оболочек и слова КОНЕЦ и поинтересуйтесь, какие команды будет повторять Робот и сколько раз. Робот повторит все команды, следующие за строкой ПОВТОРИТЬ 3 РАЗА, и результат выполнения программы будет совершенно иным, нежели для программы Ы. Слово КОНЕЦ указывает, что команды, которые нужно повторять, закончились. Заключение конструкции в отдельную оболочку-бусину, с одной стороны, подчеркивает целостность оператора повторения (от слов ПОВТОРИТЬ ... РАЗ до слова КОНЕЦ). С другой стороны, такая оболочка оставляет программу, содержащую конструкцию повторения, по-прежнему цепочкой – на этот раз бусинами цепочки являются как отдельные команды, так и целые конструкции. Выделение служебных слов конструкции (ПОВТОРИТЬ, КОНЕЦ) другим шрифтом несет важную смысловую нагрузку. Цель – отделить эти служебные слова от собственно команд исполнителя.

Все эти вопросы необязательно сразу обсуждать со всем классом. Возможно, кто-то из самых любопытных учеников спросит: «А зачем писать слово КОНЕЦ?»; «А зачем обводить?»; «А почему эти слова написаны более крупно, чем те?». И вам нужно быть готовым к подобным вопросам.
Ответ:

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

Задача 37. Обратите внимание на две трудности. Первая – понять условие. Самый простой способ для этого – просто начать решать задачу. Вторая трудность состоит в том, чтобы быстро и аккуратно просматривать слова в столбике и фиксировать наличие в них двух одинаковых букв. Этому помогут пометки: можно ставить точку около уже просмотренного слова и даже отмечать в нем две одинаковые буквы. Некоторая логическая тонкость может состоять в том, чтобы прекращать просмотр столбца, как только в нем найдется слово, в котором нет двух одинаковых букв.
Слова, находящиеся в мешках, знакомы детям, но кто-то может не знать или неправильно понимать значения слов «фуфайка», «деверь», «оглобли». Хорошо бы найти непонятные слова в словаре и вообще приучать ребят не пропускать в речи или тексте непонятные слова.
Ответ: условию задачи удовлетворяет средний мешок.

Решение необязательных бумажных задач

Задача 39. Ответ: второе и третье утверждения ложны, остальные – истинны.

Задача 41. Детям, которым трудно проводить рассуждения в отрыве от конкретных объектов, помогут вырезанные бусины. Одна из «работающих» здесь идей – составление цепочки из отдельных фрагментов, которые вырисовываются достаточно четко, например фрагмент А–З или У–…–Д. В решении существенно поможет метод проб и ошибок. В ходе различных экспериментов по построению искомой цепочки ученик может получить ответы на многие вопросы. Пожалуй, самый каверзный из них – это вопрос о том, какая буква должна стоять после первой стоящей в цепочке буквы У. Если на этом месте ученик задумался, то найдите ответ вместе, перебирая все возможные буквы. Например, может ли после У стоять А? Очевидно, нет, так как после А должна идти З, а вторая буква после У – Д. Аналогично после У не может стоять и З. Следующий вопрос: может ли после первой У стоять Д? Ответ на него дети могут получить в ходе экспериментов – не может. Букв Д ровно столько же, сколько и У, значит, каждая из них должна быть второй после какой-то У, а если мы поставим после первой же У букву Д, то она останется «безработной». Итак, после первой У может идти Б или другая У. Теперь закончить решение не сложно: достаточно собрать все частичные решения в одну цепочку.

Проект «Дневник наблюдения за погодой», подведение итогов за январь

Урок 45. Робот. Конструкция повторения.

План урока

      1. Решение компьютерных задач 408–412.
      2. Решение обязательных бумажных задач 38, 40, 42.
      3. Решение необязательных бумажных задач 43, 45, 48.

Решение компьютерных задач

Задача 408. Похожие задачи про Робота без конструкции повторения ребята уже решали. Поэтому, надеемся, все дети будут знать, с чего начать решение. Слабые дети, скорее всего, будут перебирать все клетки поля, выбирая наугад или рассматривая все клетки подряд. Сильные ученики, которые уже вникли в особенности новой конструкции, будут выбирать клетки сразу более осознанно. Так, при анализе программы становится ясно, что в ходе ее выполнения Роботу придется подняться на 4 клетки вверх. Поэтому есть смысл ставить Робота в начальной позиции только в последнюю или предпоследнюю строчки поля. Рассуждая аналогично, можно сделать вывод, что Робот должен начинать свой путь в крайне левом столбце поля. Поле этого у нас осталось лишь две возможные клетки поля, одна из которых (крайне левая в нижней строке) нам подходит.

Задача 409. Как и предыдущую, эту задачу кто-то из детей будет решать методом проб и ошибок, ставя в конструкцию повторения разные числа и заставляя Робота выполнить разные программы. Большинство ребят, видимо будет решать более осознанно. Для этого достаточно посчитать, сколько клеток вниз Роботу из клетки в начальной позиции нужно пройти до нижнего левого угла. Оказывается, четыре, значит, ставим 4 в программу и проверяем, что Робот действительно пришел в нужную клетку.

Задача 410. Задача на повторение темы «Все пути дерева». Аналогичные задачи детям уже встречались (см. комментарий к компьютерной задаче 403). Как и в задаче 403 здесь нужно построить по мешку путей дерево с минимальным числом бусин. Для этого бусины придется экономить, то есть не ставить на один уровень несколько одинаковых бусин, если их можно заменить одной. Например, в данном случае первые бусины всех путей одинаковые – красные круглые. Кто-то из детей сделает из этого вывод, что в дереве должна быть всего одна корневая бусина – красная круглая, но это не так. Действительно, в силу наших договоренностей одна и та же бусина не может быть одновременно и листом и не листом. Здесь же мы видим, что в одном из путей мешка Т красная круглая бусина является листом, а в остальных – нет. Это означает, что на первый уровень придется поставить две одинаковые красные круглые бусины – лист и не лист. Аналогичная ситуация встречается на втором и третьем уровнях.

Задача 411. Похожие задачи ребята уже решали не раз, поэтому предоставьте им полную свободу. В крайнем случае застопорившемуся ребенку можно предложить метод полного перебора. По ходу перебора те слова, для которых нашлась пара нужно соединять, а те, для которых не нашлась – помечать (например, галочкой). В результате получается три искомых пары слов: ГЛАВА и ВЛАГА, КАПЛИ и ЛИПКА, РОЖКИ и ЖИРОК.

Задача 412. Задача напоминает компьютерную задачу 409, только здесь в окно надо вписать не число повторений, а некоторую команду. Конечно, все 4 возможные команды можно просто перебрать, то есть решить задачу формально. Однако, не сложно понять – если из данного положения Робот должен попасть в нижний правый угол, значит он не должен в конце концов сдвинуться по горизонтали. То есть каждый его сдвиг вправо должен компенсироваться обратным сдвигом – влево. Значит недостающая команда – ВЛЕВО.

Решение обязательных бумажных задач

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

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

Задача 40. Важно не сбиться и правильно подсчитать число выполнений того или иного повторяющегося участка. Для этого, во-первых, нужно правильно подсчитать число клеток на поле по вертикали и по горизонтали, а во-вторых, сообразить, что на первую клетку каждого отрезка пути Роботу не надо шагать, он на ней уже стоит. Для проверки предлагается выполнить написанную программу на запасном поле с листа вырезания и сравнить результаты. Главное, чтобы учащиеся не отнеслись к заданию формально, просто подогнав результат под данную в условии позицию.
Данная задача, как и задача 38, не предполагает, что каждый ребенок напишет оптимальную, самую короткую программу. Достаточно, чтобы была написана какая-нибудь программа, в которой использована конструкция повторения (хотя бы один раз) и в результате выполнения которой Робот рисует нужный узор.
Ответ: вот два из возможных вариантов программы У.

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

Начать решение нужно с выполнения программы Ж. Дальнейшее решение состоит из двух этапов. Первый – убедиться с помощью рассуждений, что при выполнении программы Р Робот проходит тот же путь, что и при выполнении программы Ж. Второй – еще раз убедиться в этом, выполнив программу Р. Возможно, интереснее попросить ребят сначала выполнить программу Р, поскольку некоторым ученикам может быть скучно выполнять программу с заранее известным результатом и они отнесутся к заданию формально. Приготовьтесь к тому, что при всей простоте выполнение программы Р может вызвать вопросы из-за новой конструкции вложенного цикла. Интересно и необходимо выслушать рассуждения ребят, почему результаты выполнения программ получились одинаковыми.

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

Решение необязательных бумажных задач

Задача 43. Если ребенку потребуется помощь, начните с любого примера цепочки, склеивание которой дает нарисованную цепочку. Можно спрашивать у него, чем не подходит данная цепочка и как можно поправить дело. Постепенно выяснится, что нужно найти в нарисованной цепочке две одинаковые бусины, причем так, чтобы предыдущая бусина перед первой из этих одинаковых была такой же, как следующая бусина после второй из них. Когда это удастся, оформить решение будет уже легко.
Ответ: вот два из множества возможных решений:

Задача 45. Здесь дети встречаются со сложным случаем – неполным определением. Действительно, если определение полностью совпадает со словарным, здесь все ясно – утверждение истинно. Если определение совсем не такое, как в словаре, тоже все ясно – утверждение ложно. Самым сложным для ребят является случай, когда определение похоже на словарное, но не в точности такое же. Здесь надо серьезно разбираться, утверждение может быть истинным и ложным и даже неизвестно истинным или ложным. В данном случае, исходя из словарного определения, доха – действительно шуба. Поэтому утверждение истинно, хотя определение и неполное.

Задача 48. Задача на повторение листа определений «Перед каждой бусиной. После каждой бусины». Проще всего сначала найти в слове место для буквы О. После этого однозначно определяются места для пар К – А. На оставшееся место ставим букву Т. Получаем слово КАРТОШКА.

Урок 46. Робот. Конструкция повторения.

План урока

      1. Решение компьютерных задач 413–417.
      2. Решение обязательных бумажных задач 44, 46, 47.
      3. Решение необязательных бумажных задач 49, 50, 51.

Решение компьютерных задач

Задача 413. Задача, аналогичная компьютерной задаче 408, но здесь поле более интересной формы, да и программа позатейливей. Однако, здесь детям помогут те же методы – перебор и анализ программы (см. комментарий к задаче 408).

Задача 414. Задача похожа на компьютерную задачу 409, но здесь решать перебором не очень рационально. Проще сразу посчитать число клеток, которые Роботу необходимо закрасить в каждой строке и вписывать числа в окна наверняка. Конечно, это не полностью исключает ошибки (например, вычислительные), но существенно сокращает процесс перебора.

Задача 415. Задача на повторение листа определений «Склеивание цепочки цепочек» стандартного уровня сложности. Здесь дети имеют возможность повторить случай склеивания цепочки, содержащей пустые цепочки.

Задача 416. Для начала необходимо выделить в рисунке, который закрасил Робот три элемента, которые соответствуют трем циклам программы. Это лесенка вправо-вниз, нижний ряд поля и лесенка вправо-вверх. Теперь для каждого участка нужно посчитать число клеток и вписать числа в программу.

Задача 417. Усложненная задача, требующая некоторых рассуждений. Для начала необходимо внимательно прочитать условие задачи. Подобные формулировки мы с вами уже обсуждали (см. комментарии к бумажной задаче 67). Здесь все пути дерева должны быть словами из словарика, но не все слова из словарика должны быть путями дерева. Поэтому в ходе решения необходимо выбрать именно те слова, которые подойдут по структуре данного дерева. Например, в нашем дереве есть путь длины два, а в словарике два подходящих слова – НА и ЩИ. Какое из них нам подойдет? Как видим, первая буква этого слова – первая буква трех слов (путей) в дереве. В словаре слов на Щ два, а на Н – три. Значит, нам подходит слово НА. Теперь размещаем в этой же ветке слова НАС и НАСТ. Аналогично, ориентируясь на число путей во второй ветке, выбираем из словаря подходящие слова на одинаковую первую букву.

Решение обязательных бумажных задач

Задача 44. Необходимо выполнить программу с вложенным циклом, но, в отличие от задачи 42, результат неизвестен и его нельзя предугадать. Дети должны аккуратно выполнить программу. Трудности возникнут у ребят, которые попытаются одновременно считать количество повторений внешнего и внутреннего циклов. Посоветуйте им выполнить все команды внешнего цикла, находящиеся после записи ПОВТОРИТЬ 4 РАЗА и до записи КОНЕЦ. Когда они дойдут до слова КОНЕЦ, попросите поставить рядом с этим словом пометку (например, палочку), так как на этот момент мы выполнили команды внешнего цикла 1 раз. Аналогично можно работать и дальше. Как только около слова КОНЕЦ наберется 4 пометки, нужно остановиться. Для быстрой проверки спросите, где теперь находится Робот. После выполнения всей программы он должен оказаться в левом нижнем углу.
Ответ:

Задача 46. Задача хорошо подходит для промежуточного контроля, если вы хотите проверить, все ли усвоили материал предыдущего листа определений «Все пути дерева». Ученики должны быстро и уверенно выписывать все пути дерева, не пропуская ни одного. Лучше всего, если ученик использует при этом некоторую систему пометок. Мы советовали помечать каждый лист после того, как выписан ведущий в него путь. Хорошо также, если ученик имеет систему перебора листов (например, сверху вниз). Особое внимание необходимо обратить на детей, которые выписывают пути как попало и при этом делают ошибки.
Ответ:      МЕЛ           МОЗГ           СОМ
                  МЕЛЬ         МОЛ            СОЛО
                  МЕХ           МОСТ         СОЛЬ
                  МЕЧ           МОХ

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

Спросите детей, когда они познакомятся с условием и посмотрят на картинку, как они собираются организовать, спланировать свою программу; какие в ней будут циклы; каким участкам на рисунке они будут отвечать; сколько раз будет выполняться тот или иной отрезок в цикле. Подведите к идее, что они сами тоже могут использовать форму вложенного цикла. Для начала обсудите особенности рисунка, который нарисовал Робот, – рисунок состоит из двух одинаковых узоров. Это означает, что будет конструкция ПОВТОРИТЬ 2 РАЗА. Затем посоветуйте детально рассмотреть один из этих двух узоров и выяснить, как он организован. Он также состоит из двух, но различных частей: одна часть узора – лесенка вниз, другая – ровный вертикальный подъем вверх. Это означает, что первую часть узора задают повторяющиеся команды вправо, вниз, а вторую – повторяющаяся команда вверх. Итак, общую структуру программы выяснили: у нас будет внешняя конструкция повторения (из двух повторений) и две внутренних. Надо подсчитать, сколько будет повторений в каждой из внутренних конструкций и нужны ли какие-либо дополнительные команды, связывающие эти конструкции между собой.
Ответ: мы приводим два из возможных решений.


Решение необязательных бумажных задач

Задача 49. При решении задачи можно применить обычную тактику – перебирать все возможные пары фигурок, каждый раз проверяя, можно ли из одной фигуры сделать другую, раскрасив лишь один квадратик. Однако условие задачи подводит нас к идее, позволяющей существенно уменьшить перебор. То, что мы должны закрасить лишь в одной фигурке один квадратик, подсказывает использовать в решении число квадратиков, закрашенных в фигурках. Закрашенных квадратиков в фигурках соответственно равно 8, 6, 7, 8, 8 и 9 (нумерация фигурок слева направо и сверху вниз). Исходя из этого, мы можем или из второй фигурки сделать третью, или из третьей сделать какую-либо из трех с восьмью закрашенными квадратиками, или из одной из них сделать шестую фигурку. Вариантов стало уже не так много. Из второй фигурки третью сделать нельзя (мешает нижний ряд). Третью фигурку начинаем сравнивать по очереди с первой, четвертой и пятой и находим решение: достаточно в третьей фигурке закрасить нижний левый угол в желтый цвет.

Задача 50. Трудность состоит в том, что недостаточно анализировать только две первые буквы. Слабым детям можно посоветовать выписать все слова на карточки и разложить их в алфавитном порядке, а потом перенести с карточек в таблицу.

Задача 51. Ответ: первое утверждение ложно, второе – истинно.