Продолжим наше знакомство с RoboZZle – интересным ресурсом, который призван сделать обучение учащихся программированию более интересным и нестандартным за счет использования элементов игровых технологий.
Для работы с ресурсом достаточно перейти по ссылке robozzle.com/beta/, или скачать соответствующее приложение из магазина приложений для вашего мобильного устройства..
Основной целью игры является сбор исполнителем звезд с помощью программного кода.
В прошлый раз мы познакомились с некоторыми командами исполнителя и рассмотрели систему задач, которую можно использовать для “плавного” знакомства учащихся с ресурсом RoboZZle.
В частности были рассмотрены особенности построения последовательных алгоритмов, алгоритмов с использованием вспомогательных функций, а также рекурсия.
Прожим наше знакомство с системой команд исполнителя и рассмотрим, как можно использовать ветвление при решении заданий.
Для построения ветвления используются специальные команды:
Используя их, мы фактически проверяем условие “Находится ли исполнитель на ячейке определенного цвета” и можем выполнить какое-либо действие при истинности этого условия.
Например, ветвление нужно использовать для решения такой задачи:
Во-первых, поскольку функция F1 имеет место фактически только для трех блоков, то в решении должна использоваться рекурсия.
Во-вторых, нетрудно заметить, что на синей ячейке исполнитель должен повернуть направо.
Потому решение может быть таким:
Если прочитать этот алгоритм в словесной форме, то будут следующие указания исполнителю:
- ЕСЛИ видишь синий ТО поверни направо.
- Движение вперед на одну ячейку.
- Начни все сначала за счет рекурсивного вызова функции.
И, хотя рассматриваемую нами задачу можно решить еще одним способом, а именно:
необходимо четко следить за порядком команд, чтобы получить правильный результат.
К примеру, решая такую задачу:
последовательность команд
является неправильной и не позволит исполнителю собрать все звезды. Для решения необходимо воспользоваться такой последовательностью команд:
То есть к решению каждой задачи необходимо подходить индивидуально, четко все проанализировав!
Последняя команда в системе команд исполнителя: перекраска ячеек в выбранный цвет
Например, при решении задачи
робот очевидно должен повернуть налево на зеленой ячейке. Нетрудно убедиться, что в таком случае произойдет “зацикливание” действий исполнителя, и он будет постоянно двигаться по сторонам квадрата. Чтобы этого не случилось – кроме поворота налево, необходимо дополнительно перекрасить ячейку в другой цвет. В итоге, будем иметь такое решение:
Традиционно, мы предлагаем вашему вниманию блок задач, которые, по нашему мнению, можно использовать для знакомства учащихся со структурой ветвления.
ЗАДАНИЯ. УРОВЕНЬ 2:
В этом и предыдущем обзорах мы познакомились с основными возможностями сервиса RoboZZle. Конечно же, все не ограничивается рассмотренными примерами и задачами – на ресурсе есть очень много задач разного уровня сложности и интереса.
Кроме того, зарегистрировавшись на сервисе, пользователи имеют возможность “померяться силами” с другими пользователями в решении задач! Если же удастся решить более 40 задач, то можно даже создавать свои задачи, а это уже другой уровень!