program calkagaussakubatury;
uses crt;
var
i,j:integer;
h,c:real;
x,y,w,z,n:array[1..3] of real;
function f(x,y:real):real;
begin
f:=x*y;
end;
function g(z,n:real):real;
g:=h*f(((1-z)*(1-n)/4)*x[1]+((1+z)*(1-n)/4)*x[2]+
((1+z)*(1+n)/4)*x[3]+((1-z)*(1+n)/4)*x[4],((1-z)*(1-n)/4)*y[1]
+((1+z)*(1-n)/4)*y[2]+((1+z)*(1+n)/4)*y[3]+((1-z)*(1+n)/4)*y[4]);
clrscr;
write('podaj x1=');
readln(x[1]);
write('podaj y1=');
readln(y[1]);
write('podaj x2=');
readln(x[2]);
write('podaj y2=');
readln(y[2]);
write('podaj x3=');
readln(x[3]);
write('podaj y3=');
readln(y[3]);
h:=1/16*abs(((1-n)*(x[2]-x[1])+(1+n)*(x[3]-x[4]))*
((1-z)*(y[4]-y[1])+(1+z)*(y[3]-y[2]))-
((1-n)*(y[2]-y[1])+(1+n)*(y[3]-y[4]))*
((1-z)*(x[4]-x[1])+(1+z)*(x[3]-x[2]));
z[1]:=0.5;
n[1]:=0.5;
w[1]:=1/3;
z[2]:=0;
n[2]:=0.5;
w[2]:=w[1];
z[3]:=0.5;
n[3]:=0;
w[3]:=w[1];
c:=0;
for i:=1 to 3 do
for j:=1 to 3 do
c:=c*g(z[i],n[i])*w[i]*w[j];
writeln('calka=',c:6:4);
readln;
end.
Tomplus