Урок 13. Робот. Команды для Робота. Программа для Робота

План урока

      1. Работа с листами определений «Робот. Команды для Робота», «Программа для Робота».
      2. Решение компьютерных задач 331–335.
      3. Решение обязательных бумажных задач 36, 37, 38.
      4. Решение необязательных бумажных задач 41, 43.

Работа с листами определений «Робот. Команды для Робота», «Программа для Робота»

В курсе третьего класса мы знакомим учащихся с исполнителем Робот. Исполнитель – это объект, который может выполнять определенные команды. Используя язык команд, мы можем управлять действиями Робота. Поскольку это наше первое соприкосновение с программированием, язык Робота (те команды, которые он «понимает») очень ограничен.

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

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


Программа для Робота


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

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

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

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

Задача 332. Задача аналогичная предыдущей. Ее отличие лишь в том, что программа существенно длиннее, поэтому попросите ребят следить за Роботом в процессе выполнения программы очень внимательно.

Задача 333. Вы, конечно, понимаете, что компьютерные задачи, подобные двум предыдущим ребята будут решать совсем не долго. Как только дети научатся выполнять программы для Робота на бумаге, необходимость в таких задачах полностью отпадет. Однако наш новый электронный инструмент, который позволяет запускать Робота, поможет нам и при решении содержательно более сложных задач. Именно к таким задачам и относится данная задача. До таких бумажных задач ребята смогут добраться еще не скоро, ведь для их решения понадобится либо полный перебор клеток поля (что на бумаге долго и технически сложно), либо анализ программы для Робота (к этому дети пока не готовы). В компьютерной задаче все гораздо проще – можно просто запустить Робота из каждой клетки поля и посмотреть, что получится. Это не займет много времени и не отнимет много сил. Конечно, после каждого нового «запуска» Робота поле необходимо очищать. Клетки поля лучше перебирать не как попало, а по некоторой системе (чтобы не запускать Робота дважды из одной клетки и не пропускать клетки). Например, можно перебирать клетки слева направо и сверху вниз. Как только ребенку встретилась клетка, из которой можно выполнить данную программу, он останавливает перебор и закрашивает такую клетку в ответе. Данную программу, оказывается, Робот может выполнить и не сломаться только из нижнего правого угла поля.

Задача 334. В этой задаче ребята повторяют сразу несколько важных тем, в частности: «Длина цепочки», «Цепочка цепочек», «Алфавитный порядок». В этой задаче дети будут работать с цепочкой цепочек, бусинами которой являются слова. На первый взгляд может показаться, что эти слова стоят в алфавитном порядке, но в некоторых местах этот порядок все же нарушается, поэтому последнее утверждение будет ложным.

Задача 335. Необязательная. Это задача больше развлекательная, ее можно предложить практически любому ребенку. Тем не менее, она позволяет детям повторить такие важные понятия нашего курса как «есть/нет» и «одинаковые фигурки». При поиске двух одинаковых фигурок дети, кроме всего прочего, должны помнить, что симметричные фигурки в нашем курсе считаются разными.

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

Задачи 36 и 37. Это задачи на работу с новыми определениями. Важно отработать привычку правильно действовать в подобных задачах. Обратите внимание на следующие моменты. Работа начинается с того, что раскраска клеток в начальной позиции переносится на поле Робота, которое должно стать позицией после выполнения программы. Жирную точку пока не ставим, так как положение Робота собираемся менять. В начальной позиции закрашена только одна клетка, но, как следует из листа определения, возможна и более сложная предварительная раскраска. Переходим к работе с программой. Ее необходимо выполнять шаг за шагом по следующей схеме: читаем команду, перемещаемся на одну клетку в заданном направлении, закрашиваем клетку, в которую попал Робот. В клетке, в которой Робот оказывается после выполнения последней команды, ставим жирную точку. При такой работе ошибки практически исключаются. Остается одна проблема – если ученик отвлечется в процессе выполнения программы, то ему придется начать работу заново, так как он потеряет последнюю выполненную команду. Чтобы исключить такую возможность, посоветуйте помечать в программе каждую команду после ее выполнения.
Ответы: см. рисунок.

