6 лаба по программированию (паскаль). отчет по 6 лабе — копия. Программа случайным образом генерирует матрицу из n элементов
Скачать 241.65 Kb.
|
Задание 1. Вычислить и запомнить сумму и число положительных элементов каждого столбца матрицы. Результаты отпечатать в виде двух строк. 1.Действия. Программа случайным образом генерирует матрицу из n элементов. Далее программа находит и запоминает положительные элементы и выполняет действия, указанные в задании. 2.Переменные.
3.Блок-схема. 4.Текст программы. program task1; uses crt; const n = 5; m = 5; type mass = array[1..n, 1..m] of integer; var i, j, sum: integer; a: mass; begin randomize; for i := 1 to n do for j := 1 to m do a[i, j] := random(100) - 50; for i := 1 to n do begin for j := 1 to m do write('|', a[i, j]:3, '|'); writeln; end; for j := 1 to m do begin sum := 0; for i := 1 to n do begin sum := sum + a[i, j]; end; write('|', sum, '|'); end; writeln; for j := 1 to m do for i := 1 to n do if a[i, j] > 0 then write('|', a[i, j]:3, '|'); end. 5.Тестирование. Задание 2. Найти сумму всех четных элементов двумерного массива. 1.Действия. Программа случайным образом генерирует матрицу из n элементов. Далее программа находит сумму всех четных чисел. 2.Переменные.
3.Блок-схема. 4.Текст программы. program task2; uses crt; const n = 5; m = 5; type mass = array[1..n, 1..m] of integer; var i, j, sum: integer; a: mass; begin randomize; for i := 1 to n do for j := 1 to m do a[i, j] := random(100) - 50; for i := 1 to n do begin for j := 1 to m do write('|', a[i, j]:3, '|'); writeln; end; sum := 0; for i := 1 to n do begin for j := 1 to m do begin if a[i, j] mod 2 = 0 then sum := sum + a[i, j]; end; end; writeln; write('|', sum, '|'); readln; end. 5.Тестирование. Задание 3. Дана квадратная вещественная матрица размерности n. Сравнить сумму элементов матрицы на главной и побочной диагоналях. 1.Действия. Программа случайным образом генерирует матрицу из n элементов. Далее программа находит и сравнивает суммы побочной и главной диагоналей. 2.Переменные.
3.Блок-схема. 4.Текст программы. program task3; uses crt; const n = 5; m = 5; type mass = array[1..n, 1..m] of real; var i, j: integer; sum, sum1: real; a: mass; begin randomize; for i := 1 to n do for j := 1 to m do a[i, j] := random(10); for i := 1 to n do begin for j := 1 to m do write('|', a[i, j]:6:1, '|'); writeln; end; sum := 0; i := 1; j := 1; while (i <= n) and (j <= m) do begin sum := sum + a[i, j]; i := i + 1; j := j + 1; end; writeln('Сумма главной диагонали =', sum:6:1); sum := 0; i := 1; j := m; while (i <= n) and (1 <= j) do begin sum := sum + a[i, j]; i := i + 1; j := j - 1; end; writeln('Сумма побочной диагонали = ', sum:6:1); end. 5.Тестирование. Задание 4. Дано натуральное число n. Выяснить, сколько положительных элементов содержит матрица [ai j] ij=1,...,n, если ai j= sin (i+j/2). 1.Действия. Матрица заполняется по формуле i j= sin (i+j/2) и программа считает, сколько положительные элементов в такой матрице. 2.Переменные.
3.Блок-схема. 4.Текст программы. program task4; uses crt; const n = 5; m = 5; type mass = array[1..n, 1..m] of real; var i, j, k: integer; a: mass; begin for i := 1 to n do for j := 1 to m do a[i, j] := sin(i + j / 2); for i := 1 to n do begin for j := 1 to m do write('|', a[i, j]:6:1, '|'); writeln; writeln; end; writeln; k := 0; for j := 1 to m do for i := 1 to n do if a[i, j] > 0 then k := k + 1; write(k); readln; end. 5.Тестирование. |