Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот не пройдет. У Робота есть девять команд. Четыре команды — это команды-приказы: вверх вниз влево вправо При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑ вниз ↓, влево ← , вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится. Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент. Еще четыре команды — это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырех возможных направлений: сверху свободно снизу свободно слева свободно справа свободно Эти команды можно использовать вместе с условием «если», имеющим следующий вид: если условие то последовательность команд все Здесь условие — одна из команд проверки условия. Последовательность команд — это одна или несколько любых команд-приказов. Например, для передвижения на одну клетку вправо, если справа нет стенки, и закрашивания клетки можно использовать такой алгоритм: если справа свободно то вправо закрасить все В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например: если (справа свободно) и (не снизу свободно) то вправо все Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид: нц пока условие последовательность команд кц Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм: нц пока справа свободно вправо кц Выполните задание. [рис.] [рис.] На бесконечном поле имеются две одинаковые горизонтальные параллельные стены, расположенные друг под другом и отстоящие друг от друга более чем на 1 клетку. Левые края стен находятся на одном уровне. Длины стен неизвестны. Робот находится в клетке, расположенной непосредственно под нижней стеной. На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»). Напишите для Робота алгоритм, закрашивающий все клетки, расположенные ниже горизонтальных стен. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведенного выше рисунка Робот должен закрасить следующие клетки (см. рис.). Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться. Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе. Сохраните алгоритм в текстовом файле.
Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот не пройдет. У Робота есть девять команд. Четыре команды — это команды-приказы: вверх вниз влево вправо При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑ вниз ↓, влево ← , вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится. Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент. Еще четыре команды — это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырех возможных направлений: сверху свободно снизу свободно слева свободно справа свободно Эти команды можно использовать вместе с условием «если», имеющим следующий вид: если условие то последовательность команд все Здесь условие — одна из команд проверки условия. Последовательность команд — это одна или несколько любых команд-приказов. Например, для передвижения на одну клетку вправо, если справа нет стенки, и закрашивания клетки можно использовать такой алгоритм: если справа свободно то вправо закрасить все В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например: если (справа свободно) и (не снизу свободно) то вправо все Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид: нц пока условие последовательность команд кц Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм: нц пока справа свободно вправо кц Выполните задание. [рис.] [рис.] На бесконечном поле имеются две одинаковые горизонтальные параллельные стены, расположенные друг под другом и отстоящие друг от друга более чем на 1 клетку. Левые края стен находятся на одном уровне. Длины стен неизвестны. Робот находится в клетке, расположенной непосредственно под нижней стеной. На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»). Напишите для Робота алгоритм, закрашивающий все клетки, расположенные ниже горизонтальных стен. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведенного выше рисунка Робот должен закрасить следующие клетки (см. рис.). Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться. Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе. Сохраните алгоритм в текстовом файле.


Похожие задания
- Задание
У исполнителя Квадратор две команды, которым присвоены номера: 1. возведи в квадрат 2. вычти 4 Первая из них возводит число на экране во вторую степень, вторая уменьшает число на 4. Исполнитель работает только с натуральными числами. Составьте алгоритм получения из числа 2 числа 64, содержащий не более пяти команд. В ответе запишите только номера команд. (Например, 12221 $-$ это алгоритм: возведи в квадрат вычти 4 вычти 4 вычти 4 возведи в квадрат, который преобразует число 5 в число 169.) Если таких алгоритмов более одного, то запишите любой из них.
- Задание
Доступ к файлу karl.htm, находящемуся на сервере april.ru, осуществляется по протоколу http. Фрагменты адреса файла закодированы цифрами от 1 до 7. Запишите последовательность этих цифр, кодирующую адрес указанного файла в сети Интернет. | 1) | http 2) | karl 3) | / 4) | april 5) | .htm 6) | .ru 7) | ://
- Задание
Между населёнными пунктами A, B, C, D, E построены дороги, протяжённость которых (в километрах) приведена в таблице. | A | B | C | D | E A | | 2 | 4 | | 5 B | 2 | | 1 | | C | 4 | 1 | | 4 | 3 D | | | 4 | | 3 E | 5 | | 3 | 3 | Определите длину кратчайшего пути между пунктами A и D. Передвигаться можно только по дорогам, протяжённость которых указана в таблице. Каждый пункт можно посетить только один раз.
- Задание
Между населёнными пунктами A, B, C, D, E, F построены дороги, протяжённость которых (в километрах) приведена в таблице. | A | B | C | D | E | F A | | 3 | | | | 15 B | 3 | | 2 | 3 | 7 | C | | 2 | | 1 | 3 | D | | 3 | 1 | | 1 | E | | 7 | 3 | 1 | | 2 F | 15 | | | | 2 | Определите длину кратчайшего пути между пунктами A и F, проходящего через пункт C. Передвигаться можно только по дорогам, указанным в таблице. Каждый пункт можно посетить только один раз.
- Развёрнутый ответ
Напишите программу, которая в последовательности натуральных десятичных чисел определяет количество элементов, запись которых в системе счисления с основанием 7 оканчивается цифрой 1. Если среди входных данных таких элементов нет, программа должна вывести «NO». Программа получает на вход в первой строке натуральное число – количество чисел N (3 ≤ N ≤ 10 000), затем N натуральных чисел, не превышающих 30 000, каждое в отдельной строке. Программа должна вывести одно число – количество десятичных чисел (элементов последовательности), запись которых в 7-ричной системе счисления оканчивается цифрой 1, или «NO», если среди входных данных таких элементов нет. Пример работы программы Входные данные | Выходные данные 6 12 15 10 71 50 11 | 3