Задача 38. Программа не только длиннее, но и затейливее. Выше мы упоминали о том, что возможно «соскальзывание» с программы, т. е. утеря учащимся последней выполняемой команды, и обсуждали, как этого избежать. Возможно и другое – соскальзывание с текущего положения Робота, т. е. утеря той клетки, где он находится после выполнения той или иной команды. В таких задачах, как 36 и 37, где Робот не проходит дважды по одним клеткам и программа достаточно проста, такого обычно не происходит. Однако, если Робот движется с возвращениями, как в данной и во многих последующих задачах, это вполне вероятно. Нам необходимо иметь рецепт и на этот случай. Идея очевидна – отмечать текущее положение Робота, но вот как воплотить ее в жизнь? Если на том же поле, на котором заштриховываем клетки, еще помечать текущее положение, то может возникнуть неразбериха и грязь, ведь после каждого шага предыдущее текущее положение придется стирать. Лучше делать это на другом поле, например на запасном поле с листа вырезания. Тогда алгоритм пошагового выполнения программы несколько усложнится и будет выглядеть так:

  1. читаем очередную команду;
  2. заштриховываем соответствующую клетку на поле, где должна быть позиция после выполнения программы;
  3. помечаем точкой новое положение Робота на запасном поле, стирая при этом предыдущую пометку;
  4. отмечаем выполненную команду в программе.

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


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

Задача 41. Задача может занять много времени у медлительных детей, поэтому мы не стали делать ее обязательной. Таблица большая – 4 на 5 клеток, и есть вероятность, что кто-то посмотрит число не в той клетке или раскрасит не тот фрукт. Чтобы этого не случилось, посоветуйте ребятам выработать определенную систему раскрашивания. Например, можно раскрашивать фрукты по строчкам (или по столбцам) таблицы. Полезно сразу помечать ту клетку в таблице, которую уже использовали. Берем первую клетку первой строки таблицы, в ней стоит число 2, значит, в мешке должны быть две красные вишни. Раскрашиваем две любые вишни в мешке красным и ставим в клетке галочку, означающую, что эту информацию уже использовали. Так можно продолжать работать до тех пор, пока все клетки в таблице не будут помечены.

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

Урок 14. Робот. Команды для Робота. Программа для Робота

План урока

      1. Решение компьютерных задач 336–340.
      2. Решение обязательных бумажных задач 39, 40, 44.
      3. Решение необязательных бумажных задач 45, 47.

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

Задача 336. Задача аналогичная компьютерной задаче 333 (см. комментарии к задаче 333).

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

Задача 338. Задача на повторение понятий «раньше/позже» для бусин цепочки. Здесь неявно всплывает проблема бессмысленности утверждений, поскольку среди данных слов есть и такие, для которых одно из данных утверждений не имеет смысла. В результате мы находим всего три слова, для которых данное утверждение истинно.

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

Задача 340. Задача на построение цепочки по описанию, включающему разнообразную цепочечную лексику. В данном случае подходят ровно две цепочки, которые схожи, с точностью до перестановки двух котов. Действительно, ставим второй и последней фигуркой разных котов. Перед рыбкой должен быть кот, причем явно не последний, а второй кот. Значит рыбку ставим третьей. Поскольку в нашей цепочке всего 5 фигурок и все фигурки разные, то на оставшихся местах ставим бабочку и белку, причем белка должна идти раньше.

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

Задача 39. Ответ: см. рисунок. Три цвета помечены белым, серым и черным. Каким цветам они соответствуют, будет зависеть от того, как именно будут расположены бусины мешка К на первом уровне.

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


Задача 44. Это первое задание, где, имея позицию Робота после выполнения программы, требуется заполнить пропуски в самой программе. Основная идея, работающая при решении подобных задач, проста – мы не можем писать такие команды, чтобы Робот попадал в незакрашенные после выполнения программы клетки.
Ответ: пропущенные команды определяются однозначно: вниз, влево, вверх, вправо.

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

Задача 45. Задача на повторение алгоритма подсчета областей картинки. Видим, что буква Р закрашена черным цветом. На листе определений в первом классе мы договорились не считать черный цвет как отдельную область (например, границу или какие-то другие линии). Поэтому мы не считаем букву Р отдельной областью.
Ответ: в этой картинке 5 областей: внутренность буквы С (включая внутренность буквы Р), внутренность буквы Т и три области фона.

Задача 47. Предоставьте ребятам самостоятельно найти для себя подсказку: латинский алфавит есть в учебнике в двух местах: на второй странице обложки и в задаче 17. Формирование умения ориентировки и поиска необходимой информации – одна из основных задач курса, даже если эти операции ребята пока учатся выполнять в пределах одной части учебника.
Ответ: истинные утверждения – 3-е и 5-е, остальные ложные.

