1)подпрограммы, реализующие:
а) вычисление скалярного произведения 2-х заданных векторов размерности n (компоненты вектора и n – задаются пользователем);
б) вычисление векторного произведения 2-х заданных векторов размерности n=3 (компоненты векторов задаются пользователем), здесь же находится площадь параллелограмма, построенного на этих векторах;
с)вычисление смешанного произведения трех заданных векторов размерности n (компоненты векторов задаются пользователем);
д) проверку компланарности векторов;
написал, вроде правильно, но на всякий случай прошу проверить
type myarray=array [1..100] of real;
var i,n:integer;
a,b,c:myarray;
p,s,vek_pr,sm_pr,cosinus,sinus:real;
function sk_pr(n:integer):real;
begin
p:=0;
for i:=1 to n do
begin
p:=p+a[i]*b[i];
end;
sk_pr:=p;
end;
begin
write('введите n= ');
readln(n);
for i:=1 to n do
begin
writeln ('введите a(',i,')');
readln (a[i]);
end;
for i:=1 to n do
begin
writeln ('введите b(',i,')');
readln (b[i]);
end;
cosinus:=sk_pr(n)/((sqrt(sqr(a[1])+sqr(a[2])+sqr(a[3])))*(sqrt(sqr(b[1])+sqr(b[2])+sqr(a[3]))));
sinus:=sqrt(1-(sqr(cosinus)));
p:=(sqrt(sqr(a[1])+sqr(a[2])+sqr(a[3])))*(sqrt(sqr(b[1])+sqr(b[2])+sqr(a[3])))*s
inus;
vek_pr:=abs(p);
writeln ('------------------------------------------------------------');
writeln ('скалярное произведение =',sk_pr(n):2 :2);
writeln ('-------------------------------------------------------------');
writeln ('координаты векторного произведения (',
a[2]*b[3]-a[3]*b[2]:2 :0,',',a[1]*b[3]-a[3]*b[1]:2 :0,',',a[1]*b[2]-a[2]*b[1]:2 :0,')');
writeln ('------------------------------------------------------------');
writeln ('площадь параллелограмма ',vek_pr:2:2);
writeln ('------------------------------------------------------------');
for i:=1 to 3 do
begin
writeln ('введите c(',i,')');
readln (c[i]);
end;
sm_pr:=abs((a[1]*b[2]*c[3])+(c[1]*a[2]*b[3])+(a[3]*b[1]*c[2])-(a[3]*b[2]*c[1])-(c[3]*b[1]*a[2])-(a[1]*c[2]*b[3]));
if sm_pr=0 then writeln ('введенные векторы компланарны')
else writeln ('введенные векторы некомпланарны');
writeln ('------------------------------------------------------------');
writeln ('смешанное произведение ',sm_pr:2 :2);
readln;
end.