Контрольная работа №1

advertisement
Методика и содержание подготовки учащихся к олимпиадам по программированию.
Дистанционный курс.
Контрольная работа №1
Работа оценивается по системе «зачет/незачет» Максимальная оценка за работу – 20 баллов,
для получения оценки «зачет» необходимо набрать не менее 12 баллов.
Задание № 1 (максимальная оценка: 5 баллов)
Составьте максимально полный комплект тестов к прилагаемой задаче с учетом ограничений на
входные данные. Тесты снабдите комментариями (к какому частному случаю или технической
особенности при написании программы он относится). Ответ оформите в виде таблицы (при
необходимости можно добавлять или удалять строки таблицы)
№
1
2
3
4
5
6
7
Входные данные
Результат
Комментарий
Задача: Козел в огороде (источник: http://acm.timus.ru)
Дан квадратный огород. Точно в центре квадрата прибит колышек, за который привязан голодный
козел. Козел съест все, до чего сможет дотянуться. Определить площадь «выеденной части» с
точностью до 3 знака после запятой.
Входные данные: с клавиатуры через пробел вводятся два числа - длина стороны огорода
(натуральное, не более 1000) и длина веревки (также натуральное, не более 1000).
Результат: вывести на экран единственное число - искомую площадь.
Пример:
Входные данные
10 6
Результат
95.091
Задание № 2 (максимальная оценка: 10 баллов; максимальная оценка по каждому пункту – 2
балла)
Опишите в виде программы, блок-схемы или словесно алгоритмы для решения следующих задач и
оцените их функции сложности O(f(N)). Если функция сложности в худшем и среднем случае
отличается, то укажите какую именно функцию сложности Вы определили.
а) нахождение второго максимума в массиве из N целых чисел (то есть такого элемента, который
строго меньше максимального, но больше либо равен всем остальным);
б) нахождение суммы всех элементов квадратной матрицы из N x N целых чисел;
в) сокращение дроби X/Y (нахождение таких A и B, что X/Y=A/B и дробь A/B – несократима);
МЦНМО, 2007/08 учебный год
Методика и содержание подготовки учащихся к олимпиадам по программированию.
Дистанционный курс.
г) дан набор из k различных букв, проверить можно ли из них составить слово длины N (каждую
букву можно использовать любое количество раз);
д) определение минимального количества монет по 10, 5, 2 и 1 рублю, необходимых чтобы
уплатить сумму, равную N (целое, положительное).
Задание № 3 (максимальная оценка: 5 баллов)
Составьте максимально полный комплект тестов к прилагаемой задаче с учетом ограничений на
входные данные. Тесты снабдите комментариями (к какому частному случаю или технической
особенности при написании программы он относится). Ответ оформите в виде таблицы (при
необходимости можно добавлять или удалять строки таблицы)
№
1
2
3
4
5
6
7
Входные данные
Результат
Комментарий
Задача: Календарь.
С клавиатуры вводится дата в формате дд:мм:гггг, где дд – номер дня в месяце, мм – номер
месяца в году, гггг – номер года по современному летоисчислению. Определить номер этого дня в
году.
Справка: високосный год – такой, номер которого делится на 400, а также те, у которых
номер делится на 4, но не делится на 100.
Пример:
Исходные данные
Результат
01:02:2007
32
МЦНМО, 2007/08 учебный год
Download