zadach333.PAS

Профсвет

Светодиодные встраиваемые светильники Профсвет.

proffsvet.ru

{* Задача 333 *}

Unit ZADACH333;
Interface
Implementation
Begin
 writeln('

Сформировать матрицы {aij}n, m , {bij}k, l , где i<=(n, k), j<=(m, l) , элементы которых определяются случайно из диапазона целых чисел от -3 до 3. Фактическое число строк (n, k) и столбцов (m, l) каждой матрицы вводить с клавиатуры. Создать процедуру, которая присваивает нулевым элементам матрицы единицы и определяет произведение матрицы. Вывести на экран исходные, результирующие массивы и сумму произведений матриц.

'
);
End.

Program Lab_5;

Uses zadach333.pas; {* Эту строку можно удалить *}
Uses crt; {* Подключаем внешние файлы *}
Type {* Создание новых типов данных *}
  massiv = Array[1..4, 1..4] Of real;
Var {* В работе нам потребуются переменные: *}
  A : massiv;
  B : massiv;
  C : massiv;
  D : massiv;
  n : byte;
  m : byte;
  k : byte;
  l : byte;
  P : integer;
  s : integer;
  h : char;
Var {* Объявление переменных *}
  x   : massiv;
  row : byte);
  col : byte);
Var {* В работе нам потребуются переменные: *}
  i          : byte;
  j          : byte;
For i := 1 To row Do{* Цикл для i => [1 .. row] *}
  write (x[i : 2, ' ');
j]         : 2, ' ');
Var {* Необходимые переменные *}
  y   : massiv;
  row : byte);
  col : byte);
Var {* Объявление переменных *}
  i          : byte;
  j          : byte;
For i := 1 To row Do{* Цикл для i => [1 .. row] *}
  write (y[i : 2, ' ');
j]         : 2, ' ');
Var {* Объявление переменных *}
  x   : massiv;
  y   : massiv;
  row : byte);
  col : byte);
Var {* Необходимые переменные *}
  i                  : byte;
  j                  : byte;
If x[i := 1;
  j] = 0 Then
x[i := 1;
j] := 1;
Procedure Print (x : massiv;
row                : byte);
col                : byte);
Var {* Объявление переменных *}
  i            : byte;
  j            : byte;
  Begin
For i := 1 To row Do{* Увеличиваем i от 1 до row с шагом 1 *}
  Var {* Объявление переменных *}
    x   : massiv;
  row : byte);
  col : byte);
Var {* Необходимые переменные *}
  i : byte;
  j : byte;
  P : integer;
  Begin;
  P := 1;
For i := 1 To row Do {* Цикл для i => [1 .. row] *}
  For j := 1 To col Do {* Цикл для j => [1 .. col] *}
    P := P * x[i, j];
Proizv := P;
End;
Begin
write ('vvedite chislo strok i stolbsov matritsi A');
readln (n, m);
writeln ('viberite maritsu');
readln (h);
If h = '1' Then
  InMatr1(A, n, m)
Else InMatr2(A, n, m);
  write ('vvedite chislo strok i stolbsov matritsi B');
readln (k, l);
writeln ('viberite maritsu');
readln (h);
If h = '1' Then
  InMatr2(B, k, l)
Else InMatr1(B, k, l);
  InMatr3 (A, n, m, C);
writeln ('vivod matritsi C');
Print(C, n, m);
InMatr3 (B, k, l, D);
writeln ('vivod matritsi D');
Print(D, k, l);
s := Proizv (C, n, m) + Proizv(D, k, l);
writeln ('summa =', S : 8, 2);
readln; {* Ждем нажатия Enter *}
End.....