Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Рассмотрим пример систематического составления алгоритма и программы для решения на ЭВМ достаточно сложной задачи обработки данных.
Четвертая задача: Определить суммы элементов столбцов в матрице 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
Вопросы
1. Что такое постановка задачи?
2. Что включается в постановку задач?
3. Что такое способ решения?
4. Что такое метод решения?
5. Каков порядок решения новых задач?
6. Что такое систематическая разработка алгоритмов и программ?
Задачи
1. Приведите постановку задачи, сценарий, алгоритм и программу подсчета сумм:
а) нечетных чисел;
б) квадратов целых чисел;
в) кубов целых чисел.
2. Приведите постановку задачи, сценарий, алгоритм и программу подсчета сумм:
а) членов арифметической прогрессии;
б) членов геометрической прогрессии.
3. Для последовательности чисел х1, х2..., хN приведите постановку задачи, составьте сценарий, алгоритм решения и программу:
а) подсчета суммы всех чисел;
б) вычисления среднего арифметического чисел;
в) определения наибольшего из чисел;
г) определения наименьшего из чисел.
4. Для данных об учениках, содержащих сведения об их росте и весе, приведите постановку задачи, составьте сценарий, алгоритм и программу определения:
а) самого высокого ученика; г) самого легкого ученика;
б) самого низкого ученика; д) средний рост учеников;
в) самого тяжелого ученика; е) средний вес учеников.
5. Для данных о днях рождения своих друзей и родных приведите постановку задачи, составьте сценарий, алгоритм решения и программу:
а) определения ровесников;
б) определения людей, родившихся в один день;
в) самого молодого из своих друзей и родных;
г) самого старшего из своих родных и друзей.
Дата публикования: 2014-10-25; Прочитано: 937 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!