function pl_pr(x,y:real):real;
begin
pl_pr:=x*y/2;
end;
function pl_tr(x,y,z:real):real;
var p:real;
begin
p:=(x+y+z)/2;
pl_tr:=sqrt(p*(p-x)*(p-y)*(p-z));
end;
var x,y,z,t,d,s:real;
begin
repeat
writeln('Введите длины сторон x,y>0');
readln(x,y);
until(x>0)and(y>0);
d:=sqrt(x*x+y*y);
repeat
writeln('Введите длины других двух сторон >0 и z+t>',d:0:2);
readln(z,t);
until(z>0)and(t>0)and(z+t>d);
s:=pl_pr(x,y)+pl_tr(z,t,d);
write('Площадь четырехугольника=',s:0:2)
end.
begin
pl_pr:=x*y/2;
end;
function pl_tr(x,y,z:real):real;
var p:real;
begin
p:=(x+y+z)/2;
pl_tr:=sqrt(p*(p-x)*(p-y)*(p-z));
end;
var x,y,z,t,d,s:real;
begin
repeat
writeln('Введите длины сторон x,y>0');
readln(x,y);
until(x>0)and(y>0);
d:=sqrt(x*x+y*y);
repeat
writeln('Введите длины других двух сторон >0 и z+t>',d:0:2);
readln(z,t);
until(z>0)and(t>0)and(z+t>d);
s:=pl_pr(x,y)+pl_tr(z,t,d);
write('Площадь четырехугольника=',s:0:2)
end.