ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Глава 3. Алгоритмы, реализуемые с помощью вложенных циклов типа ДЛЯ
Вложенные циклы типа для особенно часто используются при обработке матриц (двумерных массивов, прямоугольных таблиц) и векторов (одномерных массивов, линейных таблиц):
Пример 3.1. Вычислить суммы элементов столбцов заданной матрицы A(N, M). Тест
Алгоритмический язык алг Суммы столбцов (арг цел N, M, арг вещ таб A[1:N, 1:M], рез вещ таб S[1:M]) дано | N>0, M>0 нач цел i, j нц для j от 1 до M | цикл по столбцам S[j]:=0 нц для i от 1 до N | цикл по элементам S[j]:=S[j] + A[i, j] |текущего столбца кц Блок-схема кц Кон Исполнение алгоритма
Turbo Pascal Program SumColumn; Uses Crt; Var A: Array [1..10, 1..10] of Real; N, M, i, j: Integer; S: Array [1..10] of Real; {--------------------------------------------} Procedure InputOutput; Begin {описание процедуры ввода-вывода исходных данных} ClrScr; Write('Количество строк - '); ReadLn(N); Write('Количество столбцов - '); ReadLn(M); For i:= 1 to N do {Ввод элементов матрицы} For j:= 1 to M do begin Write('A[', i, ', ', j, ']=? '); {вывод запроса} ReadLn(A[i, j]) {ввод значения} end; WriteLn; ClrScr; WriteLn(' Матрица А'); For i:= 1 to N do {Вывод матрицы по строкам} begin For j:= 1 to M do Write(A[i, j]: 5: 1); {вывод i-ой строки} WriteLn {перенос курсора на начало следующей строки} end; WriteLn End; { of InputOutput } {--------------------------------------------} Procedure SumCol; Begin {описание процедуры вычисления сумм элементов столбцов} For j:= 1 to M do {цикл по столбцам матрицы} begin S[j]:= 0; {обнуление суммы элементов j-го столбца} For i:= 1 to n do S[j]:= S[j] + A[i, j] {накопление суммы} end; End; { of SumCol } {--------------------------------------------} Procedure OutResult; {описание процедуры вывода результатов} Begin Write('О т в е т: Суммы элементов столбцов равны '); For j:= 1 to M do Write(S[j]: 5: 1); WriteLn; ReadLn End; { of OutResult } {--------------------------------------------} BEGIN InputOutput; {вызов процедуры ввода-вывода исходных данных } SumCol; {вызов процедуры вычисления сумм } OutResult; {вызов процедуры вывода результатов} END. Не нашли, что искали? Воспользуйтесь поиском:
|