Выберите ОДНО из предложенных ниже заданий: 15.1 или 15.2. 15.1 Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может. У Робота есть девять команд. Четыре команды — это команды-приказы: вверх вниз влево вправо При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑ вниз ↓, влево ← , вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится. Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент. Еще четыре команды — это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырех возможных направлений: сверху свободно снизу свободно слева свободно справа свободно Эти команды можно использовать вместе с условием «если», имеющим следующий вид: если условие то последовательность команд все Здесь условие — одна из команд проверки условия. Последовательность команд — это одна или несколько любых команд-приказов. Например, для передвижения на одну клетку вправо, если справа нет стенки, и закрашивания клетки можно использовать такой алгоритм: если справа свободно то вправо закрасить все В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например: если (справа свободно) и (не снизу свободно) то вправо все Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид: нц пока условие последовательность команд кц Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм: нц пока справа свободно вправо кц [рис.] Выполните задание. На бесконечном поле имеется стена, длины отрезков стены неизвестны. Стена состоит из двух вертикальных и соединяющего их горизонтального отрезков (отрезки стены расположены "буквой П"). В горизонтальном участке есть ровно один проход, место и длина прохода неизвестны. Робот находится в клетке, расположенной над левым концом горизонтального отрезка стены. На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»). Напишите для Робота алгоритм, закрашивающий все клетки, расположенные над горизонтальным отрезком стены справа от прохода, и все клетки, расположенные с внешней стороны от правого вертикального участка стены. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведенного рисунка Робот должен закрасить следующие клетки (см. рис.). [рис.] Конечное расположение Робота может быть произвольным. При исполнении алгоритма Робот не должен разрушиться. Алгоритм должен решать задачу для произвольного размера поля, любого допустимого расположения стен и любого расположения и размера прохода. 15.2 Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, кратных 6 и оканчивающихся на 2. Программа получает на вход натуральные числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 100. Введенные числа не превышают 300. Программа должна вывести одно число: сумму всех чисел, кратных 6 и оканчивающихся на 2. Пример работы программы: Входные данные | Выходные данные 12 24 22 72 11 0 | 84

Средний уровеньЗадание

Выберите ОДНО из предложенных ниже заданий: 15.1 или 15.2. 15.1 Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может. У Робота есть девять команд. Четыре команды  — это команды-приказы: вверх вниз влево вправо При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑ вниз ↓, влево ← , вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится. Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент. Еще четыре команды  — это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырех возможных направлений: сверху свободно  снизу свободно  слева свободно  справа свободно Эти команды можно использовать вместе с условием «если», имеющим следующий вид: если условие то последовательность команд все Здесь условие  — одна из команд проверки условия. Последовательность команд  — это одна или несколько любых команд-приказов. Например, для передвижения на одну клетку вправо, если справа нет стенки, и закрашивания клетки можно использовать такой алгоритм: если справа свободно то вправо закрасить все В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например: если (справа свободно) и (не снизу свободно) то вправо все Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид: нц пока условие последовательность команд кц Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм: нц пока справа свободно вправо кц [рис.] Выполните задание. На бесконечном поле имеется стена, длины отрезков стены неизвестны. Стена состоит из двух вертикальных и соединяющего их горизонтального отрезков (отрезки стены расположены "буквой П"). В горизонтальном участке есть ровно один проход, место и длина прохода неизвестны. Робот находится в клетке, расположенной над левым концом горизонтального отрезка стены. На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»). Напишите для Робота алгоритм, закрашивающий все клетки, расположенные над горизонтальным отрезком стены справа от прохода, и все клетки, расположенные с внешней стороны от правого вертикального участка стены. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведенного рисунка Робот должен закрасить следующие клетки (см. рис.). [рис.] Конечное расположение Робота может быть произвольным. При исполнении алгоритма Робот не должен разрушиться. Алгоритм должен решать задачу для произвольного размера поля, любого допустимого расположения стен и любого расположения и размера прохода. 15.2 Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, кратных 6 и оканчивающихся на 2. Программа получает на вход натуральные числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (0  — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 100. Введенные числа не превышают 300. Программа должна вывести одно число: сумму всех чисел, кратных 6 и оканчивающихся на 2. Пример работы программы: Входные данные | Выходные данные 12 24 22 72 11 0 | 84

Иллюстрация к заданиюИллюстрация к заданию

Похожие задания