Студопедия Главная Случайная страница Задать вопрос

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

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




 

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

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

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

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

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

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

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

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

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

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

Где:

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

 







Дата добавления: 2014-11-12; просмотров: 211. Нарушение авторских прав

Studopedia.info - Студопедия - 2014-2017 год . (0.016 сек.) русская версия | украинская версия