uses crt; var a,b,integral :real; n :word; function Funk( x:real):real; begin funk:=4/(x*x+1); end; procedure Anfang; begin clrscr; writeln(' *** Numerische Integration ***'); writeln(' Intervallgrenzen A , B = ');readln(a,b); writeln(' Anzahl der Intervallteilungen = ');readln(n); clrscr; writeln(' Intervallgrenzen A , B = ',round(a),' ',round(b)); writeln(' Anzahl der Intervallteilungen = ',n); end; procedure Main; var s,h,i :real; k :word; begin if n=0 then n:=1000; if (a>b) then begin h:=a; a:=b; b:=h; end; h:=(b-a)/n; i:=funk(a) + Funk(b); s:=0; K:=1; repeat s:=s + funk(a+k*h); k:=k+1; until (k>=n); integral:=(i+s+s)*h/2; end; procedure soundes; var a :byte; begin for a:=2 to 250 do begin sound(a+a+a+10); delay((10 div a)+7); nosound; end; nosound; end; {***************************************************************************} begin Anfang; main; writeln(#10,' Das Integral hat den Wert : ',integral); soundes; readln; end.