Вычислить косинус угла между векторами a и b размерностью n по формуле Cos(alpha)=(a*b)/(|a|*|b|) написать программу в Delphi7

Вопрос школьника по предмету Информатика

Вычислить косинус угла между векторами a и b размерностью n по формуле Cos(alpha)=(a*b)/(|a|*|b|) написать программу в Delphi7

Ответ учителя по предмету Информатика

 

program Project2;

{$APPTYPE CONSOLE}

uses

SysUtils,windows;

var a,b:array of real;   

 i:byte; 

 cs,sk,da,db:real;    n:integer;

begin

SetConsoleOutputCP(1251);

randomize;

writeln(‘Введите n’);

readln(n);

Setlength(a,n);

Setlength(b,n);

writeln(‘Вектор À’);

for i:=0 to high(a) do 

begin 

 a[i]:=-5+10*random;

  write(a[i]:5:1);

 end;

writeln;

writeln(‘Вектор B’);

for i:=0 to High(b) do

 begin 

 b[i]:=-5+10*random;

  write(b[i]:5:1);

 end;

writeln;

{Скалярные произведения и длинны векторов}

sk:=0;

da:=0;

db:=0;

for i:=0 to n-1 do 

begin 

 sk:=sk+a[i]*b[i];

  da:=da+sqr(a[i]);

  db:=db+sqr(b[i]); 

end;

{Косинус}

cs:=sk/sqrt(da)/sqrt(db);

write(‘Cos(aльфа)=’,cs:0:3);

readln;

end.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Похожие вопросы от пользователей