Запись алгоритма с помощью схем предполагает изображение с использованием графических символов-блоков, каждый из которых предписывает исполнение определенных действий. Совокупность символов образуют схему алгоритма. Графические символы между собой соединяются линиями потока информации. Основное направление потока идет сверху вниз и слева направо. Учитывая это, стрелки на схемах, совпадающие с таким потоком информации, могут не проставляться. Правила выполнения схем алгоритмов регламентирует ГОСТ 19.002-80, а изображение символов устанавливает ГОСТ 19.003-80.
Ниже в таблице 1.1 приведены изображения наиболее часто употребляемых блоков и даны пояснения к ним.
Таблица 1.1 - Графические обозначения, применяемые при составлении схем алгоритмов
Название символа
| Символ
| Отображаемая функция
|
Блок вычислений (процесс)
|
| Вычислительное действие или последовательность вычислительных действий
|
      Логический блок (решение)
|
| Выбор направления выполнения алгоритма в зависимости от некоторых условий (условия)
|
Блоки ввода-вывода
|
| Общее обозначение ввода или вывода данных (вне зависимости от физического носителя)
|
| Вывод данных, носителем которых служит документ (печатающее устройство)
|
Начало-конец (вход-выход)
|
| Начало или конец программы, останов, вход или выход в подпрограммах
|
Предопределенный процесс
(подпрограмма)
|
| Вычисления по стандартной подпрограмме или подпрограмме пользователя
|
Блок модификации (заголовок цикла)
|
| Выполнение действий, изменяющих пункты алгоритма
|
Соединитель
|
| Указание связи между частями схемы в пределах одной страницы
|
Межстраничный
соединитель
|
| Указание связи между частями схемы, расположенными на разных листах
|
По отношению к блоку линии потока могут быть входящими или выходящими. При большом количестве пересекающихся линий схема становится мало наглядной. В этих случаях допускается разрывать линии потока информации, размещая на обоих концах разрыва специальный символ «соединитель». Внутри символов, обозначающих разрыв одной и той же линии, помещается один и тот же маркер (буква, цифра и др.).
Если же схема располагается на нескольких листах, то переход линий потока с одного листа на другой обозначается с помощью символа «межстраничный соединитель». При этом на листе с блоком-источником соединитель содержит номер листа и координаты блока-приемника, а на листе с блоком-приемником – номер листа и координаты блока-источника.
Внутри блоков и рядом с ними делают записи и обозначения (для уточнения выполняемых ими функций) так, чтобы их можно было читать слева направо и сверху вниз.
При выполнении схем алгоритмов необходимо выдерживать минимальное расстояние 3 мм между параллельными линиями потоков и 5 мм между остальными блоками. Вычерчивая блоки, необходимо соблюдать соотношение между высотой b и шириной блока а (b=1,5а, при а=10,15,20,…мм).
Степень детализации схемы алгоритма определяется только потребностями программиста и ничем не регламентируется. Однако следует иметь в виду, что излишне общий характер схемы нежелателен из-за малой ее информативности, а очень детальная схема проигрывает в наглядности. Поэтому, особенно для сложных и больших алгоритмов, целесообразно составлять несколько схем различных уровней детализации. Схема первого уровня изображает весь алгоритм. Схемы второго уровня раскрывают логику отдельных блоков схемы первого уровня и т.д.
Рассмотрим примеры схем алгоритмов некоторых простейших задач.
Пример 1. Даны три числа a, b, с. Определить наибольшее из них и вывести его на экран.

Рисунок 1.1 – Схема алгоритма к примеру 1
На рисунке1.1 приведена схема алгоритма решения этой задачи, где показано, что после ввода трех исходных чисел выполняется сравнение первых двух: a и b. Наибольшее из них присваивается переменной Max. После чего переменная Max сравнивается с переменной c. В том случае, если Max<c, значение Max корректируется заменой его на значение с. В заключении найденное наибольшее значение из трех исходных чисел выводится на экран монитора.
Этот способ описания алгоритмов отличается большой наглядностью и оказывается весьма полезным на ранних стадиях разработки. Он ориентирован на разработчиков программ и рассматривается как вспомогательное средство, облегчающее процесс программирования, а также как средство обмена алгоритмической информацией между программистами. При вычерчивании схемы алгоритма следует стремиться к тому, чтобы схема была наглядной, без лишних линий.
Пример 2. Дано целое натуральное число N. Обеспечить вывод на экран всех простых чисел в диапазоне от M до N, где M < N.
Рисунок 1.2 – Схема алгоритма к примеру 2
Существует ряд подходов к решению этой задачи. Схема алгоритма одного из них дана на рисунке 1.2. На ней показано, что после ввода чисел M и N по очереди в возрастающем порядке перебираются все натуральные числа от M до N. Перебор осуществляется с помощью цикла, где управляющей переменной является А. Каждое значение А подвергается целочисленному делению с определением остатка на все числа, лежащие в диапазоне от 2 до А / 2. Если остаток от деления равен нулю, происходят выход из внутреннего цикла и переход к следующему значению А. Если же внутренний цикл отработает полностью все свои итерации, значит С=0 не было получено ни разу, а, следовательно, данное значение А является простым числом и оно выводится на печать.