Computer Science

Учебник Алгоритмы и блок-схемы для начинающих

19 уроков · 5 разделов · бесплатно, без регистрации

Главный навык информатики — алгоритмическое мышление. Научимся записывать алгоритмы блок-схемами по ГОСТ, трассировать программы и решать экзаменационные задачи.

Курс «Алгоритмы и блок-схемы» состоит из 5 разделов и 19 уроков: Основы алгоритмов, Вложенные конструкции, Алгоритмы над массивами, Подпрограммы и рекурсия и От блок-схемы к коду. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.

Программа курса

  1. 1 Основы алгоритмов

    1. Что такое алгоритм и блок-схема

      Что такое алгоритм: исполнитель, система команд, пять свойств алгоритма, четыре способа записи и зачем нужны блок-схемы. Две живые схемы, запускаемый код и квиз для самопроверки.

    2. Фигуры блок-схем по ГОСТ

      Пять фигур блок-схем по ГОСТ 19.701-90: овал, параллелограмм, прямоугольник, ромб, шестиугольник и соединитель. Связь фигур с кодом, две живые схемы и квиз.

    3. Линейные алгоритмы

      Линейные алгоритмы: ввод — обработка — вывод, присваивание, целочисленное деление // и остаток %, разбор числа на цифры, обмен значений через третью переменную. Код и схемы.

    4. Ветвления: ромб принимает решение

      Ветвления в блок-схемах: полная и неполная форма if-else, операторы сравнения, вложенные условия, логические and/or/not с таблицей истинности и задача о максимуме из трёх чисел.

    5. Циклы: повторение в алгоритмах

      Циклы в блок-схемах: обратное ребро, while и for, счётчик и накопитель, бесконечный цикл, четыре паттерна (сумма, произведение, количество, максимум) и вложенные циклы. Живые схемы.

    6. Трассировка: прокрути алгоритм руками

      Трассировка алгоритма: таблица трассировки, ручное исполнение линейных программ, ветвлений и циклов, частые ошибки и чек-лист для задач «что выведет программа». Живые схемы-тренажёры.

    7. Задачи ОГЭ с блок-схемами

      Шесть типовых задач ОГЭ на алгоритмы и блок-схемы: цикл while, ветвление, фильтрация в цикле, старшая цифра и сумма цифр числа, факториал. С пошаговым разбором и живыми схемами.

  2. 2 Вложенные конструкции

    1. Вложенные ветвления и выбор

      Ромб внутри ромба, каскад условий vs множественный выбор (switch/case), перевод блок-схемы в псевдокод — как не запутаться в условиях.

    2. Вложенные циклы

      Цикл в цикле: таблица умножения и обход матрицы, счётчики внешнего и внутреннего циклов, число повторений тела n·m — блок-схема и Python.

    3. Цикл со счётчиком, while и do-while

      Три вида циклов: со счётчиком, с предусловием (while) и с постусловием (do-while), их блок-схемы и когда какой применять. Предусловие может не выполниться ни разу.

  3. 3 Алгоритмы над массивами

    1. Перебор массива: сумма, среднее, счёт

      Накопитель и счётчик при переборе массива: блок-схема суммы и среднего арифметического, подсчёт элементов по условию. Псевдокод и рабочий Python с выводом.

    2. Поиск максимума, минимума и линейный поиск

      Алгоритм поиска экстремума массива: хранить текущий максимум и минимум. Линейный поиск с флагом «найдено» и индексом найденного. Блок-схема и рабочий Python.

    3. Сортировка пузырьком

      Сортировка пузырьком: идея попарных обменов, вложенный цикл, число проходов, блок-схема и пошаговая трассировка на маленьком массиве. Рабочий Python с выводом каждого прохода.

  4. 4 Подпрограммы и рекурсия

    1. Процедуры и функции с параметрами

      Зачем выносить часть алгоритма в подпрограмму, что такое параметры и возвращаемое значение, как выглядит вызов на блок-схеме. Примеры на Python.

    2. Рекурсия на блок-схемах

      Что такое рекурсия, зачем нужны база и шаг, факториал и числа Фибоначчи, как растёт и сворачивается стек вызовов. Формулы и рабочий Python.

    3. Формальные исполнители ЕГЭ

      Робот, Черепаха и Кузнечик: система команд исполнителя (СКИ), как читать и составлять программу, разбор типовых задач ЕГЭ на исполнителей.

  5. 5 От блок-схемы к коду

    1. Перевод блок-схемы в Python

      Как фигуры блок-схемы превращаются в конструкции Python: ромб → if, цикл → for/while. Пошаговый перевод готовой схемы в рабочий код с выводом.

    2. Сколько шагов делает алгоритм

      Как посчитать число операций алгоритма, чем линейный рост O(n) отличается от квадратичного O(n²) и зачем это знать школьнику. Таблица роста и интуиция без строгой теории.

    3. Отладка и трассировка сложных схем

      Таблица трассировки для вложенных циклов, поиск ошибок: бесконечный цикл и off-by-one, проверка граничных случаев. Подробный разбор на примере с пошаговым выводом.