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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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