Главная страница

6 лаба по программированию (паскаль). отчет по 6 лабе — копия. Программа случайным образом генерирует матрицу из n элементов


Скачать 241.65 Kb.
НазваниеПрограмма случайным образом генерирует матрицу из n элементов
Анкор6 лаба по программированию (паскаль
Дата11.12.2021
Размер241.65 Kb.
Формат файлаodt
Имя файлаотчет по 6 лабе — копия.odt
ТипПрограмма
#300235

Задание 1.

Вычислить и запомнить сумму и число положительных элементов каждого столбца матрицы. Результаты отпечатать в виде двух строк.

1.Действия.

Программа случайным образом генерирует матрицу из n элементов.

Далее программа находит и запоминает положительные элементы и выполняет действия, указанные в задании.

2.Переменные.

Переменная

Тип

Назначение

N,m,

integer

Максимальный элемент

sum

integer

Сумма положительных элементов.

I,j

integer

Счетчик элементов матрицы

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.Переменные.

Переменная

Тип

Назначение

N,m,

integer

Максимальный элемент

sum

integer

Сумма положительных элементов.

I,j

integer

Счетчик элементов матрицы

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.Переменные.

Переменная

Тип

Назначение

N,m,

integer

Максимальный элемент

Sum,sum1

integer

Сумма элементов диагоналей.

I,j

integer

Счетчик элементов матрицы

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.Переменные.

Переменная

Тип

Назначение

N,m,

integer

Максимальный элемент

k

integer

Счетчик положительных элементов матрицы.

I,j

integer

Счетчик элементов матрицы

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.Тестирование.




написать администратору сайта