Использование подпрограмм в алгоритмах
Во многих расчетных задачах возникает необходимость повторить несколько раз одну и та же совокупность действий в разных частях алгоритма. Тогда целесообразно составить алгоритм предопределенного процесса (подпрограмму), в который выделить эту совокупность действий. При составлении блок-схемы основной задачи необходимо предусмотреть обращение к этому алгоритму (подпрограмме).
Пример. Вычислить разность между средними арифметическими элементов массива X (x1, x2, …, x50) с четными индексами и элементов с нечетными индексами
Для вычисления R необходимо дважды определить среднее арифметическое 25 разных элементов массива X. Поэтому следует в качестве предопределенного процесса (подпрограммы) Sum(k, n, X) выделить вычисления:
Формулу для подпрограммы желательно записать в общих обозначениях, присутствующих в основной задаче.
Блок-схема алгоритма вычисления R изображена на рис. 8. Она состоит из двух частей. Справа находится алгоритм решения основной задачи, а слева показан алгоритм работы подпрограммы Sum.
В блок-схеме алгоритма основной задачи в блоках 2-3 производится ввод значений элементов массива Х, блоки 4 и 7 задают значения исходных данных (параметров) подпрограммы перед каждым обращением к ней. Первый раз задаются k=1 и n=49, во второй раз k=2 и n=50. В блоках 5 и 8 производится обращение к подпрограмме Sum с передачей ей значений параметров k, n и массива X. В блоках 6 и 9 поэтапно вычисляется значение R.
Блоки 12-15 описывают алгоритм работы подпрограммы Sum. Блок-схема вспомогательного алгоритма начинается блоком “Вход” с указанием имени подпрограммы и списка ее исходных данных, а заканчивается блоком “Выход” со списком выходных данных.
Рисунок 8 - Блок-схема алгоритма, который содержит подпрограмму