Вычислить косинус угла между векторами a и b размерностью n 10 по формулев паскале или делфи

26 Дек 2019 в 19:42
169 +1
0
Ответы
1

Для вычисления косинуса угла между двумя векторами 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 уже заданы. Если необходимо вводить их с клавиатуры, следует добавить соответствующий код.

18 Апр 2024 в 22:51
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир