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

26 Дек 2019 в 19:42
154 +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 Апр в 22:51
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 718 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир