Найти и напечатать координаты точки, для которой угол между осью абсцисс и лучом — минимальный - Pascal ABC

Формулировка задачи:

Три точки заданы своими координатами X(x1, x2), Y(y1, y2) и Z(z1, z2). Найти и напечатать координаты точки, для которой угол между осью абсцисс и лучом, соединяющим начало координат с точкой, минимальный. Вычисление угла оформить в виде функции по формуле a=arctg(x/y) . Вызвать функцию в программе 3 раза.

Код к задаче: «Найти и напечатать координаты точки, для которой угол между осью абсцисс и лучом — минимальный - Pascal ABC»

textual
uses crt;
function ugol(x,y:real):real;
begin
if x=0 then ugol:=90
else ugol:=abs(arctan(y/x))
end;
 
 
var x1,x2,y1,y2,z1,z2,u1,u2,u3,mn,xmn,ymn:real;
begin
repeat
writeln('Введите координаты трех точек x и y одновремено не равны 0');
read(x1,x2,y1,y2,z1,z2);
until((x1<>0)or(x1<>0))and((y1<>0)or(y2<>0))and((z1<>0)or(z2<>0));
u1:=ugol(x1,x2);
writeln('Угол 1=',u1:0:2);
u2:=ugol(y1,y2);
writeln('Угол 2=',u2:0:2);
u3:=ugol(z1,z2);
writeln('Угол 3=',u3:0:2);
if u1<u2 then
 begin
  mn:=u1;
  xmn:=x1;
  ymn:=x2;
 end
else
 begin
  mn:=u2;
  xmn:=y1;
  ymn:=y2;
 end;
if u3<mn then
 begin
  xmn:=z1;
  ymn:=z2;
 end;
writeln('Координаты точки: ',xmn:0:2,'  ',ymn:0:2);
end.
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

10   голосов, оценка 4.500 из 5


СДЕЛАЙТЕ РЕПОСТ