Когда одни и те же вычисления должны выполняться в различных участках программы, собственно расчетные операции выделяют в подпрограмму.
Разрабатывая схему алгоритма, мы должны всегда доводить ее до уровня типовых приемов программирования. Для каждого из типовых приемов программирования на схеме алгоритма имеется один вход и один выход. Это означает, что на укрупненной схеме алгоритма соответствующие участки выглядят как линейные. Поэтому и удается на укрупненной схеме избегать ненужных подробностей, детализируя их по мере необходимости, при раскрытии структуры отдельных блоков.
Пример использования подпрограмм:
алг Alg(аргвещ X, Y, Z, резвещ D) алг F1(аргвещ Arg, резвещ Res)
начнач
| ввод X, Y, Z | Res:=Arg*Arg
| A:=F1(X) кон
| B:=F2(Y,Z)
| C:=F2(A,B) алг F2(аргвещ Arg1, Arg2, резвещ Res)
| D:=A+B+C нач
| вывод D | Res:=Arg1*Arg2
конкон
Схема алгоритма: