Составление алгоритма решения

Выбор метода решения

Анализ показывает, что решение задачи требует двукратного вычисления суммы и произведения элементов массива. В первом случае n элементов массива X, во втором – m элементов массива Y. Такое вычисление удобно выполнить в циклическом процессе, оформленном дополнительным алгоритмом. Так как результат вычислений в дополнительном алгоритме (подпрограмме) – две величины, то решение задачи требует использования дополнительной функции, возвращающей более одного результата.

Особенностью подпрограмм с несколькими возвращаемыми значениями является использование в них входных и выходных формальных параметров.

Входнымиформальными параметрами называются такие, значения которым передаются из основного алгоритма.

Выходнымиформальными параметрами называются те, которые передают результаты расчётов из дополнительного алгоритма (подпрограммы) в основной.

Для рассматриваемой задачи в качестве входных формальных параметров выберем, например, имя массива Z и его размер k. Тогда в качестве выходных параметров можно использовать SZ (сумма Z) и PZ (произведение Z). Следовательно, в качестве формальных параметров выбраны Z, k, SZ, PZ.

Для работы с подпрограммой организуются обращения к ней из основного алгоритма. Естественно, что в обращениях используются входные и выходные фактические параметры.

Входными фактическими параметрами называются такие, численные значения которых передаются в подпрограмму.

Выходнымифактическими параметрами называются такие, которые принимают переданные из подпрограммы результаты.

Поэтому, задавшись именем подпрограммы sp, сформируем два обращения к ней: для расчёта суммы и произведения элементов массива X – sp(X(n), SX, PX) и для тех же вычислений с массивом Y – sp(Y(m), SY, PY). Первый параметр в каждом обращении является входным и определяет имя и размер передаваемого в подпрограмму массива. Остальные являются выходными, предназначенными для получения значений суммы и произведения из подпрограммы.

 

 

Характерной особенностью основного алгоритма при работе с подпрограммой с несколькими возвращаемыми результатами является, как правило, организация каждого обращения к ней отдельным блоком «предопределённый процесс». Эта особенность учтена в схеме основного алгоритма (рис. 6.5). В дополнительном алгоритме локальная переменная i используется для организации цикла перебора текущих значений формального параметра Z.

Рис. 6.5. Схемы основного и дополнительного алгоритмов примера 6.3