понедельник, 29 сентября 2014 г.

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

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

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

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

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

Как видите, компьютерные задачи этого урока на новую тему существенно проще бумажных (именно поэтому мы предлагаем решать компьютерные задачи перед бумажными). В них выполнение программы происходит автоматически. Конечно, содержательная работа ребенка над задачей при этом минимальна, но зато подобные задачи позволяют ребятам следить за пошаговым выполнением программы Роботом, что на первых уроках оказывается очень полезным (позднее, конечно, такие задачи встречаться уже не будут).
Задача 331. Разница в решении бумажной и компьютерной задачи на выполнение программы для Робота очень существенна. В компьютерной задаче ребенок просто «запускает» Робота, то есть дает ему задание выполнить данную программу. Для этого ребенок устанавливает Робота на нужную клетку поля и нажимает кнопку «Выполнить». После этого учащийся наблюдает, как Робот пошагово выполняет данную программу. Это безусловно полезный опыт и хорошая подготовка к решению бумажных задач, ведь в бумажных задачах ребенку все те же действия придется выполнять самому. В бумажных задачах программу за Робота фактически выполняют дети, соблюдая все правила, описанные на листах определений.
В решении компьютерной задачи такого типа учащийся может ошибиться лишь в одном – поставить Робота не на ту клетку поля. В таком случае необходимо нажать кнопку «Начать сначала», чтобы очистить поле и запустить Робота еще раз.
В данной задаче программа пока небольшая, чтобы ребенок смог проследить выполнение каждой команды и не сбился.
Задача 332. Задача аналогичная предыдущей. Ее отличие лишь в том, что программа существенно длиннее, поэтому попросите ребят следить за Роботом в процессе выполнения программы очень внимательно.
Задача 333. Вы, конечно, понимаете, что компьютерные задачи, подобные двум предыдущим ребята будут решать совсем не долго. Как только дети научатся выполнять программы для Робота на бумаге, необходимость в таких задачах полностью отпадет. Однако наш новый электронный инструмент, который позволяет запускать Робота, поможет нам и при решении содержательно более сложных задач. Именно к таким задачам и относится данная задача. До таких бумажных задач ребята смогут добраться еще не скоро, ведь для их решения понадобится либо полный перебор клеток поля (что на бумаге долго и технически сложно), либо анализ программы для Робота (к этому дети пока не готовы). В компьютерной задаче все гораздо проще – можно просто запустить Робота из каждой клетки поля и посмотреть, что получится. Это не займет много времени и не отнимет много сил. Конечно, после каждого нового «запуска» Робота поле необходимо очищать. Клетки поля лучше перебирать не как попало, а по некоторой системе (чтобы не запускать Робота дважды из одной клетки и не пропускать клетки). Например, можно перебирать клетки слева направо и сверху вниз. Как только ребенку встретилась клетка, из которой можно выполнить данную программу, он останавливает перебор и закрашивает такую клетку в ответе. Данную программу, оказывается, Робот может выполнить и не сломаться только из нижнего правого угла поля.
Задача 334. В этой задаче ребята повторяют сразу несколько важных тем, в частности: «Длина цепочки», «Цепочка цепочек», «Алфавитный порядок». В этой задаче дети будут работать с цепочкой цепочек, бусинами которой являются слова. На первый взгляд может показаться, что эти слова стоят в алфавитном порядке, но в некоторых местах этот порядок все же нарушается, поэтому последнее утверждение будет ложным.
Задача 335. Необязательная. Это задача больше развлекательная, ее можно предложить практически любому ребенку. Тем не менее, она позволяет детям повторить такие важные понятия нашего курса как «есть/нет» и «одинаковые фигурки». При поиске двух одинаковых фигурок дети, кроме всего прочего, должны помнить, что симметричные фигурки в нашем курсе считаются разными.

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

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

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

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

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

Комментариев нет:

Отправить комментарий