Способы записи алгоритмов и блок-схемы
Учимся записывать алгоритмы разными способами и читать блок-схемы — графический язык, понятный с одного взгляда.
Блок-схема — это способ записи алгоритма в виде связанных геометрических фигур, где каждая фигура означает определённое действие.
Один алгоритм — разные записи
Алгоритм можно записать по-разному, и от способа зависит, насколько он понятен. Есть три популярных способа.
- Словесный — обычными фразами на русском языке, по шагам. Понятно человеку, но компьютеру нет.
- Графический (блок-схема) — рисунок из фигур со стрелками. Очень нагляден, легко увидеть структуру.
- На языке программирования — код, который понимает компьютер. К нему мы перейдём в следующем разделе.
Сегодня сосредоточимся на блок-схемах — это «чертёж» алгоритма, который помогает продумать решение до того, как писать код.
Основные блоки
В блок-схемах форма фигуры говорит о её роли. Запомнить нужно всего несколько:
| Фигура | Назначение |
| Овал | начало и конец алгоритма |
| Параллелограмм | ввод или вывод данных |
| Прямоугольник | действие (например, вычисление) |
| Ромб | проверка условия (развилка) |
| Стрелки | порядок выполнения шагов |
Фигуры соединяют стрелками, которые показывают, куда двигаться дальше. Из ромба-условия всегда выходят две стрелки: «да» и «нет» — это будущее ветвление, о нём в следующем уроке.
Линейный алгоритм
Самый простой вид — линейный алгоритм: шаги идут строго друг за другом, без развилок и повторов. Например, вычислим площадь прямоугольника. Словесно это так:
- Начало.
- Ввести длину
aи ширинуb. - Вычислить площадь
s = a · b. - Вывести
s. - Конец.
В виде блок-схемы это была бы цепочка: овал «начало» → параллелограмм «ввод a, b» → прямоугольник «s = a·b» → параллелограмм «вывод s» → овал «конец». Всё прямолинейно, как ступеньки лестницы.
Линейный алгоритм — это прямая дорожка без развилок: каждый шаг выполняется ровно один раз и по порядку.
Псевдокод — нечто среднее
Между человеческими фразами и строгим кодом есть удобный промежуточный способ записи — псевдокод. Это запись алгоритма короткими структурированными фразами, похожими на программу, но без строгих правил конкретного языка. Например: «ввести a и b; если a больше b, то вывести a, иначе вывести b». Псевдокод не понимает компьютер, зато его легко прочитать человеку, и при этом он уже близок к коду — остаётся лишь перевести на язык программирования. Программисты часто набрасывают логику псевдокодом, прежде чем писать настоящую программу: так проще сосредоточиться на сути, не отвлекаясь на запятые и скобки. Получается удобная лесенка: сначала идея словами, потом блок-схема или псевдокод, и только в конце — код. Чем сложнее задача, тем полезнее не прыгать сразу к коду, а пройти эти ступеньки.
Зачем рисовать схему, если можно сразу писать код
Хороший вопрос. Блок-схема помогает увидеть логику целиком, найти ошибку в рассуждении ещё до программирования и объяснить решение другому человеку. Опытные программисты часто набрасывают схему сложного алгоритма на бумаге, прежде чем сесть за клавиатуру. Это как чертёж перед стройкой: дешевле исправить на бумаге, чем потом ломать готовое.
Попробуй сам
Превратим наш линейный алгоритм «площадь прямоугольника» из блок-схемы в код. Заметь: порядок строк в программе ровно повторяет порядок блоков в схеме.
# Линейный алгоритм: площадь прямоугольника
# (в блок-схеме это была прямая цепочка блоков)
a = 6 # ввод: длина
b = 4 # ввод: ширина
s = a * b # действие: вычисление площади
print("Длина:", a)
print("Ширина:", b)
print("Площадь:", s) # вывод результата
Вывод:
Длина: 6 Ширина: 4 Площадь: 24
Поменяй a и b — алгоритм линейный, поэтому он всегда пройдёт одни и те же шаги в одном порядке, просто с другими числами. Попробуй мысленно нарисовать блок-схему этого кода: где тут «ввод», где «действие», где «вывод»?
Как блок-схема показывает ветвление и цикл
Линейный алгоритм в блок-схеме — это прямая цепочка. А как нарисовать выбор и повтор? Здесь главную роль играет ромб-условие. При ветвлении из ромба выходят две стрелки: «да» ведёт к одним действиям, «нет» — к другим, а потом обе ветки снова сходятся и алгоритм продолжается. Получается «развилка дорог», которая потом опять соединяется. При цикле картина хитрее: после действий стрелка возвращается назад, к проверке условия, образуя петлю. Алгоритм крутится по этой петле, пока условие выполняется, а когда оно перестанет — выходит из неё по стрелке «нет». Именно эта стрелка-возврат и отличает цикл на схеме: ищи петлю, и сразу поймёшь, что здесь что-то повторяется. Умение «читать» такие схемы очень помогает: глядя на чертёж алгоритма, ты с одного взгляда видишь, где он делает выбор, а где повторяет действия, — даже не вникая в детали. На экзаменах нередко просят определить, что выведет алгоритм по его блок-схеме, и навык их читать тут незаменим.
Частые ошибки
- Использовать прямоугольник вместо ромба для условия. Проверка условия — это всегда ромб с двумя выходами.
- Забывать блоки «начало» и «конец». Любая блок-схема начинается и заканчивается овалом.
- Рисовать стрелки в обе стороны без причины. Стрелки показывают чёткий порядок: куда идти дальше.
Запомни
- Алгоритм можно записать словесно, блок-схемой или кодом.
- В блок-схеме форма фигуры задаёт её роль: овал — начало/конец, ромб — условие, прямоугольник — действие.
- Линейный алгоритм выполняет шаги по порядку, без развилок и повторов.
- Блок-схема помогает продумать и проверить логику до написания кода.