Помогите, пожалуйста, нужно написать текст программу в Паскаль Вычисление скаля

Помогите, пожалуйста, нужно написать текст программу в Паскаль Вычисление скалярного произведения 1)s=(Aq-Bp,r) - условие Исходные данные: A= 1 2 3 1 2 1 3 2 0 B= 4 1 2 0 4 3 1 1 1 P= 0.1 1.7 -1.5 q= -1.6 0.8 1.1 r= -0.7 1.3 0.2
Гость
Ответ(ы) на вопрос:
Гость
// PascalABC.NET 3.2, сборка 1338 от 16.11.2016 type   matrix=array[1..3,1..3] of real;   vector=array[1..3] of real;   procedure MatPrint(a:matrix); begin   for var i:=1 to 3 do begin     for var j:=1 to 3 do Write(a[i,j]:6:2);     Writeln     end end; procedure VecPrint(a:vector); begin   for var i:=1 to 3 do Write(a[i]:6:2);   Writeln end; procedure MV(a:matrix; v:vector; var t:vector); // Умножение матрицы на вектор begin   for var i:=1 to 3 do begin     var s:=0.0;     for var j:=1 to 3 do     s+=a[i,j]*v[j];     t[i]:=s     end; end; procedure VS(a,b:vector; var t:vector); // Вычитание векторов begin   for var i:=1 to 3 do t[i]:=a[i]-b[i] end; function SP(a,b:vector):real; // Скалярное произведение векторов begin   Result:=0.0;   for var i:=1 to 3 do Result+=a[i]*b[i] end;   begin   var A:matrix:=((1,2,3),(1,2,1),(3,2,0));   var B:matrix:=((3,1,2),(0,4,3),(1,1,1));   var p:vector:=(0.1,1.7,-1.5);   var q:vector:=(-1.6,0.8,1.1);   var r:vector:=(-0.7,1.3,0.2);   Writeln('Матрица А'); MatPrint(A);   Writeln('Матрица B'); MatPrint(B);   Writeln('Вектор p'); VecPrint(p);   Writeln('Вектор q'); VecPrint(q);   Writeln('Вектор r'); VecPrint(r);   var t1,t2,t3:vector;   MV(A,q,t1);   MV(B,p,t2);   VS(t1,t2,t3);   Writeln('Скалярное произведение равно ',SP(t3,r)) end. Результаты Матрица А   1.00  2.00  3.00   1.00  2.00  1.00   3.00  2.00  0.00 Матрица B   3.00  1.00  2.00   0.00  4.00  3.00   1.00  1.00  1.00 Вектор p   0.10  1.70 -1.50 Вектор q  -1.60  0.80  1.10 Вектор r  -0.70  1.30  0.20 Скалярное произведение равно -5.27
Не нашли ответ?
Ответить на вопрос
Похожие вопросы