Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Уч. пос. Коурова.doc
Скачиваний:
30
Добавлен:
10.11.2018
Размер:
423.42 Кб
Скачать

1.3.3. Структуры алгоритма

Схема алгоритма может быть построена с использованием различных структур.

1. Структура "следование" (линейный алгоритм) состоит из нескольких последовательно соединенных блоков Ai "процесс" (рис.3).

Пример записи алгоритма на псевдокоде

Начало

A1, A2, …, An

Конец

Пример графической схемы алгоритма.

Составить графическую схему алгоритма начисления заработной платы П трех сотрудников C1, C2 и С3 за текущий месяц в зависимости от поступле­ний ХС.

2. Структура "ветвление" (разветвляющийся алгоритм) производит выбор одного из двух путей исполнения алгоритма в зависимости от выполнения или невыполнения логического условия Р в блоке "решение" (рис.5).

Если условие Р выполняется, т.е. принимает значение "да" (1 или true - истина), то исполняется процесс А1, при невыполнении условия Р (значение "нет", 0 или false - ложь) исполняется процесс А2.

Пример на псевдокоде

Начало

Если условие Р истинно,

то выполняется блок А1,

иначе выполняется блок А2.

Конец

Пример графической схемы алгоритма.

Составить графическую схему алгоритма расчета подоходного налога. Налог рассчитывается до формуле N=F1, если доход не превышает сумму R1, по формуле N=F2, если доход превышает сумму R1.

3.Структура "переключение" (алгоритм выбора одного процесса из несколь­ких возможных) показана на рис. 7.

Блок "решение" представляет собой набор логических условий Р1, Р2,….,Рm, в зависимости от значения которых осуществляется исполнение одного из процессов A1, A2, …, An.

Пример на псевдокоде.

Начало

Если условие P1 истинно, то выполняется блок A1, иначе проверяется условие Р2; если условие Р2 истинно, то выполняется блок А2; иначе проверяется условие РЗ; если условие РЗ истинно, то выполняется блок A3, иначе проверяется условие Р4; если условие Р4 выполняется, то выполняется блок А4, иначе вывод результатов.

Конец.

Пример графической схемы.

Составить графическую схему алгоритма начисления платы за аренду помещения, если сумма штрафа составляет S1 при задолженности D1 дней, сумма S2 при задолженности D2, сумма S3 при задол­женности D3 (D1 < D2 < D3 ) (рис.8).

4. Структура "повторение" (циклический алгоритм) обеспечивает много­кратное выполнение участка алгоритма, называемого телом цикла. Число исполнений тела цикла может быть заранее известно (вычислено) или неизвестно. Примером структуры с известным числом повторений являются циклы со счетчиком, в которых число повторений регистрируется специаль­ным счетчиком и при достижении заданного числа повторений цикл прекра­щается. Количество повторений исполнения тела цикла неизвестно в так называемых итерационных циклах, где исполнения тела цикла повторяются, пока некоторая монотонно убывающая величина  остается по абсолют­ной величине больше наперед заданного положительного числа , т.е.    > . Такие циклы используются при решений задач методами после­довательных приближений. В циклических алгоритмах используются две основные структуры: цикл с предусловием и цикл с постусловием.

Цикл с предусловием (цикл "пока"), структура которого показана на рис.9.

В этой структуре проверка условия повторения исполнения тела цикла или выхода из цикла осуществляется до начала исполнения тела цикла. Пока условие Р выполняется, т.е. принимает значение «да» (1, true – истина) исполняется тело цикла, но исполнение прекращается, когда Р принимает значение «нет» (0, false - ложь). Если условие Р не вы­полняется с самого начала, то тело цикла не будет выполнено ни- разу. Один из операторов тела цикла после каждого его исполнения изменяет переменную цикла в условии Р, иначе цикл может продолжаться беско­нечно.

Пример на псевдокоде

Начало

пока выполняется условие Р, повторять исполнение А.

Конец

Пример графической схемы.

Составить графическую схему алгоритма построения-графика функции y=f(x), если переменная х принимает значения от xmin до xmax с дискретностью х.

Цикл с постусловием (цикл «до»), структура которого показана на рис.11.

Проверка условия повторения тела цикла осуществляется после испол­нения тела цикла. До тех пор, пока условие Р не будет выполнено, будет повторяться исполнение тела цикла. В этом случае тело цикла исполняется обязательно хотя бы один раз.

Пример на псевдокоде:

Начало

повторять исполнение А

до выполнения условия Р

Конец

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

Пример графической схемы по условию предыдущей задачи показан на рис. 12.

Вложенные циклы. Используются тогда, когда одному значению первой переменной соответствует несколько значений второй переменной, следующему значению первой переменной соответствует тот же набор значений второй переменной и т.д. Это так называемый двойной цикл, где цикл вычислений по второй переменной вложен в цикл по первой переменной. Степень вложения циклов может быть многократной. Вложенные циклы орга­низуются как с предусловием, так и постусловием. Одним из применений вложенных циклов является обработка многомерных массивов. Чтобы исключить ошибки, следует помнить, что начало и завершение вложенного цикла должны находиться внутри одного и того же цикла более высокого уровня.

Пример графической схемы.

Составить графическую схему алгоритма вычисления функции y=f(А,x), если х принимает значения от 0 до 1 с дискретностью 0,01, а коэффициент А принимает все значения натурального ряда чисел в интервале от 0 до 10 (рис. 13).