Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Подпроцесс с несколькими результатами




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

Постановка задачи

Вычислить значение функции:

при изменении размера (n) массива Х до максимального значения 30, а размера (m) массива Y до 50.

Формирование математической модели

Исходные данные

X(n) – одномерный массив;

xi – значение i-го элемента;

– диапазон изменения индекса i, n £ 30;

i = i + 1 – шаг изменения индекса i.

Примем n = 5, зададимся x1=1; x2=1,6; x3=1,8;

x4=15; x5=23;

Y(m) – одномерный массив;

yj – значение j-го элемента;

– диапазон изменения индекса j, m £50;

j = j + 1 – шаг изменения индекса j.

Примем m = 6, зададимся y1=0,6; y2=0,76; y3=0,99; y4=180; y5=67,7; y6=200.

Расчетные зависимости

– сумма элементов массива Х(n);

– произведение элементов массива Х(n);

– сумма элементов массива Y(m);

– произведение элементов массива Y(m);

– искомое значение.

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

Анализ математической модели показывает, что решение задачи требует двукратного вычисления суммы и произведения элементов массива. В первом случае 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). Два начальных параметра в каждом обращении являются входными и определяют имя и размер передаваемого в подпрограмму массива. Остальные являются выходными, предназначенными для получения значений суммы и произведения из подпрограммы.

Следовательно, рациональный метод решения задачи – вычислительный процесс с одним подпроцессом при использовании основного алгоритма с обращениями sp(X, n, SX, PX) и sp(Y, m, SY, PY) и дополнительного алгоритма с формальными параметрами Z, k, SZ, PZ.





Поделиться с друзьями:


Дата добавления: 2015-11-23; Мы поможем в написании ваших работ!; просмотров: 394 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Логика может привести Вас от пункта А к пункту Б, а воображение — куда угодно © Альберт Эйнштейн
==> читать все изречения...

2286 - | 2212 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.