Хелпикс

Главная

Контакты

Случайная статья





Исполнитель «Робот». сверху свободно, снизу свободно, слева свободно, справа свободно,. ПОКА < условие > команда. Задачи



Исполнитель «Робот»

Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости: вверх вниз влево вправо

 

При выполнении этих команд РОБОТ перемещается на одну клеткусоответственно: вверх ↑, вниз ↓, влево ←, вправо →.

Четыре команды служат для проверки истинности условия отсутствиясоответствующей стены у той клетки, где находится РОБОТ:

сверху свободно, снизу свободно, слева свободно, справа свободно,

Цикл  

ПОКА < условие > команда

выполняется, пока условие истинно, иначе происходит переход на следующую строку.

В конструкции

ЕСЛИ < условие>

ТО команда

КОНЕЦ ЕСЛИ

выполняется команда только, если условие истинно. В противномслучае ничего не происходит.

В конструкциях ПОКА и ЕСЛИ условие может содержать команды проверки, а также слова И, ИЛИ, НЕ.

Если РОБОТ начнет движение в сторону стены, то он разрушится, ивыполнение программы прервется.

Также у Робота есть командазакрасить, при которой закрашивается клетка, где Робот находится в настоящий момент.

Задачи

Задача 1. Сколько клеток приведенного лабиринта соответствуют требованию, что, выполнив предложенную ниже программу, РОБОТ остановится в той же клетке, с которой он начал движение? По периметру лабиринта стенки.

 

НАЧАЛО

ПОКА < сверху свободно > вверх

ПОКА < слева свободно > влево

ПОКА < снизу свободно > вниз

ПОКА < справа свободно > вправо

КОНЕЦ

Задача 2. Сколько клеток лабиринта соответствуют требованию, что, выполнив предложенную программу, РОБОТ уцелеет и остановится в той же клетке, с которой он начал движение?

НАЧАЛО

ПОКА < сверху свободно > вправо 

ПОКА < справа свободно > вниз 

ПОКА < снизу свободно > влево 

ПОКА < слева свободно > вверх              

КОНЕЦ

 

 

Задача 3. Сколько клеток лабиринта соответствуют требованию, что, начав движение в ней и выполнив предложенную ниже программу, РОБОТ уцелеет и остановится в закрашенной клетке (клетка F6 )?

           
           
           
           
           
           
  A B C D E F

ПОКА < справа свободно ИЛИ снизу свободно>

ПОКА < справа свободно> вправоКОНЕЦ ПОКА

ПОКА < снизу свободно> внизКОНЕЦ ПОКА

КОНЕЦ ПОКА

 

 

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

НАЧАЛО

ПОКА < снизу свободно ИЛИ справа свободно>

ПОКА < снизу свободно>

   вниз

КОНЕЦ ПОКА

ЕСЛИ < справа свободно>

ТО вправо

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ  

 

Задача 5. На бесконечном поле имеется лестница. Сначала лестница слева направоспускается вниз, затем поднимается вверх.  Высота каждой ступени – однаклетка, ширина – две клетки. Робот находится на первой ступеньке лестницы, в левой клетке. Количество ступеней, ведущих вниз, и количество ступеней, ведущих вверх, неизвестно.

Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно над ступенями лестницы. Требуется закрасить только клетки, удовлетворяющие данному условию. Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного  размера поля и любого допустимого расположения ступеней внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.

Задача 6. На бесконечном поле есть горизонтальная и вертикальная стены. Правый конец горизонтальной стены соединён с верхним концом вертикальной стены. Длины стен неизвестны. В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной непосредственно под горизонтальной стеной у её левого конца.

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



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.