Схемы алгоритмов
Схема - это графическое представление алгоритма, дополненное элементами словесной записи. Каждый пункт алгоритма отображается на схеме некоторой геометрической фигурой — блоком (блочным символом), причем различным по типу выполняемых действий блокам соответствуют различные геометрические фигуры, изображаемые по ГОСТу. Правила выполнения схем алгоритмов регламентирует ГОСТ 19.002—80 (который полностью соответствует международному стандарту ИСО 2636—73). Применяемые графические символы, отражающие основные операции процесса обработки данных, устанавливает ГОСТ 19.003—80 (обозначение символов соответствует международному стандарту ИСО 1028—73). В табл. 1.1 приведены наиболее часто употребляемые блоки и даны пояснения к ним.
Графические символы на схемах соединяются линиями потока информации. Основное направление потока информации идет сверху вниз и слева направо (стрелки на линиях могут не указываться). В других случаях применение стрелок обязательно. На рис. 1.1 даны примеры условныхграфических обозначений на схемах. По отношению к блоку линии потока могут быть входящими или выходящими. Количество входящих линий для блока принципиально не ограничено. Выходящая линия может быть только одна. Исключение составляют логические блоки, имеющие не менее двух выходящих линий потока, каждая из которых соответствует одному из возможных исходов проверки логического условия (рис. 1.1, в, г), а также блоки модификации.
Рис. 1.1 Примеры условныхграфических обозначений на схемах.
Таблица 1.1 Условные графические обозначения, применяемые при составлении схем алгоритмов
№ п/п | Название символа | Символ | Отображаемая функция |
Блок вычислений (процесс) | ![]() ![]() | Вычислительное действие или последовательность вычислительных действий | |
Логический блок (решение) | ![]() | Выбор направления выполнения алгоритма в зависимости от некоторых условий (условия) | |
Блоки ввода - вывода | ![]() ![]() ![]() ![]() | Общее обозначение ввода или вывода данных (в независимости от физического носителя) | |
Вывод данных, носителем которых служит документ (печатающее устройство) | |||
Начало - конец (вход - выход) | ![]() ![]() | Начало или конец программы, останов, вход или выход в подпрограммах | |
Предопреде-ленный процесс (подпрограмма) | ![]() ![]() | Вычисления по стандартной подпрограмме или подпрограмме пользователя | |
Блок модификации (заголовок цикла) | ![]() ![]() | Выполнение действий, изменяющих пункты алгоритма | |
Соединитель | ![]() | Указание связи между прерванными линиями потока информации в пределах одной страницы | |
Межстраничный соединитель | ![]() | Указание связи между частями схемы, расположенными на разных листах |
При большом количестве пересекающихся линий, большой их длине и многократных
изменениях направления схема становится малонаглядной. В этих случаях допускается разрывать линии потока информации, размещая на обоих концах разрыва специальный символ «соединитель» (рис. 1.1, в). Внутри поля соединителей, отмечающих разрыв одной и той же линии, ставится одинаковая маркировка отдельной буквой или буквенно-цифровой координатой блока, к которому подходит линия потока. Если схема располагается на нескольких листах, переход линий потока с одного листа на другой обозначается с помощью символа «межстраничный соединитель» (рис. 1.1, б). При этом на листе с блоком-источником соединитель содержит номер листа и координаты блока-приемника, а на листе с блоком-приёмником — номер листа и координаты блока-источника.
![]() |
Рис. 1.2 Cхема алгоритма метода нисходящего проектирования, который, в свою очередь, является основой структурного программирования.
Внутри блоков и рядом с ними делают записи и обозначения (для уточнения выполняемых ими функций) так, чтобы их можно было читать слева направо и сверху вниз независимо от направления потока. Например, на рис. 1.1,а и вид 2 читаются идентично. Порядковые номера блоков проставляют в верхней части графического символа в разрыве его контура (рис. 1.1, б, в, г). При выполнении схем алгоритмов необходимо выдерживать минимальное расстояние 3 мм между параллельными линиями потоков и 5 мм между остальными символами. В блоках приняты размеры: а=10, 15, 20мм; b=1,5 а,5а (см. рис 1.1, а). Если необходимо увеличить размер схемы, то допускается увеличивать а на число, кратное 5.
На рис. 1.2 приведена схема алгоритма поиска максимума и минимума в конечной последовательности чисел.
Схема является исключительно наглядным и простым способом представления алгоритма. При этом не накладывается никаких ограничений на степень детализации в изображении алгоритма. Выбор ее целиком зависит от программиста. Однако необходимо иметь в виду, что излишне общий характер схемы нежелателен из-за малой информативности, а очень детальная схема проигрывает в наглядности. Поэтому, особенно для сложных и больших алгоритмов, целесообразно составлять несколько схем различных уровней детализации. Схема 1-го уровня отображает весь алгоритм целиком. Схемы 2-го уровня раскрывают логику отдельных блоков схемы 1-го уровня. При необходимости могут быть составлены схемы последующих уровней с ещё большей степенью детализации. Такое пошаговое уточнение схемы алгоритма составляет сущность