Урок 15. Робот. Команды для Робота. Программа для Робота

План урока

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

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

Задача 341. Аналогичную бумажную задачу ребята уже решали (см. комментарии к задаче 44). Отличие данной задачи лишь в том, что электронный инструмент позволяет детям сделать проверку решения легко и быстро.
Итак, вначале Робот двигается на две клетки влево (закрашивая их). Куда он может двинуться следующей командой? Только вверх или вправо (иначе он выйдет за пределы закрашенной фигуры или наткнется на стену). Разберем оба случая. Если мы выбираем команду «вправо», то при выборе любых команд в дальнейшем решение у нас не выстраивается (некоторые клетки оказываются незакрашенными). Поэтому выбираем команду «вверх». После этого выполняем за Робота команды «вправо» и «вниз» и дальше снова мы должны найти пропущенную команду. Здесь ситуация еще более сложная. Теоретически Робот может выполнить любую из четырех команд, поэтому нужно разбирать все 4 случая. Однако, наиболее сообразительные дети заметят, что у Робота в программе осталось 5 невыполненных команд, а на поле 4 незакрашенных клетки. Учитывая то, что Робот в конце должен вернуться в уже закрашенную клетку, становится ясно, что дальше Робот не должен возвращаться в закрашенные клетки, а должен проходить по незакрашенным. Поэтому выбираем команду «вниз». Дальше решение достраивается быстро.

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

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

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

Задача 345. Необязательная. Хотя эта задача на построение дерева по описанию, нетрудно понять, что она в большей степени математическая. Действительно, наиболее сложным шагом в этой задаче является определение того, сколько монет каждого достоинства должно быть в дереве. Само построение дерева после этого не будет представлять никаких проблем. Определить число монет каждого достоинства можно при помощи полного перебора. Ясно, что в любом дереве должна быть хотя бы одна корневая бусина и хотя бы два листа. Поэтому перебор можно вести по пятирублевым или по двухрублевым монетам. Мы выбираем пятирублевые монеты, поскольку перебор в этом случае будет меньше. Итак, пусть в дереве 2 пятирублевых монеты. Видим, что сумму в 43 рубля 10 монетами никак не наберешь. Даже если использовать монеты наибольшего достоинства (по 2 рубля), то их понадобиться не меньше 16. Значит надо брать пятирублевых монет больше. Можно добавлять монеты по одной, а можно сразу по несколько и смотреть что получится. В результате получаем, что в нашем дереве 8 пятирублевых монет, 1 двухрублевая и 1 рублевая. Подходящих деревьев в этой задаче оказывается довольно много. У всех таких деревьев одна корневая бусина (монета в 2 рубля) и пятирублевые листья (которых может быть от двух до восьми). Монета в 1 рубль не будет листом. Теоретически число уровней в этой задаче может быть от трех до девяти. Однако у детей не получится в этой задаче (как и в большинстве компьютерных задач) сделать больше четырех уровней. 

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

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


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

Задача 48. Эта задача сложнее предыдущих задач о Роботе. Робот мог начать выполнять программу из любой закрашенной клетки поля, включая ту, на которой он закончил свой путь. Поэтому если решать задачу «в лоб», то придется проверять каждую программу из всех стартовых позиций. Для этого нужно будет перебрать 45 вариантов (9 программ на 5 возможных начальных позиций). Подумаем, как можно избежать такого громоздкого перебора.

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

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

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

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

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

Задача 51. Задача на повторение лексики, связанной с деревьями, а также на работу с утверждениями, не имеющими смысла в какой-то ситуации. На листах определений на с. 4–5 эта тема обсуждается и приводятся примеры утверждений, не имеющих смысла для данных деревьев. Напомните об этом тем детям, которые примутся за решение задачи.
Какие рассуждения могут помочь при решении задачи? Рассмотрим третье утверждение: «В этом дереве предыдущая буква перед Т – буква О». Для дерева L оно не имеет смысла, так как буква Т в нем не одна, а для деревьев R, S, Q оно не имеет смысла, так как буквы Т в них нет. В дереве N буква Т есть, причем одна. Кроме того, есть предыдущая бусина перед Т, причем, естественно, тоже одна. Эта бусина – буква О, поэтому для дерева N третье утверждение истинно. Аналогичные рассуждения подойдут и для четвертого утверждения.
Деревья устроены из знакомых учащимся слов, но некоторые слова они или не знают. Если кто-то не знает значения слова, попросите найти это слово в толковом словаре.
Ответ: