Блок-схемы

Рисуем шаги решения стандартными символами блок-схем.

Около 6 мин чтения
  • Объяснять, что такое блок-схема, своими словами
  • Правильно использовать ключевые термины, например «алгоритм»
  • Применять изученное к новым примерам и вопросам
  • Избегать типичных ошибок, которые делают ученики в этой теме

Блок-схема — это рисунок плана. Прежде чем писать код, программист набрасывает, что должна делать программа, — стандартными фигурами, чтобы любой читатель понял набросок одинаково.

Определение: Блок-схема

Диаграмма, которая показывает шаги алгоритма по порядку с помощью стандартных фигур, соединённых стрелками.

Ключевые идеи

Сначала план на бумаге

Код капризен: один неверный символ — и ничего не работает. Блок-схема позволяет сначала выстроить правильно логику, а уже потом сражаться с синтаксисом. Если план неверен на бумаге, он будет неверен и в коде — поэтому программисты сначала рисуют, а потом печатают.

Фигуры, о которых все договорились

Фигур всего несколько, и они одинаковы во всём мире:

  • Овал — начало и конец. Каждая блок-схема открывается овалом НАЧАЛО и закрывается овалом КОНЕЦ.
  • Прямоугольник — процесс. То, что делает компьютер, например «прибавить 1 к сумме».
  • Параллелограмм (наклонённый прямоугольник) — ввод или вывод. «Считать балл» или «вывести результат».
  • Ромб — решение. Вопрос с ответом да/нет, например «балл 50 или больше?».
  • Стрелки — линии потока. Показывают, какой шаг идёт следующим, поэтому у каждой стрелки должно быть ясное направление.
НАЧАЛОКОНЕЦовалпроцесспрямоугольникввод / выводпараллелограммрешениеромб
Пять символов блок-схем. Выучи их — и сможешь читать любую блок-схему.

Как читать блок-схему

Начни с овала НАЧАЛО и иди по стрелкам сверху вниз. Дойдя до ромба, ответь на его вопрос и выбери подходящий путь — а дальше иди, пока не дойдёшь до КОНЦА.

НАЧАЛОДождь?ДаВзять зонтКОНЕЦНетКОНЕЦ
Брать ли зонт? Начни сверху и иди по стрелкам.

Ключевой термин — алгоритм: набор пошаговых инструкций для решения задачи. Блок-схема — один из способов показать алгоритм; код — способ его записать.

Классика из учебника: мили в километры

Одна из первых блок-схем, которые рисуют ученики, переводит мили в километры:

Шаги блок-схемы
START → INPUT distanceMiles → km = distanceMiles * 1.609 → OUTPUT km → STOP

Проследи при distanceMiles = 10: параллелограмм считывает 10, прямоугольник вычисляет 10 × 1,609 = 16,09, второй параллелограмм выводит 16,09. Трассировка — пошаговый проход по блок-схеме с реальными значениями — так доказывают, что алгоритм работает, ещё до написания кода.

Сложнее: таблица умножения на семь

Та же фигура масштабируется. Эта блок-схема вводит число и печатает таблицу умножения на семь:

Шаги блок-схемы
START → INPUT number → answer = number * 7 → OUTPUT number & " * 7 = " & answer → STOP

При number = 3: answer становится 21, и вывод читается как «3 * 7 = 21». Знак & склеивает число, текст и ответ в одну строку. Один ввод, один процесс, один вывод — простейший полезный алгоритм.

Проследи блок-схему

Блок-схема для результата теста: НАЧАЛО → ВВОД «считать балл» → РЕШЕНИЕ «балл ≥ 50?» → Да → ВЫВОД «вывести Зачёт» → КОНЕЦ; Нет → ВЫВОД «вывести Незачёт» → КОНЕЦ.

Балл 65. Иди по стрелкам: НАЧАЛО, считай 65, спроси «65 ≥ 50?» — да — значит, иди по пути «Да», выведи «Зачёт», КОНЕЦ.

Ответ: Блок-схема выводит «Зачёт». Если бы балл был 40, путь «Нет» вывел бы «Незачёт».

Типичные ошибки
  • Стрелки без направления Исправление: каждая стрелка должна куда-то указывать — стрелка без ясного направления заставляет читателя гадать, какой шаг идёт следующим.
  • Нет НАЧАЛА или КОНЦА Исправление: каждая блок-схема открывается овалом НАЧАЛО и закрывается овалом КОНЕЦ, чтобы читатель знал, где алгоритм начинается и заканчивается.
  • Прямоугольник для ввода/вывода Исправление: «считать балл» — это ввод, значит, ему место в параллелограмме — прямоугольники только для процессов.

Практика

Какая фигура используется для решения, например «число чётное?»

Ромб — решения всегда пишутся в ромбах: одна стрелка входит, две выходят (Да и Нет).

Шаг блок-схемы гласит «вывести сумму». Какой должна быть фигура?

Параллелограмм — вывод есть вывод, а для шагов ввода/вывода используется наклонённый прямоугольник.

Проследи блок-схему: НАЧАЛО → «присвоить count значение 0» → «прибавить 1 к count» → решение «count = 3?» → Нет возвращает к шагу «прибавить 1 к count»; Да → КОНЕЦ. Чему равен count, когда она останавливается?
Проходи цикл, считая каждый круг.

3 — count становится 1, затем 2, затем 3; при 3 решение отвечает «Да», и блок-схема останавливается.

Зачем программисты рисуют блок-схему перед написанием кода?

Чтобы сначала правильно выстроить логику — ошибку проще заметить и исправить на рисунке, чем в коде.

Быстрая проверка

Блок-схемы — быстрая проверка

Какая фигура обозначает начало блок-схемы?

Овал — каждая блок-схема открывается овалом НАЧАЛО и закрывается овалом КОНЕЦ.

Что всегда содержит ромб?

Вопрос да/нет: одна стрелка входит, две выходят.

Шаг гласит «показать среднее». Какой должна быть фигура?

Параллелограмм, потому что показ — это вывод.
Главные выводы
  • Блок-схема: диаграмма, показывающая шаги алгоритма по порядку с помощью стандартных фигур, соединённых стрелками.
  • Сначала план на бумаге: выстрой логику на рисунке, прежде чем сражаться с синтаксисом кода.
  • Ключевой термин — алгоритм: пошаговые инструкции для решения задачи; блок-схема его показывает, код его записывает.
  • Остерегайся: стрелок без направления, отсутствующих овалов НАЧАЛО/КОНЕЦ и прямоугольников для ввода/вывода.