Школа179: /Информатика//Информатика / Архив/2010//Информатика / Архив / 2010 / 7 Б/20091210
 

7Б «Робот». Задание №10: Считаем шаги

Что умеет робот?

Целочисленным величинам можно присваивать значения. Величина должна быть определена в начале алгоритма.



В заданиях этого листка нельзя пользоваться рекурсией!

Задание 10-А

Робот находится в горизонтальном коридоре. Справа от робота – тупик. Доведите робота до конца коридора, сосчитав шаги. Закрасьте самую правую клетку коридора и верните робота в исходную клетку.

Задание 10-B

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

Задание 10-C

Робот находится снизу от бесконечной стены (в соседней с ней клетке). Где-то слева от робота в стене есть проход. Робот должен дойти до прохода, пройти через проход и вернуться вправо на такое же расстояние (то есть робот должен оказаться в клетке, соседней с первоначальным положением, но по другую сторону стены).

Задание 10-D

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

Задание 10-E

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

Задание 10-F

Робот находится снизу от бесконечной стены, не обязательно в соседней со стеной клетке. Передвиньте робота вправо на расстояние, равное расстоянию от робота до стены (робот должен остановиться в клетке, расположенной на это же горизонтали).

Задание 10-G

Робот находится в левом конце горизонтального коридора. Коридор состоит из нечетного числа клеток. Переведите робота в среднюю клетку коридора.

Задание 10-H

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

Задание 10-I

Робот находится в горизонтальном коридоре. Посчитайте, сколько в этом коридоре закрашенных клеток, расположенных правее робота и выведите их количество на экран инструкцией «вывод».

Ответы для данных стартовых обстановок: 01 – 5, 02 – 4, 03 – 14, 04 – 0, 05 – 0.

Задание 10-J

Робот находится в горизонтальном коридоре. Справа от робота есть тупик. Возможно, что справа от робота есть клад (закрашенная клетка). Напишите программу, которая перемещает робота в клетку с кладом, если есть клад, или возвращает его в исходное положение, если клада нет.

Задание 10-K

Робот находится снизу от бесконечной стены, не обязательно в соседней со стеной клетке. Где-то слева от робота в стене есть проход. Робот должен обойти стену и оказаться в клетке, симметричной начальному положению относительно стены.

Задание 10-L

Робот находится на прямоугольном поле. Закрасьте клетку, расположенную в правом нижнем углу поля и верните робота в исходное положение.

Задание 10-M

Робот находится в левом верхнем углу прямоугольного поля. Подсчитайте количество клеток в этом поле и выведите его инструкцией «вывод». Для умножения величин используется операция "*".

Ответы для данных стартовых обстановок: 01 – 20, 02 – 4, 03 – 150, 04 – 1, 05 – 70.

Задание 10-N

Робот находится в горизонтальном коридоре, где-то справа от робота есть стена. Переместите робота в клетку, расстояние от которой до стены вдвое меньше, чем расстояние до стены от первоначального расположения робота (в случае нечетного расстояние «вдвое меньше» означает деление с отбрасыванием дробной части).

Задание 10-O

На бесконечном поле имеется бесконечная горизонтальная стена. Робот находится ниже стены в соседней со стеной клетке. Где-то в стене есть проход. Робот должен найти проход и остановиться в клетке над проходом (как в задаче 08-D).

В этой задаче поле и стена предполагаются бесконечными, поэтому решения, использующие внешние стенки поля (например, нц пока слева свободно ... кц), а также решения, содержащие циклы, выполняющиеся фиксированное количество раз (например, нц 1000 раз ... кц) приниматься не будут.

Клетка, в которой находится робот первоначально – закрашена. Закрашивать другие клетки робот не может.

Задание 10-P

Робот находится на бесконечном поле. Где-то правее робота (возможно, что и в той же клетке, где находится робот) есть закрашенная клетка. Робот должен закрасить квадрат, левый верхний угол которого – клетка, в которой робот находился первоначально, правый верхний угол которого – закрашенная клетка, и вернуться в начальную клетку.

Задание 10-Q

Решите задачу O при условии, что начальная клетка – не закрашена и закрашивать дополнительные клетки робот не может.