2 задачи по программированию (много баллов)))

1) Три точки заданы своими координатами (x1,y1), (x2,y2), (x3,y3). Напишите программу, позволяющую выяснить, какие из них находятся на максимальном расстоянии друг от друга, и вывести на печать значение этого расстояния. Вычисление расстояния между двумя точками оформите в виде процедуры.

2) Даны действительные числа Х и Y. Напишите программу, позволяющую вычислить значение следующего выражения:

Z=(signX + signY)*sign(X+Y), определив и используя функцию: Sign(a)=0 при a=0
Sign(a)=-1 при a<0
Sign(a)=1 при a>0.

1

Ответы и объяснения

Лучший Ответ!
2014-01-16T19:15:52+00:00
Program cgt;
var x1,y1,x2,a,y2,b,c,x3,y3:real;
procedure IOI(x1,y1,x2,y2:real;var a:real);
begin
a:=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
end;
begin
read(x1,x2,y1,y2,x3,y3);
IOI(x1,y1,x2,y2,a);
IOI(x1,y1,x3,y3,b);
IOI(x3,y3,x2,y2,c);
if(a>=b)and(a>=c)then writeln('первая и вторая точка ',a) else
if(b>=a)and(b>=c)then writeln('первая и третая точка ',b) else
if(c>=b)and(c>=a)then writeln('третая и вторая точка ',c);
end.
2)
program cgt;
var z,x,y:real;function IOI(x:real):real;
begin
if(x=0)then IOI:=0;
if(x<0)then IOI:=-1;
if(x>0)then IOI:=1;
end;
begin
read(x,y);
z:=(IOI(x)+IOI(Y))*IOI(x+y);
writeln(z);
end.