Program calkagaussakubatury;
Uses crt;
Var
i:integer;
a,j,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:=j*f((x[1]+(x[2]-x[1])*z+(x[3]-x[1])*n),(y[1]+(y[2]-y[1])*z+(y[3]-y[1])*n));
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]);
j:=abs((x[2]-x[1])*(y[3]-y[1])-(x[3]-x[1])*(x[2]-x[1]));
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
c:=c+0.5*g(z[i],n[i])*w[i];
writeln('calka=',c:6:4);
readln;
end.
Program calkagaussa;
uses crt;
var
a,b,c:real;
w,z:array[1..4] of real;
function f(x:real):real;
f:=x*x+1;
function g(z:real):real;
g:=(b-a)/2*f((a+b)/2+((b-a)/2)*z);
write('podaj a=');
readln(a);
write('podaj b=');
readln(b);
z[1]:=-0.77459;
z[3]:=0.77459;
w[1]:=0.555555;
w[2]:=0.888888;
w[3]:=0.555555;
c:=c+g(z[i])*w[i];
readln
Tomplus