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

 
Это старая версия Информатика/Архив/2010/7Б/20091210 за 2009-12-10 09:25:10..

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


Плюсник


Выполненные задания должны быть сохранены в каталоге ~/kumir/10/.
Стартовые обстановки находятся в каталоге /home/pub/kumir/fields/10/.
Загрузить среду Кумир для Windows можно отсюда
Архив со стартовыми обстановками (для самостоятельной работы) можно загрузить отсюда

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

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

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



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

Задание 10-А

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

Задание 10-B

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

Задание 10-C

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

Задание 10-D

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

Задание 10-E

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

Задание 10-F

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

Задание 10-G

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

Задание 10-H

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

Задание 10-I

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

Задание 10-J

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

Задание 10-K

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

Задание 10-L

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

Задание 10-M

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

Задание 10-N

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

Задание 10-O

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


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


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

Задание 10-P

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

Задание 10-Q

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


 
Файлов нет.[Показать файлы/форму]