Автор: Пользователь скрыл имя, 10 Ноября 2011 в 15:14, лабораторная работа
выполнение лабораторной работы по теме матрица
Тема: матрицы
Цель: Вычислить выражение, содержащее матрицы размером 3х3. Действия по нахождению максимального и минимального элемента матрицы оформляются в виде функций, а остальные действия - в виде процедур помещенных в модуле (Unit).
Порядок выполнения работы:
Вариант | Исходные матрицы | Задание |
8. | A,B,C | Z=(B*minC+C*maxA-A*minB)*minC |
Блок-схема алгоритма программы
Блок-схема модуля.
Текст программы
uses crt,matrica; (подключение модуля)
var i,j:byte; (Объявление переменных)
mx:integer; (Матрица 3х3)
begin
for i:=1 to n do
for j:=1 to n do
read(A[I,j]) (Считывание матрицы А)
for i:=1 to n do
for j:=1 to n do
read(B[I,j]) (Считывание матрицы В)
for i:=1 to n do
for j:=1 to n do
read(C[I,j]) (Считывание матрицы С)
Umn(b,mna);
Vyvod(b,'B*minC:'); (Умножение на минимальное)
readkey;
Umn(c,mxb);
Vyvod(c,'C*maxA:'); (Умножение на максимальное)
readkey;
Summa(b,c,a1);
Vyvod(a1,'B*minC+C*maxA:'); (Сумма)
readkey;
Umn(a1,mnb);
Vyvod(a1,'BminC+C*maxA-A*minB:
readkey;
Umn(a,mnb);
Vyvod(a,'minC:'); (Вычисление минимального)
readkey;
Razn(a1,a,z);
Vyvod(z,'Z=(B*minC+C*maxA-A*
Readkey;
end.
Результат тестирования
работы программы
Текст
модуля
unit matrica; (Имя программы)
interface (Раздел объявлений процедур, функций)
const n=3;
type matr=array[1..n,1..n] of integer; (Раздел объявления типов)
procedure Vvod(var mt:matr); (Объявление процедуры ввода матриц)
procedure Vyvod(var mt:matr;s:string); (ввод)
procedure Summa(m1,m2:matr; var m3:matr); (вывод суммы)
procedure Razn(m1,m2:matr; var m3:matr);
procedure Umn(var mt:matr;k:integer);
implementation (раздел реализации процедур, функций)
procedure Vvod; (Ввод)
var i,j:byte; (объявление переменных)
begin (начало)
for i:=1 to n do (цикл строк)
for j:=1 to n do (цикл столбцов)
mt[i,j]:=random(10)+1;
end;
procedure Vyvod;
var i,j:byte; (объявление)
begin
writeln('Матрица ',s);
for i:=1 to n do (цикл строк)
begin
for j:=1 to n do (цикл столбцов)
write(mt[i,j]:5);
writeln;
end;
end;
procedure Summa; (Реализация процедуры сложения)
var i,j:byte; (объявление)
begin
for i:=1 to n do (цикл строк)
for j:=1 to n do (цикл столбцов)
m3[i,j]:=m1[i,j]+m2[i,j];
end;
procedure Razn; (реализация процедуры разности)
var i,j:byte; (объявление)
begin
for i:=1 to n do (цикл строк)
for j:=1 to n do (цикл столбцов)
m3[i,j]:=m1[i,j]-m2[i,j];
end;
procedure Umn; (реализация процедуры умножение)
var i,j:byte (объявление)
begin
for i:=1 to n do (цикл строк)
for j:=1 to n do (цикл столбцов )
mt[i,j]:=mt[i,j]*k;
end;
end.
(конец раздела инициализации)
Вывод
отчета: Вычислила выражение, содержащее
матрицы размером 3х3. Действия по нахождению
максимального и минимального элемента
матрицы оформила в виде функций, а остальные
действия - в виде процедур помещенных
в модуле (Unit).