Navigation bar
  Print document Start Previous page
 72 of 144 
Next page End  

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
Сайт создан в системе uCoz