Programy5.doc

(20 KB) Pobierz
program calkagaussakubatury;

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;

begin

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]);

end;

begin

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.

 

...
Zgłoś jeśli naruszono regulamin