72
Систематический подход:
задача
способы
постановка
методы
сценарий
алгоритмы
ЭВМ
программа
Рассмотрим пример систематического составления алгоритма и программы для решения на
ЭВМ достаточно сложной задачи обработки данных.
Четвертая задача: Определить суммы элементов столбцов в матрице A
nxm
:
2
,
1
,
0
,
0
3
,
2
,
1
,
0
4
,
3
,
2
,
1
Приведем обобщенную постановку задачи и описание соответствующих общего метода
решения и сценария диалога.
Постановка задачи
Сценарий
Дано:
Матрица <N>
<M>
(a
11
a
1N
)
< a
11
> ... < a
1N
>
(... ... ... ) - матрица Anxm
... ... ...
(a
Ml
a
MN
)
< a
Ml
>
< a
MN
>
Треб.:
Суммы элементов:
(S1 ..., S
N
)
- суммы столбцов
<S1> ... <S
N
>
Где:
S
i
= а
i1
+ ...+ а
iM
i = (1
N)]
При: N > 0, М > 0.
Метод вычислений
Представление данных
sk0 = 0 matr:
' матрица Anm:
s
k1
=
a
k1
+
s
k1-1
data 3, 4
[1 = (1 ... M)]
data I, 2, 3, 4
S
k
= S
kN
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
|