Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
інст. карта до лаб.заняття №8.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
107.52 Кб
Скачать

Лістинг програми:

Program lab_8;

uses crt;

type

  stroka=array [ 1.. 4 ] of integer;

  matrix=array [ 1.. 4 ] of stroka;

var

  a: matrix; {початкова матриця}

  r: stroka; {Одномiрний масив}

  i, j, k: integer;

begin     { Введення елементів вихідного масиву }

 for i: =1 to 4 do

 for j: =1 to 4 do read (a [ i, j ]); {Виведення елементів вихідного масиву }

 writeln ('початковий масив: ');

 for i:=1 to 4 do

   begin

    for j: =1 to 4 do write (a [ i, j ]: 4);

     writeln

   end;       { Обробка масиву }

   k: =3;

   for i: =1 to 2 do

     begin r: =a [ i+k ];

        a [ i+k ]: =a [ i ];

        a [ i ]: =r;

        k: =1

     end;

{ Виведення елементів масиву – результату }

   writeln;

 writeln ('результат: ');

   for i: =1 to 4 do

    begin

      for j: =1 to 4 do write (a [ i, j ]: 4);

      writeln;  end; end.

Результат роботи програми:

Початковий масив:

  1      3  –6      8

  0    –5    6    –3

  4      5    7      8

–2      3    4    –4

Результат:

–2      3    4    –4

  4      5    7      8

  0    –5    6    –3

  1      3  –6      8

Блок-схема алгоритму

  1. В заданій дійсній матриці 5×3 знайти найбільший елемент і його індекси.

Розв’язування. Задаємо тип  matrix як звичайну двомірну структуру даних, оскільки подання її у вигляді, аналогічному попередньому завданню, не дасть ніякого ефекту. Введення і виведення інформації здійснимо аналогічно попередньому завданню. Пошук найбільшого елемента здійснимо, використовуючи стандартний спосіб. При цьому у змінній max будемо зберігати значення цього елемента, а змінні l і k використовуємо для позначення відповідно до номерів рядка і стовпця цього елемента (індексів). У вигляді параметрів циклів введемо також цілі змінні j та i.

Лістинг програми:

Program lab_8_2; uses crt;

type

  matrix=array [ 1.. 5, 1.. 3 ] of real;

var a: matrix; {початкова матриця}

  i, j: integer; {параметри циклу}

  max: real; {максимальний елемент}

  l, k: integer; {iндекси максимального елемента}

begin

       { Введення елементів початкової матриці }

 for i: =1 to 5 do

 for j: =1 to 3 do read (a [ i, j ]);

       { Виведення елементів початкової матриці }

 writeln ('початкова матриця: ');

    for i: =1 to 5 do

      begin

      for j:=1 to 3 do write(a[i,j]: 8: 3);

      writeln; end;

  { Пошук максимального елемента}

 max: =a [ 1, 1 ]; l: =1; k: =1;

   for i: =1 to 5 do

     for j: =1 to 3 do

       if a[i,j] >max then begin max:=a[i,j];

          l: =i; k: =j

        end;

       { Виведення результатів: }

   writeln;

   writeln ('найбільший елемент матрицi', max:8:3);

   writeln('він є в',l,'рядку,', k,' стовпці'); end.

Результат роботи програми:

Початкова матриця:

  2,000  –5,800  –34,900

  0,450  –3,560     5,760

  2,120    2,320     3,610

–0,080    4,710     9,930

  0,680    0,560     7,290

Найбільший елемент матрицi рівний  9,930 знаходиться в 4 рядку, 3 стовпці.

Блок-схема алгоритму

  1. Написати програму перемноження двох дійсних матриць А і В 3-го порядку.