Программная форма записи алгоритма
Программный способ записи алгоритма представляет собой написанный на языке программирования текст программы.
Например:
Program Prim;
Var
S, x, a: integer;
Begin
Writeln(‘Введите a и х’):
Readln(a,x);
s:=a+x;
Writeln(‘Сумма чисел а и х равна ’);
Readln;
End.
Базовые алгоритмические структуры
Типы базовых алгоритмических структур
В общем случае блок-схема алгоритма имеет сложную структуру и, следовательно, может быть выражена композицией элементарных блок-схем, которые принято называть базовыми.
Логическая структура любого алгоритма может быть представлена комбинацией трех базовых алгоритмических структур:
- алгоритмов линейной структуры, которые иногда называют следованием (последовательностью),
- алгоритмов разветвляющейся структуры, называемых ветвлением,
- алгоритмов циклической структуры, называемых циклами.
Характерной особенностью базовых структур является наличие в них одного входа и одного выхода.
14.3.2 Линейная базовая структура ("последовательность")
Линейная базовая структура — это алгоритм, в котором блоки выполняются последовательно друг за другом, в порядке, заданном схемой. Такой порядок выполнения называется естественным.
Образуется последовательностью действий, следующих одно за другим.
Таблица 14.2
| Процесс | Блок-схема |
| действие 1 действие 2 . . . . . . . . . действие n |
|
Пример. Вычислить высоты треугольника со сторонами а, b, с, используя формулы:

где
.
Для решения любой нетривиальной задачи существует несколько алгоритмов, приводящих к получению результата. Из возможных алгоритмов следует выбирать наилучший по некоторому критерию. Чаще всего в качестве критерия выбирается либо оценка точности решения задачи, либо затраты времени на ее решение, либо некоторый интегральный критерий, включающий оценки точности и затраты времени.
При решении данной задачи для исключения повторений следует вычислять высоты не по приведенным выше формулам непосредственно, а используя промежуточную переменную
,
тогда ha=t/a, hb=t/b, hc=t/c.
При этом схема алгоритма решения имеет вид, представленный на рисунке 14.1.
14.3.3 Базовая структура "ветвление".
Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран. Структура ветвление существует в четырех основных вариантах:
- если – то;
- если – то – иначе;
- выбор;
- выбор – иначе.
Таблица 14.3
| Выполняемые действия | Блок-схема |
| 1. если—то | |
| если условието действиявсе |
|
| 2. если—то—иначе | |
| если условието действия 1иначе действия 2все |
|
| 3. выбор | |
| выборпри условие 1: действия 1при условие 2: действия 2. . . . . . . . . . . .при условие N: действия Nвсе |
|
| 4. выбор—иначе | |
| выборпри условие 1: действия 1при условие 2: действия 2. . . . . . . . . . . .при условие N: действия Nиначедействия N+1все |
|
Примеры структуры ветвление даны в таблице 14.4.
Таблица 14.4
| Выполняемые действия | Блок-схема |
| если x > 0 то y := sin(x) все |
|
| если a > b то a := 2*a; b := 1 иначе b := 2*b все |
|
| выборпри n = 1: y := sin(x)при n = 2: y := cos(x)при n = 3: y := 0все |
|
| выборпри a > 5: I := I+1при a = 0: j := j+1иначе I := 10; j:=0все |
|
14.3.5 Базовая структура "цикл"
Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла. Основные разновидности циклов представлены в таблице 14.5.
Таблица 14.5
| Выполняемые действия | Блок-схема |
| Цикл типа пока. Предписывает выполнять тело цикла до тех пор, пока выполняется условие, записанное после слова пока. | |
| пока условие тело цикла (последовательность действий) |
|
| Цикл типа для. Предписывает выполнять тело цикла для всех значений некоторой переменной (параметра цикла) в заданном диапазоне. | |
| для i от i1до i2 тело цикла (последовательность действий) |
|
Примеры структуры цикл приведены в таблице 14.6.
Таблица 14.6
| Выполняемые действия | Блок-схема |
| пока i <= 5 S := S+A[i] i := i+1 |
|
| для i от 1 до 5 X[i] := i*i*i Y[i] := X[i]/2 |
|
Дата добавления: 2021-03-18; просмотров: 692;











