1. Часы. Текущее показание часов m ч (0 <= m <= 23), n мин (0 <= n <= 59), k сек (0 <= k <= 59). Какое время будут показывать часы через p ч (0 <= p <= 100) q мин (0 <= q <= 59) r сек (0 <= r <= 59)?
2. Ближайший день. Дано число n, день недели d (1 <= d <= 7), месяц m (1 <= m <= 12) високосного года. Какое будет число n1 у дня недели d1, ближайшего к данному (независимо, был он уже, или еще наступит; d <> d1)? Написать программу, решающую эту задачу.
3. Словарь.
Исходные данные:
1) текст на русском языке, записанный заглавными буквами (строка не более, чем из 120 символов);
2) некоторый набор русских слов (не более 20), составляющий словарь.
Разработать программу, позволяющую:
1) при создании словаря упорядочить в нем вводимые слова в алфавитном порядке;
2) проверять орфографию в тексте с использованием созданного ранее словаря;
3) добавлять по требованию пользователя слова из текста в словарь в случае их отсутствия в нем, не нарушая его упорядоченности.
Примечание. Два слова считаются различными, если они отличаются хотя бы на один символ.
Пример правильно работающей программы
Введите проверяемый текст:
МАМА МЫЛА РАМУ, МАША МЫЛА КОШКУ. МИША ИГРАЛ.
Сколько слов будет в словаре? 3
Введите 1-е слово: МАМА
Введите 2-е слово: РАМУ
Введите 3-е слово: МИША
Словарь после ввода всех слов:
МАМА
МИША
РАМУ
Слово "МЫЛА" не найдено в словаре.
Вставить слово "МЫЛА" в словарь (0 - пропустить; 1 - вставить)? 1
Слово "МАША" не найдено в словаре.
Вставить слово "МАША" в словарь (0 - пропустить; 1 - вставить)? 0
Слово "КОШКУ" не найдено в словаре.
Вставить слово "КОШКУ" в словарь (0 - пропустить; 1 - вставить)? 0
Слово "ИГРАЛ" не найдено в словаре.
Вставить слово "ИГРАЛ" в словарь (0 - пропустить; 1 - вставить)? 1
Словарь после проверки текста содержит слова:
ИГРАЛ
МАМА
МИША
МЫЛА
РАМУ
4. Транслятор. Исполнитель умеет перемещаться по клетчатому полю 10 * 10. Он знает команды: ВЛЕВО, ВПРАВО, ВВЕРХ и ВНИЗ, смещаясь по каждой из них на одну клетку поля в указанном направлении (в случае выхода за границы поля выполнение алгоритма прекращается с выдачей диагностического сообщения). Кроме того, исполнитель понимает команду цикла, имеющую вид
ПОВТОРИТЬ N ............ КЦ
где после слова “повторить” стоит ровно один пробел и N — целое число в интервале от 1 до 9. Внутри цикла может быть любое количество произвольных команд, в том числе и новый цикл.
Написать программу, которая транслирует введенный текст алгоритма для исполнителя и выполняет его, выдавая в качестве ответа координаты конечного поля. Считать, что исходное положение исполнителя — левая нижняя клетка с координатами (1,1).
Предусмотреть синтаксический контроль вводимых команд. Разрешается предполагать, что все циклы в алгоритме вложены правильно.
Технические замечания
1. Длина алгоритма не превышает 20 команд, максимальная степень вложенности циклов — 4.
2. Признаком окончания набора алгоритма является ввод пустой строки.
5. Сумма геометрической прогрессии. Написать программу, подсчитывающую, сколько раз каждая цифра появляется в точном значении суммы первых N членов геометрической прогрессии AK = Q AK–1, A0 = M по заданным натуральному N, целым Q и М. Должна быть предусмотрена корректность ввода.
Примечания: N <= 40, |Q| <= 40 и |M| <= 40. Приглашение для ввода — имя переменной и ?>. Предполагается, что в записи ненулевого результата первая цифра отлична от нуля.
Пример работы правильной программы
M?>39 Q?>39 N?>39 0 встречается 5 раз 1 встречается 10 раз 2 встречается 8 раз 3 встречается 2 раз 4 встречается 5 раз 5 встречается 4 раз 6 встречается 4 раз 7 встречается 11 раз 8 встречается 8 раз 9 встречается 6 раз
6. Конь. Находясь в одиночестве на шахматной доске N * N, где N < 10, конь с поля Alpha k достигает поля Beta m кратчайшим возможным путем (Alpha, Beta = A, B, ...; k, m =1, 2, ...). Написать программу, определяющую, сколько ходов L ему нужно для этого сделать. В программе должно быть предусмотрен контроль корректности ввода и достижимости цели коня. Конь движется по правилам стандартных шахмат.