Матрица паскаль

Автор: Пользователь скрыл имя, 10 Ноября 2011 в 15:14, лабораторная работа

Описание работы

выполнение лабораторной работы по теме матрица

Работа содержит 1 файл

Отчет 66.doc

— 77.50 Кб (Скачать)

      Тема: матрицы

     Цель: Вычислить выражение, содержащее матрицы размером 3х3. Действия по нахождению максимального и минимального элемента матрицы оформляются в виде функций, а остальные действия  - в виде процедур помещенных в модуле (Unit).

   Порядок выполнения работы:

  1. Составить блок-схему
  2. Запустить среду программирования Turbo Pascal
  3. Написать и отладить программу решения задачи согласно варианту
  4. Сохранить программу на диск
  5. Вывести на печать исходные данные и результат
  6. Написать отчет.
Вариант Исходные матрицы Задание
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*minB)*minC:');  (Умножение на минимальное)  

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). 

Информация о работе Матрица паскаль