Для вычисления косинуса угла между двумя векторами a и b размерности n = 10 в Pascal или Delphi можно воспользоваться следующей формулой:
cos(angle) = (a b) / (|a| |b|),
где a * b - скалярное произведение векторов a и b, |a| и |b| - длины векторов a и b соответственно.
Пример решения на Pascal:
program cosine_angle; var a, b: array[1..10] of Integer; scalar_product, a_length, b_length, angle: Real; i: Integer; begin // Инициализация значений векторов a и b for i := 1 to 10 do begin a[i] := i; b[i] := 2*i; end;
// Вычисление скалярного произведения векторов scalar_product := 0; for i := 1 to 10 do scalar_product := scalar_product + a[i] * b[i];
// Вычисление длин векторов a_length := 0; b_length := 0; for i := 1 to 10 do begin a_length := a_length + a[i] a[i]; b_length := b_length + b[i] b[i]; end; a_length := sqrt(a_length); b_length := sqrt(b_length);
writeln('Cosine of the angle between vectors a and b: ', angle:0:4);
end.
Пример решения на Delphi:
program cosine_angle; var a, b: array[1..10] of Integer; scalar_product, a_length, b_length, angle: Real; i: Integer; begin // Инициализация значений векторов a и b for i := 1 to 10 do begin a[i] := i; b[i] := 2*i; end;
// Вычисление скалярного произведения векторов scalar_product := 0; for i := 1 to 10 do scalar_product := scalar_product + a[i] * b[i];
// Вычисление длин векторов a_length := 0; b_length := 0; for i := 1 to 10 do begin a_length := a_length + a[i] a[i]; b_length := b_length + b[i] b[i]; end; a_length := sqrt(a_length); b_length := sqrt(b_length);
writeln('Cosine of the angle between vectors a and b: ', angle:0:4);
end.
В данном примере предполагается, что значения векторов a и b уже заданы. Если необходимо вводить их с клавиатуры, следует добавить соответствующий код.
Для вычисления косинуса угла между двумя векторами a и b размерности n = 10 в Pascal или Delphi можно воспользоваться следующей формулой:
cos(angle) = (a b) / (|a| |b|),
где a * b - скалярное произведение векторов a и b, |a| и |b| - длины векторов a и b соответственно.
Пример решения на Pascal:
program cosine_angle;
var
a, b: array[1..10] of Integer;
scalar_product, a_length, b_length, angle: Real;
i: Integer;
begin
// Инициализация значений векторов a и b
for i := 1 to 10 do
begin
a[i] := i;
b[i] := 2*i;
end;
// Вычисление скалярного произведения векторов
scalar_product := 0;
for i := 1 to 10 do
scalar_product := scalar_product + a[i] * b[i];
// Вычисление длин векторов
a_length := 0;
b_length := 0;
for i := 1 to 10 do
begin
a_length := a_length + a[i] a[i];
b_length := b_length + b[i] b[i];
end;
a_length := sqrt(a_length);
b_length := sqrt(b_length);
// Вычисление косинуса угла
angle := scalar_product / (a_length * b_length);
writeln('Cosine of the angle between vectors a and b: ', angle:0:4);
end.
Пример решения на Delphi:
program cosine_angle;
var
a, b: array[1..10] of Integer;
scalar_product, a_length, b_length, angle: Real;
i: Integer;
begin
// Инициализация значений векторов a и b
for i := 1 to 10 do
begin
a[i] := i;
b[i] := 2*i;
end;
// Вычисление скалярного произведения векторов
scalar_product := 0;
for i := 1 to 10 do
scalar_product := scalar_product + a[i] * b[i];
// Вычисление длин векторов
a_length := 0;
b_length := 0;
for i := 1 to 10 do
begin
a_length := a_length + a[i] a[i];
b_length := b_length + b[i] b[i];
end;
a_length := sqrt(a_length);
b_length := sqrt(b_length);
// Вычисление косинуса угла
angle := scalar_product / (a_length * b_length);
writeln('Cosine of the angle between vectors a and b: ', angle:0:4);
end.
В данном примере предполагается, что значения векторов a и b уже заданы. Если необходимо вводить их с клавиатуры, следует добавить соответствующий код.