Конспект лекций по основам информатики (Аппаратная часть ПЭВМ. Операционная система MS DOS. Оболочка Norton Commander. Операционная оболочка Microsoft Windows. Введение в программирование), страница 19

Внутри каждого блока обычно кратко записывают сущность отображаемого блоком действия.  Обычно блоки алгоритма соединяются между собой стрелочками, указывающими направление «движения» по выполнению алгоритма.

При проектировании «укрупнённых» алгоритмов, т.е. алгоритмов «в первом приближении» к решению задачи, к созданию программы, допускается записывать в отдельный блок несколько действий, если между ними не предполагается проверка условия, и ни одно из этих действий не входит в цикл. При составлении детально разработанного алгоритма (на основании которого будет создаваться компьютерная программа) необходимо, чтобы в каждом отдельном блоке было записано только одно действие.

Алгоритм создаётся как правило для решения не одной, а многих однотипных задач. Поэтому необходимо заметить, что информационный блок алгоритма предполагает информацию, которая остаётся неизменной от задачи к задаче (в т.ч. постоянные – константы); блок ввода данных предполагает, что информация, «содержащаяся» в этом блоке, может меняться от задачи к задаче, т.е. каждый раз при выполнении алгоритма заново вводится пользователем.

Наиболее простыми являются линейные алгоритмы – это алгоритмы, описывающие процессы, развивающиеся по одному жёстко установленному сценарию – без вариантов и повторений действий.

Если алгоритм предполагает проверку какого-либо условия, в результате чего процесс выполнения алгоритма разделяется на ветви (протекает по разным вариантам) в зависимости от результатов проверки, такой алгоритм называется ветвящимся.

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

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

1) «следование» – это часть алгоритма, состоящая из нескольких блоков (действий, шагов), следующих один за другим; можно сказать, что линейные алгоритмы составлены исключительно из элементов «следования»;

2) «ветвление» – это часть алгоритма, которая отображает, в зависимости от некоторого условия, разделение дальнейшего «движения» на две ветви (в этом элементе в обязательном порядке присутствует логический блок); т.о. алгоритмы ветвления имеют в своём составе как минимум один элемент «ветвления»;

3) структурный элемент «цикл» – это часть алгоритма, на которой происходит возвращение (обычно в результате проверки некоторого условия) к уже пройденным ранее действиям. Такой элемент (в графическом отображении) обычно включает в себя логический блок или блок цикла. Конечно, алгоритм, содержащий в своём составе блок цикла называется циклическим. Упрощённо можно разделить циклы на два вида: цикл, где повторяющиеся действия следуют за проверкой условия и цикл, где они проверке условия предшествуют.

Эти структурные элементы алгоритма составляют одну из важнейших частей теории структурного программирования.

Приведём некоторые правила графического построения алгоритма:

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

-  в блок действия (функциональный блок) входит только одна стрелка, и выходит тоже только одна;

-  в логический блок входит только одна стрелка, выходят только две – ветвь «да» и ветвь «нет» (то же относится к блоку цикла);

-  если возникла необходимость повторения каких-либо действий, стрелку необходимо подводить не к блоку, а к стрелке. (Такой алгоритм будет уже циклическим).

Для наибольшей наглядности блок-схемы желательно строить её, располагая блоки сверху вниз, чётко разделяя ветви, стараясь указывать «возвращения» (циклы) таким образом, чтобы стрелка возращения не пересекала других стрелок.

При построении алгоритмов необходимо соблюдать «правило экономии»: при необходимости повторения действий желательно обойтись уже имеющимися блоками действия. Это требование связано с тем, что при создании программ каждый блок будет реализован как фрагмент программы на языке программирования: чем больше блоков, тем больший объём (размер) будет занимать программа, тем сложнее, а следовательно и нестабильнее в работе она будет.