Посчитать матрицы по заданой формуле - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Даны 3 матрицы 4х4: A,B,C. Вычислить (а именно нужно определить 2 процедцры: сложения матриц и умножения матриц и уже в главной программе их правильно вызвать)

Решение задачи: «Посчитать матрицы по заданой формуле»

textual
Листинг программы
{$mode objfpc}
 
const
  size = 4;
 
type
  TMatrix = array[1 .. size, 1 .. size] of double;
 
operator * (const a, b: TMatrix) m: TMatrix;
var i, j, k: integer;
begin
  for i := 1 to size do
    for j := 1 to size do begin
      m[i, j] := 0;
      for k := 1 to size do
        m[i, j] := m[i, j] + a[i, k] * b[k, j]
    end;
end;
 
operator + (const a, b: TMatrix) m: TMatrix;
var i, j: integer;
begin
  for i := 1 to size do
    for j := 1 to size do m[i, j] := a[i, j] * b[i, j];
end;
 
operator ** (const a: TMatrix; const pow: integer) m: TMatrix;
var i, j: Integer;
begin
  if pow = 0 then begin
    for i := 1 to size do
      for j := 1 to size do
        m[i, j] := Byte(i = j);
    exit
  end;
 
  m := a;
  for i := 1 to pred(pow) do
    m := m * a;
end;
 
procedure matrixInput(const s : string; var m : TMatrix);
var i, j : Integer;
begin
  writeln('Input matrix ' + s);
  for i := 1 to size do
    for j := 1 to size do
    begin
      write(s+'[', i, ',', j, '] = ');
      readln(m[i, j]);
    end;
end;
 
procedure matrixPrint(a: TMatrix);
var i, j: integer;
begin
  for i := 1 to size do begin
    for j := 1 to size do
      write(a[i, j]:9:2);
    writeln
  end
end;
 
var
  A, B, C : TMatrix;
  Res: TMatrix;
 
begin
  matrixInput('A', A);
  matrixInput('B', B);
  matrixInput('C', C);
  writeln;
  Res := A**2 + B**2 + A*B*C;
  matrixPrint(Res)
end.

Объяснение кода листинга программы

  1. В начале кода определяются константы и типы данных, используемые в программе.
  2. Затем определяются два оператора: оператор умножения для матриц и оператор сложения для матриц.
  3. Далее определен оператор возведения в степень для матрицы.
  4. После этого определена процедура для ввода матрицы из консоли.
  5. Затем определена процедура для вывода матрицы на консоль.
  6. В основной части программы создаются три матрицы A, B и C, и с ними выполняются операции в соответствии с заданной формулой.
  7. Результат вычислений выводится на консоль.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5
Похожие ответы