Подготовка к олимпиадам по программированию для начального уровня, 5-7 классы
Фоксфорд
Елена Горская
Для того, чтобы успешно выступать на олимпиадах по информатике и программированию, недостаточно знать язык программирования.
Необходимо обладать гибким мышлением, уметь придумывать алгоритмы и конструкции. Также важно уметь использовать язык программирования именно для решения олимпиадных задач, быть знакомым с классическими олимпиадными сюжетами, иметь опыт решения большого количества несложных задач олимпиадного характера. На развитие алгоритмических способностей и умения решать несложные олимпиадные задачи и нацелен наш курс.
На курсе мы познакомимся с основами современного языка программирования Python, и сразу же будем использовать его для решения задач олимпиадного типа. Темы, которые мы обсудим на уроке, будут подкрепляться достаточным количеством домашних задач, для решения которых необходимо будет написать программу, а затем сдать ее на проверку в тестирующую систему (ejudge).
Кому будет полезен курс:
Курс подойдёт тем, кто хочет изучить язык программирования Python с нуля и участвовать в олимпиадах по программированию.
Какие знания дает курс:На занятиях обсуждаются теоретические вопросы, разбираются решения задач по программированию и основы языка Python.
Чем полезен курс:Курс дает основы языка Python, знакомит с классическими олимпиадными сюжетами, помогает начать выступать на олимпиадах и дает базу для будущего глубокого изучения олимпиадного программирования.
Модуль 1 - Арифметические задачи, делимость, комбинаторика
- Знакомство с языком программирования Python. Установка, ввод-вывод
- Что такое тестирующая система?
- Операции целочисленного деления и взятия остатка
- Арифметические задачи
- Деление с округлением вверх. Разные задачи
- Дата и время
- Задачи на делимость
- Задачи про числа и цифры
- Комбинаторные задачи
- Условный оператор if-else
- Условия на шахматной доске
- Цикл for
- Цикл while
- Вложенные циклы
- Перебор
- Моделирование
- Строки, срезы строк, задачи на строки
- Маски, разные задачи на строки
- Шифры и криптография
- Списки, срезы, задачи на списки
- Двумерные списки
- Разные задачи
- Функции в Python
- Рекурсия в Python
- Классические рекурсивные сюжеты
- Волновой алгоритм
- Сортировка
- Наибольшее и наименьшее. Жадный алгоритм
- Линейный поиск
- Метод двух указателей
- Одномерное динамическое программирование: количество способов
- Одномерное динамическое программирование: наилучший способ
- Восстановление ответа в задачах динамического программирования
- Двумерное динамическое программирование
https://foxford.ru/courses/2375/landing