Исполнитель РОБОТ. Урок 5. 15.05

Условная конструкция

Общий вид ветвления (неполная форма):

если условие то

     серия команд

всё

Общий вид ветвления (полная форма):

если условие 

       то

     серия команд_1

       иначе

       серия команд_2

всё

Создавая циклы с условием для Робота , можно использовать 10 команд проверки условий:

– 8 команд вида [слева/справа/снизу/сверху] [стена/свободно]

– 2 команды вида клетка [закрашена/чистая]

Пример 1. Робот находится в узком горизонтальном коридоре. Где-то правее робота из коридора есть выход, расположенный сверху или снизу коридора. Доведите робота до выхода из коридора.

На рисунках представлены возможная стартовая обстановка и результат.


 Вариант решения:
использовать Робот
алг Выход из коридора
нач
 нц пока сверху стена и снизу стена и справа свободно

вправо

      если сверху свободно

         то

             вверх

         иначе

                если снизу свободно

                   то

                     вниз

                все

     все

кц

кон

Пояснения к решению

Цикл с условием для продвижения вправо
сдвиг вправо

проверка, есть ли выход сверху

выход в проход сверху


проверка, есть ли выход снизу


выход в проход снизу

Пример 2. Робот находится в одной из двух клеток прямоугольного поля размером 1x2. Переведите робота в соседнюю клетку.

 Вариант решения:
использовать Робот
алг Переход в соседнюю клетку
нач
если  сверху свободно
. . то
. . . вверх
. .  иначе
. . . если снизу свободно
. . . . то
. . . . . вниз
. . . . иначе
. . . . . если справа свободно
. . . . . . то
. . . . . . . вправо
. . . . . . иначе
. . . . . . . влево
. . . . . все
. . . все
все
кон
 Пояснения к решению

проверка, можно ли пройти вверх

переход вверх

проверка, можно ли пройти вниз

переход вниз

проверка, можно ли пройти вправо

переход вправо

переход влево


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



Last modified: Friday, 15 May 2020, 1:04 AM