Схемы алгоритмов

Алгоритм и его свойства

Алгоритм – это последовательность предписаний (команд), точное выполнение которых приводит к решению поставленной задачи.

Правильно построенные алгоритмы должны обладать следующими свойствами:

дискретность - алгоритм разбит на отдельные элементарные этапы (шаги), возможность выполнения которых не вызывает сомнений,

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

детерминированность - повтор результатов при повторе исходных данных,

результативность - алгоритм должен приводить к результату за конечное число шагов,

массовость - алгоритм должен быть пригоден для решения всех задач данного класса.

 

Любой алгоритм можно представить или записать тремя способами:

· словесным (вербальным) - с использованием слов и предложений,

· табличным (аналитическим) - с помощью формул и таблиц,

· графическим - с помощью рисунков, геометрических фигур и символов.

Самым наглядным из них является графический способ – представление алгоритма схемой.

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

Схема алгоритма представляет собой совокупность специальных символов (блоков), соединенных между собой стрелками, которые указывают последовательность выполнения алгоритма. Внутри каждого блока может быть записан его номер и краткое содержание исполняемых им функций (операций).

 

Правила выполнения схем алгоритмов устанавливает Единая система программной документации (ЕСПД), в которую входят:

ГОСТ 19002-80 “Схемы алгоритмов и программ. Правила выполнения”

ГОСТ 19003-80 “Схемы алгоритмов и программ. Обозначения условные графические”

Перечень, наименование, обозначение и размеры наиболее употребляемых символов и отображаемых ими функций:

процесс - выполнение операции или группы операций, в результате которых изменяется значение, форма представления или расположение данных,

решение - выбор направления выполнения программы или алгоритма в зависимости от некоторых переменных условий,

модификация – выполнение операций, меняющих команды или группу команд, изменяющих программу,

 

предопределенный процесс – использование ранее созданных или отдельно описанных алгоритмов или программ,

 

данные - преобразование данных в форму, пригодную для обработки (ввод) или регистрации результатов обработки (вывод),

дисплей - вывод данных на дисплей (монитор).

 

терминатор - начало, конец, прерывание процесса обработки данных при выполнении программы,

линии потока - линии, связывающие символы схемы: линии,

идущие справа налево или снизу вверх, должны иметь стрелки.

 

комментарий- добавление описательных комментариев или пояснительных записей

 

Пример записи

алгоритма:

 

 

Для построения удобных в работе схем алгоритмов необходимо руководствоваться следующими правилами:

ü каждая схема должна иметь точку начала и точку конца,

ü от точки начала блоки располагаются сверху вниз и слева направо,

ü направление линий потока сверху вниз и слева направо принимается за основное и, если линия потока не имеет излома, то стрелками ее можно не обозначать,

ü расстояние между параллельными линиями потока должно быть не менее 3 мм, между остальными линями схемы – не менее 5 мм,

ü количество входящих в блок линий потока не ограничивается, но выходить из него может только одна линия (исключение – блок решения, из которого всегда выходят две линии),

ü запись в блоках должна быть словесной или математической, а не в виде операторов конкретного алгоритмического языка: нужно показать, что делается в блоке, а не как это делается,

ü записи внутри блоков должны быть расположены так, чтобы их можно было читать слева направо и сверху вниз независимо от направления линий потока,

ü схема должна читаться без дополнительных пояснений автора,

ü используемые в некотором блоке переменные должны получать конкретные значения в предыдущих или в том же блоке,

ü входные и выходные блоки подпрограмм должны содержать перечень соответственно входных и выходных параметров,

ü блоки можно объединять в более крупные пунктирными линиями, при этом необходимо описать назначение объединенных блоков,

ü над левой частью блоков ставятся метки, которыми в программе будут помечены операторы, описанные в данном блоке, а в разрыве верхней левой линии ставится номер блока.