Приложение 1 к основной образовательной программе среднего общего образования Муниципальное автономное общеобразовательное учреждение «Тавринская средняя общеобразовательная школа» ПРИНЯТО решением методического объединения учителей МиФ протокол от 27.08.2024 № 1 СОГЛАСОВАНО: Зам.дир.по УР ____ ___________В.В.Дружинина 27.08.2024 г. Рабочая программа учебного курса «Программирование на языке Python» для среднего общего образования Срок освоения программы: 2 года (10-11 класс) Составитель: Ярцев В. А., учитель информатики с. Русская Тавра, 2024 Содержание программы Простейшие программы. Диалоговые программы. Переменные. Консольный ввод и вывод данных. Компьютерная графика. Система координат. Управление пикселями. Графические примитивы: линии, прямоугольники, окружности. Изменение координат. Анимация. Процедуры. Процедуры с параметрами. Рефакторинг. Обработка целых чисел. Арифметические выражения. Деление нацело. Остаток от деления. Обработка вещественных чисел. Особенности представления вещественных чисел в памяти компьютера. Операции с вещественными числами. Случайные и псевдослучайные числа. Генераторы случайных чисел. Ветвления. Условный оператор. Полная и неполная формы условного оператора. Вложенные условные операторы. Логические переменные. Экспертные системы. Сложные условия. Логические операции И, ИЛИ, НЕ. Порядок выполнения операций. Циклы с условием. Алгоритм Евклида. Обработка потока данных. Бесконечные циклы. Циклы по переменной. Шаг изменения переменной цикла. Циклы в компьютерной графике. Узоры. Вложенные циклы. Штриховка. Этапы создания программ. Методы проектирования программ «сверху вниз» и «снизу вверх». Интерфейс и реализация. Документирование программы. Подпрограммы: процедуры и функции. Процедуры. Процедуры с параметрами. Локальные и глобальные переменные. Функции. Логические функции. Рекурсия. Рекурсивные процедуры и функции. Фракталы. Символьные строки. Сравнение строк. Операции со строками. Обращение к символам. Перебор всех символов. Срезы. Удаление и вставка. Встроенные методы. Поиск в символьных строках. Замена символов. Преобразования «строка — число». Символьные строки в функциях. Рекурсивный перебор. Массивы (списки). Массивы в языке Python. Создание массива. Обращение к элементу массива. Перебор элементов массива. Генераторы. Вывод массива. Ввод массива с клавиатуры. Заполнение массива случайными числами. Алгоритмы обработки массивов. Сумма элементов массива. Подсчёт элементов массива, удовлетворяющих условию. Особенности копирования списков в Python. Поиск в массивах. Линейный поиск. Поиск максимального элемента в массиве. Максимальный элемент, удовлетворяющий условию. Использование массивов в прикладных задачах. Матриц. Создание и заполнение матриц. Вывод матрицы на экран. Перебор элементов матрицы. Квадратные матрицы. Сложность алгоритмов. Асимптотическая сложность. Сортировка массивов. Метод пузырька (сортировка обменами). Метод выбора. Сортировка слиянием. Быстрая сортировка. Сортировка в языке Python. Двоичный поиск в массиве данных. Двоичный поиск по ответу. Обработка файлов. Типы файлов. Чтение данных. Запись данных. Обработка данных из файла. Целочисленные алгоритмы. Решето Эратосфена. Целочисленный квадратный корень. Словари. Алфавитно-частотный словарь. Перебор элементов словаря. Структуры. Классы. Создание структур. Работа с полями структур. Хранение структур в файлах. Сортировка структур. Стек. Использование списка. Вычисление арифметических выражений. Скобочные выражения. Системный стек. Очередь. Дек. Деревья. Деревья поиска. Обход дерева. Использование связанных структур. Вычисление арифметических выражений. 2 Графы. Описание графа. Жадные алгоритмы. Минимальное остовное дерево. Алгоритм Дейкстры. Алгорим Флойда–Уоршелла. Использование списков смежности. Динамическое программирование. Числа Фибоначчи. Количество программ для исполнителя. Двумерные задачи. Поиск оптимального решения. Игровые модели. Выигрышные и проигрышные позиции. Планируемые результаты 1) научится составлять и отлаживать простые диалоговые программы; 2) узнает особенностей машинных вычислений с целыми и вещественными числами; 3) научится использовать основные алгоритмические конструкции: условные операторы, циклы с условием, циклы по переменной; 4) овладеет методами построения графических изображений программными средствами; 5) овладеет простыми методами программирования компьютерной анимации. 6) познакомится с методами проектирования программ «сверху вниз» и «снизу вверх»; 7) научится использовать вспомогательные алгоритмы (процедуры и функции) для структуризации программ; 8) научится применять рефакторинг для улучшения читаемости программ; 9) научится использовать символьные строки; 10) овладеет основными алгоритмами обработки одномерных и двухмерных массивов; 11) познакомится с понятием сложности алгоритма; 12) научится применять различные алгоритмы сортировки массивов; 13) научится использовать двоичный поиск; 14) научится обрабатывать данные, записанные в текстовые и двоичные файлы, и сохранять в файлах результаты работы программы; 15) научится использовать структуры для объединения данных; 16) научится применять словари, стеки, очереди, деки для решения задач обработки данных; 17) научится использовать деревья для организации данных; 18) познакомится с методами описания графов и некоторыми популярными алгоритмами на графах; 19) научится использовать динамическое программирование для решения комбинаторных и оптимизационных задач; 20) познакомится с понятием выигрышных и проигрышных позиций в играх с полной информацией; Тематическое планирование № Название темы 1 История языков программирования.. Язык Python. Простейшие программы. Реализация вычислений и ветвлений. Количество часов Всего Контроль Практич ные еские работы работы 7 Электронные (цифровые) образователь ные ресурсы https://kpol yakov.spb.r u/school/py cpp.htm 3 2 Реализация циклических, вспомогательных алгоритмов алгоритмов. Рекурсия. 15 Словари. Массивы. Обработка массивов 15 Символьные строки. Обработка символьных строк. 15 Матрицы. Ввод, вывод, обработка матриц. Чтеие и запись текстовых файлов. 15 Итого: 67 https://kpol yakov.spb.r u/school/py cpp.htm https://kpol yakov.spb.r u/school/py cpp.htm https://kpol yakov.spb.r u/school/py cpp.htm https://kpol yakov.spb.r u/school/py cpp.htm 3 4 5 0 0 Поурочное планирование 10 класс № п/п 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 Наименование разделов и тем программы Кол-во часов Всего Знакомство с Python. Простейшие программы. Вычисления. Стандартные функции. Условный оператор. Сложные условия. Множественный выбор. Контрольная работа «Ветвления». Цикл с условием. Цикл с переменной. Вложенные циклы. Процедуры. Функции. Рекурсия. Циклы, процедуры, функции Введение в словари Массивы. Перебор элементов массива. Поиск в массиве. Алгоритмы обработки массивов (реверс, сдвиг). Отбор элементов массива по условию. Сортировка массивов. Метод пузырька, метод выбора Сортировка массивов. Метод пузырька, метод выбора Двоичный поиск в массиве. Символьные строки. Функции для работы с символьными строками. Преобразования «строка-число». Строки в процедурах и функциях. Сравнение и сортировка строк. Практикум: обработка символьных строк. Символьные строки 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 29 30 31 32 33 34 Матрицы. Ввод матриц с клавиатуры, с пом. генератора случайных чисел.. Обработка матриц. Файловый ввод и вывод. Обработка смешанных данных, записанных в файле. Обработка смешанных данных, записанных в файле. Обработка смешанных данных, записанных в файле. Итого: 1 1 1 1 1 1 34 5 11 класс № п/п 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 Наименование разделов и тем программы Кол-во часов Всего Проектирование программ Процедуры Рекурсия Функции Символьные строки Обработка символьных строк Строки в функциях Массивы Ввод и вывод массивов Суммирование элементов массива Подсчёт элементов массива, удовлетворяющих условию Поиск значения в массиве Поиск максимального элемента в массиве Игра «Стрельба по тарелкам» Игра «Стрельба по тарелкам» Матрицы Сложность алгоритмов Простые алгоритмы сортировки Сортировка слиянием Быстрая сортировка Двоичный поиск Обработка файлов Обработка файлов: практикум Целочисленные алгоритмы Словари Структуры Структуры: практикум Стек, очередь, дек Деревья Графы Графы: практикум Динамическое программирование Игровые модели 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 6 УЧЕБНО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ОБРАЗОВАТЕЛЬНОГО ПРОЦЕССА ОБЯЗАТЕЛЬНЫЕ УЧЕБНЫЕ МАТЕРИАЛЫ ДЛЯ УЧЕНИКА Константин Поляков: Программирование. Python. C++. Часть 1. Учебное пособие Константин Поляков: Программирование. Python. C++. Часть 2. Учебное пособие Константин Поляков: Программирование. Python. C++. Часть 3. Учебное пособие Константин Поляков: Программирование. Python. C++. Часть 4. Учебное пособие ЦИФРОВЫЕ ОБРАЗОВАТЕЛЬНЫЕ РЕСУРСЫ И РЕСУРСЫ СЕТИ ИНТЕРНЕТ https://kpolyakov.spb.ru/school/pycpp.htm 7