Муниципальное общеобразовательное учреждение Лицей №130 Программа специального цикла дисциплины «РЕШЕНИЕ ОЛИМПИАДНЫХ ЗАДАЧ ПО ПРОГРАММИРОВАНИЮ» 8 классе (платные дополнительные образовательные услуги) 2 часа в неделю 30 недель курс читает: Ефремов А.В., системный администратор ЦНИТ Лицея №130, младший научный сотрудник ИФМ УрО РАН После изучения курса ученик будет знать: Язык программирования: Pascal. Основные алгоритмы (сортировка, НОД, НОК и т.д.). Основы линейной алгебры. Методы оценки сложности алгоритма. Основные сведения о графах. Основы математического моделирования. После изучения курса ученик будет уметь: Формализовать поставленную задачу, используя методы математического моделирования и линейной алгебры. Построить математическую модель поставленной задачи. Построить алгоритм решения поставленной задачи. Реализовать алгоритм на языке программирования Pascal. Оценить правильность работы алгоритма и программы. Устранить ошибки в случае некорректной работы программы. КАЛЕНДАРНО-ТЕМАТИЧЕСКИЙ ПЛАН №уч. недели учебная неделя №п/ п 1 1 2 3 4 1-6.10 8-13.10 15-20.10 22-27.10 1.1 1.2 1.3 1.4 Тема I полугодие Основы программирование на языке Pascal Начальные сведения о программах на языке Pascal. Типы данных и операции. Ветвления. Решение задач с ветвлениями Циклы. Решение задач с циклами Массивы. Решение задач с массивами Символы и строки. Множества. Ввод и вывод информации: текстовые файлы. Организация ввода- 5 6 7 29.10-3.11 12-17.11 19-24.11 1.5 1.6 2 2.1 3 8 9 26.11-1.12 3-8.12 3.1 3.2 10 10-15.12 3.3 11 12 17-22.12 24-29.12 3.4 3.5 13 14 14-19.01 21-26.01 4 4.1 4.2 15 28.01-2.02 4.3 16 17 18 4-9.02 11-16.02 18-23.02 4.4 4.5 4.6 19 25.02-1.03 4.7 20 21 22 23 3-8.03 10-15.03 17-22.03 31.03-5.04 4.8 4.9 4.10 4.11 5 вывода из файла для использования в олимпиадных задачах Процедуры и функции. Рекурсивные подпрограммы. Решение задач с применением функций, процедур и рекурсии Модульная структура программы. Технология программирования и отладки Основы тестирования программного обеспечения Введение: тестирование - способ обеспечения качества программного продукта. Основные понятия тестирования. Критерии выбора тестов. Тестирование программ на Pascal Теория программирования. Математическое моделирование на примере системы линейных уравнений. Форма и принципы представления математических моделей Постановка задачи. Оценка осуществимости. Особенности построения математических моделей Компьютерное моделирование и вычислительный эксперимент. Решение математических моделей на Pascal Функциональный подход к программированию. Решение задач на Pascal с использованием функционального подхода Формализация задач, построение математической модели. Решение задач на Pascal II полугодие 24 7-12.04 5.1 25 14-19.04 5.2 26 27 28 29 21-26.04 28.04-3.05 5-10.05 12-17.05 5.3 5.4 5.5 5.6 30 19-24.05 5.7 Алгоритмы Поиск. Строки и последовательности. Решение задач на Pascal Сортировка. Пузырьком + модификации, вставками, шелла, выбором. Решение задач на Pascal Сортировка. Поразрядная, быстрая, пирамидальная, слиянием, топологическая. Решение задач на Pascal O-символика. Интуитивное понятие сложности алгоритма. Оценка сложности алгоритмов на примере задач на Pascal Целочисленные типы данных и их использование. Решение задач на Pascal Длинные числа и операции над ними. Решение задач на Pascal Простые и составные числа. Проверка простоты числа, разложение числа на два множителя. Решение задач на Pascal Нахождение НОД и НОК с помощью алгоритма Евклида. Элементы теории остатков. Решение задач на Pascal Разложение числа на простые множители. Решение задач на Pascal Быстрое возведение в степень. Решение задач на Pascal Битовая арифметика. Решение задач на Pascal Элементы линейной алгебры. Системы линейных уравнений. Их решение. Виды. Численные методы решения систем линейных уравнений. Решение задач на Pascal Матричная запись системы. Метод Гаусса. Метод Крамера. Матричный способ. Решение задач на Pascal Матрицы. Основные определения и виды матриц. Действия над матрицами. Понятие ранга матрицы. Операции над матрицами. Понятие и нахождение обратной матрицы. Решение задач на Pascal Определители и их свойства. Вычисление определителей на Pascal Уравнения и неравенства. Решение типовых задач на уравнения и неравенства Элементы аналитической геометрии на плоскости и в пространстве Графы и их использование