|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
ЭВМ программа
Рассмотрим пример систематического составления алгоритма и программы для решения на ЭВМ достаточно сложной задачи обработки данных. Четвертая задача: Определить суммы элементов столбцов в матрице 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
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.) |