Важнейшим технологическим приёмом структурного программирования,
является декомпазиция решаемые задачи решаются на подзадачи –
более простые с точки зрения прграмирования части исходной задачи.
Алгоритмы решения таких подзадач называются вспомогательными
алгоритмами. В связи с этим возможны 2 пути построения алгоритма:
1. сверху – вниз, когда сначала строится основной алгоритм затем
вспомогательные алгоритмы.
2. с низу – вверх, когда сначала вспомогательный, затем основные.
Подход сверху – вниз, называется методом последовательной
детализации. С низу вверх, сборочным методом.
Метод последовательной детализации
сначало анализируется исходная задача. В ней выделяются подзадачи.
Строится иерархия таких подзадач.
Затем составляются алгоритмы (или программы), начиная с основного
алгоритма (основной программы), далее — вспомогательные алгоритмы
(подпрограммы) с последовательным углублением уровня, пока не получим
алгоритмы, состоящие из простых команд.
Пример: проссумировать элементы
одномерного массива из 10 элементов.
Начнём с того что представим в общем виде алгоритм как линейную
последовательность этапов решения задач:
1. ввод массива с клавиатуры;
2. подсчёт суммы элементов в массиве;
3. вывод результата.
Первый шаг детализации – наметить все необходимые подпрограммы
указав лишь их заголовки:
Program Sum_ma;
Var A: array [1…10] of real;
I: integer;
Begin
Procedure Wwod_mas; {введите массив с клавиатуры};
Function Sum (A: array [1…10] of real): real;
{подсчитать сумму в массиве};
Writeln (Sum(A));
End.
Второй шаг детализации – составим подпрограмму:
Procedure Wwod_mas;
Var
A: array [1…10] of real;
Begin
Writeln (“Введите
массив”);
For i:=1 to 10 do
Readln (A
[i]);
End.
Function Sum (A: array [1…10] of real): real;
Var
I: integer;
S: integer;
Begin For i:=1 to 10 do
S: = S+A[i];
Sum: = S;
End.
Окончательно объеденив тексты программ, тексты подпрограмм с основной
программой получили рабочий вариант программы Sum_mas.