Найти в Дзене
Легко в’IT

Алгоритмы: как понимать схемы и рисунки

Я часто вижу, что в курсах для иллюстрации алгоритмов используются так называемые блок-схемы и подразумевается авторами, что все участники эту нотацию впитали с молоком матери.

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

Для моделирования алгоритмов еще в СССР был принят Государственный Стандарт ГОСТ 19.701-90 (на случай если хочешь много скучной документации). и именно он чаще всего используется для графического отображения.

Теперь следи за руками (а точнее за номерами на прикрепленной картинке):

  1. Начало алгоритма (скругленный прямоугольник) - так всегда отображается точка входа в тот или иной алгоритм: будь то небольшая функция или вся программа целиком
  2. Действие (простой прямоугольник) - какое-то действие, которое должен выполнить алгоритм: сложить два числа, вывести текст на экран и так далее
  3. Условие (ромб) - проверка какого-то условия (например, если пользователь ввел именно число для какого-нибудь расчета, а не букву - запустить алгоритм, иначе - отобразить ошибку)
    3.1. Ветка, если условие - истина (то есть было введено число)
    3.1.1. Запуск цикла (трапеция) - то есть совершить одну и ту же операцию столько-то раз, сколько написано в фигуре
    3.1.2. Действие (например над введенным ранее числом)
    3.1.3. Вывод чего-то на экран (параллелепипед), например, вывод результата из п. 3.1.2 на экран
    3.1.4. Завершение цикла (перевернутая трапеция)
    3.1.5. Завершение алгоритма и точка выхода из него
    3.2. Ветка, если условие ложно (например, введено все, что угодно, но не число)
    3.2.1: Функция (прямоугольник с двумя вертикальными полосами по бокам), ссылка на какой-то другой алгоритм, например в нашем случае, который выдаст красиво сформированную ошибку о неправильном вводе
    3.2.2 Завершение алгоритма и точка выхода из него

Вот так незамысловато описываются алгоритмы. Там есть еще некоторые нюансы, но они не так критичны для понимания этой графической нотации.