Алгоритмы, содержащие вспомогательные

ПОДЗАДАЧИ

При решении многих расчетных задачах возникает необходимость повторить несколько раз одну и ту же последовательность действий в разных частях алгоритма. В этом случае рационально выделить повторяющуюся последовательность действий в отдельную подзадачу – подпрограмму. Разработав алгоритм вспомогательной подзадачи, при составлении блок-схемы основного алгоритма необходимо предусмотреть обращение (вызов) к этой подзадаче.

Пример 7. Составить подпрограмму вычисления суммы элементов массива, которую использовать для обработки массивов A[Na], B[Nb]. Элементы массивов вычислять по формулам: Ar= 0. 3 × r2 1.2 ×r; Bt= 0.5 ×t2+ 1.7 ×t.

При решении поставленной задачи можно выделить несколько подзадач:

1. Подзадача вычисления (формирования) элементов исходных массивов А и В. Для этого следует обратить внимание на формульные зависимости по которым вычисляются элементы массивов и вывести общую зависимость. В нашем случае она будет иметь вид: Xi = k 1 × i2+k 2 × i.

2. Подзадача вывода элементов исходных массивов.

3. Подзадача вычисления суммы элементов массивов.

На рис. 7.1 приведена блок-схема алгоритма подзадачи вычисления элементов внутреннего одномерного массива Х. В качестве исходных данных в подзадачу передаются: массив Х, размерность массива M, коэффициенты k 1 и k 2.

На рис. 7.2 приведена блок-схема алгоритма подзадачи вывода элементов внутреннего массива Х. В качестве исходных данных в подзадачу передаются: массив Х, размерность массива M.


На рис. 7.3 приведена блок-схема алгоритма подзадачи вычисления суммы элементов внутреннего массива Х. В качестве исходных данных в подзадачу передаются: массив Х, размерность массива M. Результатом работы подзадачи будет вычисленное значение суммы элементов массива S.

На рис. 7.4 приведена блок-схема основного алгоритма решения задачи. Вначале алгоритма вводятся размерности обрабатываемых массивов А и В (блок 2). Блок 3 выполняет обращение к подпрограмме расчета элементов массива рр1 и передает в неё фактические параметры массива А и коэффициенты для формульной зависимости. После завершения работы подпрограммы рр1 в основной алгоритм будет возвращен сформированный массив А. Затем в блоке 4 выполняется вызов подпрограммы вывода элементов массива рр2, в которую также передаются фактические параметры массива А. Завершается обработка 1-го массива обращением к подпрограмме рр3 (блок 5), которая возвратит в переменную Sa значение вычисленной суммы элементов массива А.

Аналогичным образом в блоках 6-8 обрабатывается массив В. Завершает работу основного алгоритма вывод результирующих сумм Sa и Sb (блок 9).

Использование вспомогательных подзадач позволило избежать повторения одних и тех же по сути фрагментов блок-схемы алгоритма.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: