Архив с примерами стартовых обстановок: http://server.179.ru/~dk/robot/fields_2009_all.zip
Ваши решения должны быть записаны в файлах с именами:
October/11/02-A.kum
October/11/02-B.kum
October/11/02-C.kum
и т.д.
Полное ветвление
Неполное ветвление
Условия
На бесконечном поле имеется стена. Робот находится в клетке, прилегающей к стене, ниже стены. Закрасьте все клетки вокруг стены, то есть если длина стены n клеток, то нужно закрасить 2n+4 клеток, касающихся стены стороной или углом.
Оформите решение в виде алгоритма с названием «Закрасить всё вокруг стены находясь снизу».
Проверьте свой алгоритм на всех стартовых обстановках робота, находящихся в каталоге /usr/lib/kumir/fields/02/A
На бесконечном поле имеется стена. Робот находится в клетке, прилегающей к стене, выше или ниже стены. Закрасьте все клетки вокруг стены, то есть если длина стены n клеток, то нужно закрасить 2n+4 клеток, касающихся стены стороной или углом.
Оформите решение в виде двух алгоритмов «Закрасить всё вокруг стены находясь снизу» и «Закрасить всё вокруг стены находясь сверху», и одного алгоритма «Закрасить всё вокруг стены», содержащего инструкцию ветвления «Если-то-иначе-все» и вызывающую один из двух вспомогательных алгоритмов в зависимости от первоначального расположения робота.
Проверьте свой алгоритм на всех стартовых обстановках робота, находящихся в каталоге /usr/lib/kumir/fields/02/B
Робот находится в произвольной клетке, где-то справа от робота есть стена. Робот должен закрасить все клетки начиная от начальной вправо до стены, включая начальную клетку и вернуться в начальную клетку.
Оформите решение в виде алгоритма с названием «Закрасить ряд вправо затем вернуться».
Проверьте свой алгоритм на всех стартовых обстановках робота, находящихся в каталоге /usr/lib/kumir/fields/02/C
Робот находится в произвольной клетке прямоугольного поля. Закрасьте все клетки, находящиеся правее и выше робота, то есть все клетки прямоугольника, левым нижним углом которого является начальное положение робота а правый верхний угол которого совпадает с правым верхним углом поля.
Используйте вспомогательный алгоритм из предыдущей задачи.
Проверьте свой алгоритм на всех стартовых обстановках робота, находящихся в каталоге /usr/lib/kumir/fields/02/D
Выполните предыдущее задание при условии, что слева от начального положения робота может быть стена.
Проверьте свой алгоритм на всех стартовых обстановках робота, находящихся в каталоге /usr/lib/kumir/fields/02/E
Внутри прямоугольного поля есть вертикальная стена, соединяющая верхнюю и нижнюю границы поля и делящая поле на две части. В стене есть проход в одну клетку, причем эта клетка не является самой верхней или самой нижней клеткой поля. Робот находится в произвольной клетке в левой части поля. Переместите робота в правую часть поля.
Проверьте свой алгоритм на всех стартовых обстановках робота, находящихся в каталоге /usr/lib/kumir/fields/02/F
Решите предыдущую задачу при дополнительном условии, что проход может быть в самом верхнем или самом нижнем ряду поля.
Проверьте свой алгоритм на всех стартовых обстановках робота, находящихся в каталоге /usr/lib/kumir/fields/02/G
Робот находится в левом конце горизонтального коридора. Закрасьте все клетки коридора через одну (закрашенная – незакрашенная – закрашенная – незакрашенная и т.д.).
Клетка, где находится робот первоначально, должна быть закрашена.
Проверьте свой алгоритм на всех стартовых обстановках робота, находящихся в каталоге /usr/lib/kumir/fields/02/H
Робот находится в левом верхнем углу прямоугольного поля. Закрасьте все клетки поля в шахматном порядке. Клетка, где находится робот первоначально, должна быть закрашена.
Проверьте свой алгоритм на всех стартовых обстановках робота, находящихся в каталоге /usr/lib/kumir/fields/02/I