- •Пояснительная записка
- •Учебно-тематический план Модуль 1
- •Модуль 2
- •Модуль 3
- •Содержание программы Модуль 1
- •Модуль 2
- •Модуль 3
- •Форма 4
- •Сведения об обеспеченности образовательного процесса учебной литературой или иными информационными ресурсами и материально-техническом оснащением
- •Список литературы
- •Приложение № 9
- •Приложение № 12
- •Форма 5
- •Сведения о педагогических работниках
Модуль 3
Раздел: Введение в олимпиадное программирование. (28 часов)
Введение.
Введение. Виды и типы олимпиад по спортивному программированию.
Языки программирования.
Обзор языков программирования семейства С++: Borland C++ 3.1, Microsoft Visual C++ 8.0, Java 2 SDK 1.5 . Обзор языков программирования семейства Pascal: Borland Pascal 7.0, Borland Delphi 7.0, Free Pascal 2.0 .
Типы данных. Работа с файлами.
Базовые типы данных: целые, вещественные, строки, массивы. Работа с файлами: чтение и вывод данных. Структура олимпиадной задачи. Классификация задач. Порядок сложности задач.
Базовые алгоритмы.
Алгоритмы сортировки массивов: пузырьком, выбором, быстрая сортировка, цифровая сортировка. Алгоритм двоичного поиска. Решение задач.
Раздел: Системы автоматического судейства. (20 часов)
Системы самотестирования
Принципы работы системы самотестирования. Системы: T-Run, Checker Федора Меньшикова, система от olympiads.ru
Acmp.ru
Знакомство с сайтом http://acmp.ru. Отправка задач в разделе «Архив задач». Участие в личных и командных олимпиадах.
Acm.timus.ru
Знакомство с Timus Online Judge - архивом задач с проверяющей системой. Рейтинговая система, статистика, форум. Система командных олимпиад.
Olympiads.ru
Олимпиадная информатика olimpiads.ru: структура сайта, система проведения internet-олимпиад.
Neerc.ifmo.ru
Раздел сайта для школьников: http://neerc.ifmo.ru/school : архив задач и результатов официальных олимпиад. Участие в личных и командных олимпиадах базового уровня.
Раздел: Структуры данных. (16 часов)
Элементарные структуры данных.
Стеки и очереди. Словари и множества. Бинарные деревья. Использование указателей для формирования структур.
C++ Standard Template Library.
Понятие шаблона в C++. Основные объекты: стек, очередь, словарь в STL. Использование функций STL для работы со структурами. Преимущества. Примеры.
Алгоритмы, использующие структуры.
Разбор алгоритмов решения задач «Карточная колода», «Покраска карты», «Скобки».
Раздел: Теория чисел. (20 часов)
Системы счисления.
Свойства систем счисления. Перевод числа из одной системы в другую.
Виды чисел и последовательностей.
Простые числа. Поиск простых чисел. Разложение числа на множители. Совершенные числа. Числа Фибоначчи.
Целочисленная арифметика.
Наибольший общий делитель и наименьшее общее кратное. Свойства НОД и НОК. Алгоритм Евклида.
Длинная арифметика.
Понятие длинной арифметики. Структуры для хранения длинных чисел. Арифметические операции с длинными числами: сложение, умножение, деление и извлечение корня.
Раздел: Комбинаторика. (16 часов)
Базовые методики счета.
Классификация комбинаторных задач. Перебор с помощью двоичных чисел. Перестановки. Обратная перестановка. Поиск циклов и порядка перестановки. Задача о счастливых билетах.
Биномиальные коэффициенты.
Факториал. A(k,n) и C(k,n). Биномиальные коэффициенты. Вычисление количества комбинаций с использованием сочетаний.
Задача «Великий комбинатор».
Рекурсия и перебор.
Прямая и косвенная рекурсия. Примеры. Рекурсивный перебор всех перестановок. Решение задач.
Раздел: Динамическое программирование. (12 часов)
Математическая индукция.
Принцип математической индукции. Понятие динамического программирования. Примеры.
Рекуррентные соотношения.
Понятие рекуррентного соотношения. Примеры.
Решение задач.
Решение задач: «Гвоздики», «Покраска забора», «Лесенка», «Скобочки».
Раздел: Графы. (16 часов)
Введение.
Введение: понятие графа, определения. Классификация графов.
Структуры данных для графов.
Матрица смежности и таблица ребер. Примеры.
Обход графа в ширину.
Волновой алгоритм. Пример поиска кратчайшего пути в лабиринте.
Обход графа в глубину.
Рекурсивная реализация обхода графа в глубину. Задача коммивояжера.
Алгоритмы с графами.
Алгоритмы Дейкстры и Флойда поиска наикратчайшего пути в графе. Алгоритм Форда-Беллмана релаксации вершин графа. Алгоритм Каскала и Примы построения остова графа.
Раздел: Геометрия. (16 часов)
Аналитическая геометрия.
Векторное и скалярное произведения и их свойства. Вычисление площади треугольника. Принадлежность точки треугольнику. Расстояние от точки до прямой.
Вычислительная геометрия.
Пересечение отрезков. Площадь многоугольника. Выпуклая оболочка. Теорема Пика.
Разбор геометрических задач.
Разбор задач: «Треугольные страны», «Целые точки» и «Дремучий лес».
