Учебник Алгоритмы и блок-схемы для начинающих
Главный навык информатики — алгоритмическое мышление. Научимся записывать алгоритмы блок-схемами по ГОСТ, трассировать программы и решать экзаменационные задачи.
Курс «Алгоритмы и блок-схемы» состоит из 5 разделов и 19 уроков: Основы алгоритмов, Вложенные конструкции, Алгоритмы над массивами, Подпрограммы и рекурсия и От блок-схемы к коду. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.
Программа курса
1 Основы алгоритмов
- Что такое алгоритм и блок-схема
Что такое алгоритм: исполнитель, система команд, пять свойств алгоритма, четыре способа записи и зачем нужны блок-схемы. Две живые схемы, запускаемый код и квиз для самопроверки.
- Фигуры блок-схем по ГОСТ
Пять фигур блок-схем по ГОСТ 19.701-90: овал, параллелограмм, прямоугольник, ромб, шестиугольник и соединитель. Связь фигур с кодом, две живые схемы и квиз.
- Линейные алгоритмы
Линейные алгоритмы: ввод — обработка — вывод, присваивание, целочисленное деление // и остаток %, разбор числа на цифры, обмен значений через третью переменную. Код и схемы.
- Ветвления: ромб принимает решение
Ветвления в блок-схемах: полная и неполная форма if-else, операторы сравнения, вложенные условия, логические and/or/not с таблицей истинности и задача о максимуме из трёх чисел.
- Циклы: повторение в алгоритмах
Циклы в блок-схемах: обратное ребро, while и for, счётчик и накопитель, бесконечный цикл, четыре паттерна (сумма, произведение, количество, максимум) и вложенные циклы. Живые схемы.
- Трассировка: прокрути алгоритм руками
Трассировка алгоритма: таблица трассировки, ручное исполнение линейных программ, ветвлений и циклов, частые ошибки и чек-лист для задач «что выведет программа». Живые схемы-тренажёры.
- Задачи ОГЭ с блок-схемами
Шесть типовых задач ОГЭ на алгоритмы и блок-схемы: цикл while, ветвление, фильтрация в цикле, старшая цифра и сумма цифр числа, факториал. С пошаговым разбором и живыми схемами.
- Что такое алгоритм и блок-схема
2 Вложенные конструкции
- Вложенные ветвления и выбор
Ромб внутри ромба, каскад условий vs множественный выбор (switch/case), перевод блок-схемы в псевдокод — как не запутаться в условиях.
- Вложенные циклы
Цикл в цикле: таблица умножения и обход матрицы, счётчики внешнего и внутреннего циклов, число повторений тела n·m — блок-схема и Python.
- Цикл со счётчиком, while и do-while
Три вида циклов: со счётчиком, с предусловием (while) и с постусловием (do-while), их блок-схемы и когда какой применять. Предусловие может не выполниться ни разу.
- Вложенные ветвления и выбор
3 Алгоритмы над массивами
- Перебор массива: сумма, среднее, счёт
Накопитель и счётчик при переборе массива: блок-схема суммы и среднего арифметического, подсчёт элементов по условию. Псевдокод и рабочий Python с выводом.
- Поиск максимума, минимума и линейный поиск
Алгоритм поиска экстремума массива: хранить текущий максимум и минимум. Линейный поиск с флагом «найдено» и индексом найденного. Блок-схема и рабочий Python.
- Сортировка пузырьком
Сортировка пузырьком: идея попарных обменов, вложенный цикл, число проходов, блок-схема и пошаговая трассировка на маленьком массиве. Рабочий Python с выводом каждого прохода.
- Перебор массива: сумма, среднее, счёт
4 Подпрограммы и рекурсия
- Процедуры и функции с параметрами
Зачем выносить часть алгоритма в подпрограмму, что такое параметры и возвращаемое значение, как выглядит вызов на блок-схеме. Примеры на Python.
- Рекурсия на блок-схемах
Что такое рекурсия, зачем нужны база и шаг, факториал и числа Фибоначчи, как растёт и сворачивается стек вызовов. Формулы и рабочий Python.
- Формальные исполнители ЕГЭ
Робот, Черепаха и Кузнечик: система команд исполнителя (СКИ), как читать и составлять программу, разбор типовых задач ЕГЭ на исполнителей.
- Процедуры и функции с параметрами
5 От блок-схемы к коду
- Перевод блок-схемы в Python
Как фигуры блок-схемы превращаются в конструкции Python: ромб → if, цикл → for/while. Пошаговый перевод готовой схемы в рабочий код с выводом.
- Сколько шагов делает алгоритм
Как посчитать число операций алгоритма, чем линейный рост O(n) отличается от квадратичного O(n²) и зачем это знать школьнику. Таблица роста и интуиция без строгой теории.
- Отладка и трассировка сложных схем
Таблица трассировки для вложенных циклов, поиск ошибок: бесконечный цикл и off-by-one, проверка граничных случаев. Подробный разбор на примере с пошаговым выводом.
- Перевод блок-схемы в Python