РАЙОННАЯ ОЛИМПИАДА ШКОЛЬНИКОВ ПО ИНФОРМАТИКЕ
1993-94 учебный год

1. Статистика в Цветочном городе. Незнайка записал в записную книжку цвета глаз всех жителей Цветочного города. Написать программу, определяющую:

Рекомендации по решению
1) Начальному значению счетчика цветов присваиваем значение 1. Для каждой записи, начиная со второй, просматриваем предшествующие ей записи, начиная с первой. Если обнаруживается совпадение цветов, то переходим к обработке следующей записи. Если совпадений среди предшествующих записей не будет, то счетчик цветов увеличиваем на 1.
2) Для каждого из найденных на первом этапе цветов подсчитываем количество их в записной книжке Незнайки, а затем находим максимум из этих количеств.

Тест: красный, серый, синий, зеленый, серый, зеленый, черный, зеленый.

Ответ: 5 цветов, наиболее часто встречается серый цвет.

2. Поиск элементов массива с максимальной суммой. Дан двумерный массив N * N, содержащий целые числа. Написать программу для вывода индексов K элементов этого массива, сумма (элементов массива) которых максимальна (N и K <= 10).

Рекомендации по решению

1) Найти минимальный элемент и запомнить его индексы.
2) Заменить минимальный элемент максимальным.
3) В измененном массиве найти минимальный элемент и запомнить его индексы.
4) Вывести на печать все индексы, кроме тех, которые запоминались.

Тест: для N = 3; K = 7

Ответ: 1,1; 1,3; 2,2; 2,3; 3,1; 3,2; 3,3.

3. Часики. Полного завода ручных механических часов хватает на 24 ч. При заводе часов устанавливают точное время (с точностью до минуты). Эти часы забегают вперед каждый час на Х минут. Известно, что часы заводились в A часов B минут. Сейчас часы показывают С часов и D минут. Написать программу, которая вычисляет точное время.

Рекомендации по решению

1) Вычислить, сколько времени прошло между показаниями на часах и установкой точного времени.
2) Определить, сколько за этот интервал прошло точного времени.
3) Вывести точное время.

Тест № 1
время завода часов: 14, 30
показания часов: 10, 20
на сколько минут забегают: 7
точное время 7 часов 46 минут.

Тест № 2
время завода часов: 21, 49
показания часов: 0, 18
на сколько минут забегают: 3
точное время 23 часов 22 минут.

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

Пример. Исходная строка: 2+17
Ответ: два плюс семнадцать равно девятнадцать

Рекомендации по решению

1) В исходной строке находим положение символа "+". Часть строки слева — первое слагаемое, справа — второе слагаемое.
2) Слагаемые из строкового представления переводим в числовое, находим их сумму.
3) Для вывода на экран словесного выражения используем процедуру, которая заданное число выводит в словесной форме. Эта процедура основана на конструкциях выбора.

Тест № 1. 98 + 41
девяносто восемь плюс сорок один равно сто тридцать девять

Тест № 2. 2 + 19
два плюс девятнадцать равно двадцать один

Тест № 3. 6 + 7
шесть плюс семь равно тринадцать

5. Периодическая дробь. Составить программу, которая бы по данному рациональному числу, записанному в виде обыкновенной дроби с натуральными числителем и знаменателем a и b, печатала соответствующую этому числу десятичную дробь. Если дробь является периодической, то напечатать период дроби. (a <= 32767, b <= 100). Пример. 1 / 3 = 0,(3).

Рекомендации по решению

1) Проверить, является ли данная дробь конечной (если в разложении знаменателя на простые множители только степени чисел 2 и 5, то дробь конечная). Если дробь является конечной, вывести на печать соответствующее частное.
2) Если дробь не является конечной, то она периодическая. Прежде необходимо выделить целую часть (если дробь неправильная). Для определения начала и конца периода нужно последовательно рассматривать остатки от деления 10 * a на b (где на каждом шаге a — это остаток от деления 10 * a на b). Как только какой-либо из остатков повторится, значит, найден период дроби (самый большой период может состоять из b – 1 цифр).

Тест № 1. a = 45, b = 97.
Дробь является периодической
0,(463917525773195876288659793814432989690721649484536082474226804123711340206185567010309278350515)

Тест № 2. a = 127, b = 25.
Дробь является конечной
5,08

Тест № 3. a = 1987, b = 56
Дробь является периодической
35,48(214285)

 


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