ЭВМ программа

Рассмотрим пример систематического составления алгоритма и программы для решения на ЭВМ достаточно сложной задачи обра­ботки данных.

Четвертая задача: Определить суммы элементов столбцов в матрице Anxm:

Приведем обобщенную постановку задачи и описание соответст­вующих общего метода решения и сценария диалога.

Постановка задачиСценарий

Дано: Матрица <N>´<M>

(a11 … a1N) < a11>... < a1N >

(.........) - матрица Anxm.........

(aMl … aMN) < aMl > … < aMN >

Треб.: Суммы элементов:

(S1..., SN) - суммы столбцов <S1>... <S N >

Где:

Si = аi1 +...+ аiM

[i = (1… N)]

При: N > 0, М > 0.

Метод вычисленийПредставление данных

sk0 = 0 matr: ' матрица Anm:

sk1 = ak1+ sk1-1 data 3, 4

[1 = (1... M)] data I, 2, 3, 4

Sk = SkN data 0, 1, 2, 3

[k = (1... N)] data 0, 0, 1, 2

В предлагаемой ниже программе для представления матриц ис­пользуются операторы data. В первом из этих операторов записаны размеры, а в каждом последующем операторе - строки матрицы:

АлгоритмПрограмма

алг «сумма строк матрицы» ' сумма строк матрицы

нач cls

чтение (п, т). read n, m

если п > 0 и т > 0 то if N > 0 and М > 0 then

массив А[1:п,1:т] dim A (N,M)

массив S[1:n] dim S(n)

ввод-вывод_матрицы gosub vvod 'ввод-матрицы

суммирование_строк gosub sum 'суммирование

от k = 1 до п цикл for k= 1 to n

выв (s[k])? s[k]

кцикл next k

все end if

кон end

алг «суммирование строк» sum: 'суммирование строк

нач ' нач

от k = 1 до N цикл for k = 1 to n

s[k]:= 0 s[k] = 0

от l = 1 до М цикл for I = 1 to m

s[k]:= s[k] + A[k,l] s[k] = s[k] + a[k,l]

кцикл next I

кцикл next k

кон return

алг «ввод-вывод_матрицы» vvod: 'ввод-вывод_матрицы

нач ' нач

вывод («Матрица», N, «х», М)? «Матрица»; m; «х»; m

от k = 1 до N цикл for k = 1 to n

от I = 1 до М цикл for l = 1 to m

чтение (A [k,l]) read A (k,l)

вывод (A [k,l])? A (k,l)

кцикл next 1

нов_строка?

кцикл next k

кон return


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



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