Олимпиада школьников по информатике
1992-93 учебный год
II тур

1. "Угадай число". Составить программу, по которой ЭВМ предложит Вам загадать целое число в диапазоне от 1 до 100, а затем постарается угадать его за наименьшее количество попыток. При каждой попытке ЭВМ называет предполагаемое число, а Вы указываете, что "больше", "меньше" или "равно" по отношению к задуманному. После угадывания машина сообщает количество использованных попыток. Затем машина предлагает Вам отгадать случайное число, которое задумает она в том же диапазоне. Теперь Вы угадываете, а ЭВМ отвечает "больше", "меньше" или "равно" и подсчитывает попытки. После отгадывания определяется победитель. Это тот, кто использовал меньшее число попыток.

2. "Простые числа". Вывести последовательность всех простых чисел от 1 до N, где N — заданное натуральное число.

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

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

4. Определение места. Исход игры между любыми двумя из 2n спортсменов предопределен заранее. Определить всех претендентов на первое место в турнире по олимпийской системе.

5. ИБФ. Традиционное арифметическое выражение имеет вид:

(A)#(B)
где A и B — выражения меньшей длины (в частности, может быть, состоящие из одного числа) и # — один из знаков действий: *, +, /, –.

Обычно некоторые пары скобок только подразумеваются, однако формально они необходимы. Каждое такое арифметическое выражение можно представить в инверсионной бесскобочной форме (ИБФ):

A' B' #
где A' и B' — соответственно ИБФ выражений A и B. Если в ИБФ два числа оказываются записанными рядом, то между ними ставят какой-либо разделительный знак (например, |).

Пример:

20 + 15     ---> 20|15+          60 * (42 - 7)       ---> 60|42|7-*
60 * 42 – 1 ---> 60|42*1-        (16 - 8) / 14 + 19) ---> 16|8-14|19+/

По данному традиционному арифметическому выражению найти его инверсионную бесскобочную форму.

 


Рейтинг ресурсов УралWeb
Сайт создан в системе uCoz