
5. Структурированные схемы и их построение
№ п/п |
Символ |
Наименование |
Содержание |
1 |
|
Начало (конец) |
Начало или конец алгоритма, вход или выход в программу |
2 |
|
Блок ввода-вывода данных |
1.Общие обозначения ввода(вывода) данных (вне зависимости от физического носителя) 2.Вывод данных, носителем которых является документ |
3 |
|
Блок вычислений |
Вычислительные действия или последовательность действий |
4 |
|
Логический блок |
Выбор направления выполнения алгоритма в зависимости от некоторого условия |
5 |
|
Процесс пользователя (подпрограмма) |
Вычисление по стандартной программе или подпрограмме |
6 |
|
Блок модификации |
Функция выполняет действия, изменяющие пункты (н-р заголовок цикла алгоритма) |
7 |
|
Соединитель |
Указание связи прерванными линиями между потоками информации в пределах одного листа |
8 |
|
Межстраничное соединение |
Указание связи между информацией на разных листах |
-
Линейные и разветвляющиеся структуры.
Линейными называются алгоритмы, в которых действия осуществляются последовательно друг за другом. Стандартная блок-схема линейного алгоритма приводится ниже (Рисунок 2):
Рисунок 2
Разветвляющимся называется алгоритм, в котором действие выполняется по одной из возможных ветвей решения задачи, в зависимости от выполнения условий. В отличие от линейных алгоритмов, в которых команды выполняются последовательно одна за другой, в разветвляющиеся алгоритмы входит условие, в зависимости от выполнения или невыполнения которого выполняется та или иная последовательность команд (действий).
В качестве условия в разветвляющемся алгоритме может быть использовано любое понятное исполнителю утверждение, которое может соблюдаться (быть истинно) или не соблюдаться (быть ложно). Такое утверждение может быть выражено как словами, так и формулой. Таким образом, алгоритм ветвления состоит из условия и двух последовательностей команд.
В зависимости от того, в обеих ветвях решения задачи находится последовательность команд или только в одной, разветвляющиеся алгоритмы делятся на полные и не полные (сокращенные).
Стандартные блок-схемы разветвляющегося алгоритма приведены ниже (Рисунок 3):
Рисунок 3
-
Циклические структуры. Типы циклов.
Цикл является одной из важнейших алгоритмических структур и представляет собой последовательность операторов, которая выполняется неоднократно.
Циклический алгоритм – это алгоритм, предусматривающий многократное повторение одного и того же действия над новыми данными.
Цикл называется арифметическим, если число повторений цикла известно заранее или может быть вычислено.
Цикл, для которого нельзя указать число повторений, и проверка окончания которого происходит по достижению нужного условия, называется итерационным.
Различают следующие типы циклов:
- цикл с предусловием;
- цикл с постусловием;
- цикл со счетчиком.
Оператор цикла с предусловием.
Оператор цикла с предусловием организует выполнение одного (возможно составного) оператора неизвестное число раз. Выход из цикла осуществляется, если некоторое логическое выражение окажется ложным. Так как истинность логического выражения проверяется вначале, то тело цикла может не выполниться ни разу.
Структура оператора:
While <условие> do <оператор>;
В этой структуре:
<условие> — логическое выражение, истинность которого проверяется вначале выполнения циклического оператора;
<оператор> — любой выполняемый оператор языка (в том числе и составной, т.е. последовательность операторов, заключенная в операторные скобки Begin — End).
Порядок выполнения оператора:
Пока условие истинно выполняется оператор, следующий за служебным словом do. Как только условие становится ложно выполнение оператора цикла прекращается.
Блок-схема оператора цикла с предусловием (Рисунок 4):
Рисунок 4
Оператор цикла с постусловием.
Цикл с постусловием (цикл «до тех пор, пока») используется, если необходимо, чтобы тело цикла выполнялось по крайней мере один раз.
Структура оператора:
Repeat
тело цикла
Until <условие>;
Этот цикл будет выполняться, пока логическое выражение после слова until ложно. Как только результат выражения станет истинным, произойдет выход из цикла. Вычисление выражения выполняется в конце каждой итерации цикла.
Блок-схема оператора цикла с постусловием (Рисунок 5):
Рисунок 5
Цикл с параметром for.
Этот оператор применяется, если требуется выполнить тело цикла заранне заданное количество раз. Параметр порядкового типа на каждом проходе цикла автоматически либо увеличивается, либо уменьшается.
Структура оператора цикла с перебором по возрастанию:
For параметр:= выражение_1 to выражение_2 do оператор;
Структура оператора цикла с перебором по убыванию:
For параметр:= выражение_2 downto выражение_1 do оператор.
Выражения должны быть того же типа, что и переменная цикла, оператор – простым или составным.