2.5. Базовые алгоритмические структуры
Алгоритм любой сложности может быть представлен комбинацией трёх базовых структур:
-
следование;
-
ветвление;
-
повторение (цикл).
Например: вычислить
значения функции
Процесс, описываемый структурой следования, называется линейным.
Совокупность базовых структур "следование" называется линейным вычислительным алгоритмом.
Структура "ветвление" разделяет последовательность действий на 2 направления в зависимости от итога заданного условия.
Например: вычислить
значения функции
Алгоритм, в состав которого входит структура "ветвление" называется разветвляющимся.
Структура " повторение" обеспечивает повторное выполнение одного или группы операторов – цикл. Эта группа операторов называется телом цикла.
Различают две разновидности этой структуры:
"цикл - пока" и
"цикл - до".
В "цикле – пока" условие проверяется перед выполнением операторов тела цикла и в зависимости от результата проверки, тело цикла может вовсе не выполняться.
Например: вычислить
значения функции
z
= cos x * cos
a, если параметр а изменяется
в заданных пределах от 0,1 до 1 с шагом
0,2.
В "цикле – до" тело цикла выполняется всегда, а потом уже проверяется условие.
Например:
вычислить
сумму бесконечного ряда с точностью
до10-4, при x=2
Алгоритм, в состав которого входит структура "цикл" называется циклическим.
Общая схема организации алгоритма циклической структуры.
Например:
вычислить конечную сумму (или произведение)
Параметр цикла – это переменная (индекс), которая изменяется (с шагом) при каждом новом выходе на повторение.
Циклы могут содержать внутри себя другие циклы. Такие структуры называются вложенными. Например, вычисление конечных сумм и произведений
2.6. Методы алгоритмизации задач
Реальные алгоритмы представляют собой совокупность всех рассмотренных базовых структур. Наиболее часто употребляются:
-
линейные вычисления,
-
ветвления,
-
выбор,
-
циклы, (вложенные циклы),
-
подпрограммы.
Задача
3. Вычислить значения функции ,
в
диапазоне изменения x
от 0 до 3 с шагом 0.5.
Будем
использовать алгоритмическую структуру
– цикл "до",
program
С1;
. . . .
.
var
y:real;
const
x:real=0;
begin
repeat
if
x>1 then
y:=sin(x)
else
y:=cos(x);
writeln('x=',x:6:2,
'y=',y:6:2);
x:=x+0.5;
until
x>3;
end.