ОЧЕНЬ СРОЧНО ТРЕБУЕТСЯ ПОМОЩЬ В НАПИСАНИИ ПРОГРАММЫ НА ПАСКАЛЕ!
прога идет ниже:
var x1.x2,x3,x4,y1,y2,y3,y4:real;
Function Rast(x1,y1,x2,y2,x3,y3:real):real;
var a,b,d:real;
BEGIN
a:=sqrt(sqr(x3-x1)+sqr(y3-y1));
b:=sqrt(sqr(x3-x2)+sqr(y3-y2));
d:=sqrt(sqr(x2-x1)+sqr(y2-y1));
Rast = sqr (a*a – sqr((a*a-b*b+d*d)(2*d));
End;
begin
readln(x,y1,x2,y2,x4,y4);
ниже идет то что мне непонятно: Я подозреваю что Функцию Rast
можно заменить переменной или переменными для того чтобы эта функция
просчитывалась не ТРИ РАЗА А ОДИН,при этом блок схема должна быть таже.НО как этого сделать незнаю.
if Rast (x1,y1,x2,y2,x4,y4)< Rast(x1,y1,x,y3,x4,y4) then
if Rast (x1,y1,x2,y2,x4,y4) else
writeln(Rast(x2,y2,x3,y3,x4,y4)) else if Rast(x1,y1,x3,y3,x4,y4)<Rast(x2,y2,x3,y3,x4,y4) then
writeln (Rast (x1,y1,x3,y3,x4,y4) else
writeln(Rast(x2,y2,x3,y3,x4,y4));
End;
END.
программа считает расстояние от точки до ближайшей стороны треугольника в котором она находится