Областная олимпиада по информатике 1987 г. (теоретический тур)
Задача 1. (4 балла).

На пути N1 стоят пять занумерованных вагонов (см. рис 1), а в тупике находится паровоз. Стрелка соединяет тупик с путем N1. В тупике, кроме паровоза, могут поместиться два вагона. Составить программу для машиниста паровоза, выполнение которой переводит состав с пути N1 на путь N2, не изменив порядок следования вагонов. Паровоз должен вернуться в тупик. Программа должна состоять из занумерованных подряд команд из следующей системы команд:

1. Влево (паровоз продвигается в крайнее левое положение из тупика на один из путей в зависимости от положения стрелки).

2. Вправо (паровоз продвигается в тупик вместе с прицепленнными вагонами, если стрелка соединяет его путь с тупиком. Если стрелка установлена в другое положение, то фиксируется ошибка).

3. Перевести стрелку.

4. Прицепить вагон к паровозу или к паровозу с уже прицепленным вагонoм добавляется еще один вагон.

5. Отцепить вагон.

6. Выполнить команды с номера N до номера M (Команды из программы с номерами N, N+1, ...M выполняются так, как если бы они находились на месте данной команды).

Примечание: программы, содержащие наименьшее количество команд, премируются дополнительными очками.


рис. 1.

Задача 2. (6 баллов).

Что делает следующий алгоритм?

алг лит АЛЬФА (лит х)
арг
рез
нач
если длин(х)=1
то знач:=х
иначе знач:=АЛЬФА(х[2:длин(х)])+х[1:1]
все
кон
Задача 3. (7 баллов).

Ввести натуральные числа N и M, и напечатать период десятичной дроби M/N. Если дробь конечна, то ее период состоит из цифры 0.

Задача 4. (5 баллов).

Дана таблица чисел, у которой M строк и N столбцов. Распечатать таблицу чисел по спирали, начиная обход с правого верхнего угла и двигаясь по часовой стрелке.

Задача 5. (10 баллов).

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

© ярославский ?ентр телекоммуникаций и информационных систем в образовании, 2003.
Rambler's Top100