Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Составление алгоритма решения. Анализ показывает, что решение задачи требует многократного вычисления суммы элементов каждой строки двумерных массивов A и B

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

Анализ показывает, что решение задачи требует многократного вычисления суммы элементов каждой строки двумерных массивов A и B. В первом случае m элементов сумм массива A, во втором – t элементов сумм массива B.

Результаты вычислений для положительных сумм каждой исходной матрицы представляются одномерными массивами SSA(mp) и SSB(tp), где mp и tp – размеры созданных массивов. Такое вычисление удобно выполнить в циклическом процессе, оформленном дополнительным алгоритмом, входным параметром которого является исходный двумерный массив, а выходным – результирующий одномерный.

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

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

Поэтому, задавшись именем подпрограммы sum_str, сформируем два обращения к ней: для расчёта положительных сумм элементов строк массива A – sum_str(A(mxn),SSA(mp)) и для тех же вычислений с массивом B – sum_str(B(txs), SSB(tp)). Первый параметр в каждом обращении является входным и определяет имя и размеры передаваемого в подпрограмму двумерного массива. Второй параметр является выходным, предназначенным для получения одномерного массива значений положительных сумм строк из подпрограммы.

 

 

В основном алгоритме выполним ввод и вывод исходных двумерных матриц.

В дополнительном алгоритме произведём вычисление текущего значения суммы элементов каждой строки, проверку его знака с формирование положительных сумм в формальный одномерный массив. При формировании этого массива используется параметр цикла (индекс d), изменяющий своё значение от начального (d = 0) до конечного по закону изменения d = d + 1 для каждой положительной суммы. Полученное конечное значение индекса определяет искомые значения размеров формируемых массивов A(mp) и B(tp).

Обращение к дополнительному алгоритму произведем двукратно, что позволит последовательно передать в него каждый из исходных массивов. Алгоритмы представлены схемами рис. 6.8.

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

 

<== предыдущая лекция | следующая лекция ==>
Математическая формулировка. Подпрограмма с результатом – массивом | Программирование задачи. Особенность составленных алгоритмов в отличие от предыдущих заключается в необходимости передачи в дополнительный алгоритм многомерных массивов и возвращения
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 389; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.