Вычисление интеграла методом Ньютона-Котеса (теория и программа на Паскале)
Рефераты >> Кибернетика >> Вычисление интеграла методом Ньютона-Котеса (теория и программа на Паскале)

settextstyle(0,0,2);

setcolor(10);

if ea mod 2 =0 then

begin

settextstyle(0,0,2);

outtextxy(90,20,' Вычисление интеграл ');

outtextxy(90,50,' методом Ньютона-Котеса.');

newsctext(ea);

end

else

begin

settextstyle(3,0,2);

outtextxy(90,20,' Calculeting of integral');

outtextxy(90,47,' using the Newton-Cotes method.');

newsctext(ea);

end;

settextstyle(0,0,1);

end;

procedure winwin1;

{Окно процедуры win1}

begin

setfillstyle(1,7);

bar(160,110,460,380);

setcolor(0);

rectangle(162,113,457,377);

rectangle(165,115,455,375);

end;

procedure win1(ea:word);

{Вводное окно}

begin

settextstyle(0,0,1);

setcolor(10);

if (ea mod 2)=0 then

begin

outtextxy(168,135,'Министерство Высшего образования РФ);

outtextxy(168,150,'Московский Государственный Институт');

outtextxy(168,160,' Электронной Техники ');

outtextxy(168,170,' (Технический лниверситет) ');

outtextxy(168,180,' Лицей №1557 ');

outtextxy(168,210,' КУРСОВАЯ РАБО'А ');

outtextxy(168,230,' «Вычисление интеграла ');

outtextxy(168,245,' метедом Ньютона-Котеса» ');

outtextxy(158,270,' Написал: Коноплев А.А. ');

outtextxy(158,285,' Руководитель: доцент Колдаев В.Д.');

end

else

begin

outtextxy(168,135,' Department of High Education ');

outtextxy(168,150,' Moscow State Institute of ');

outtextxy(168,160,' Electronic Technics ');

outtextxy(168,170,' (Technics University) ');

outtextxy(168,180,' Lyceum №1557 ');

outtextxy(168,210,' COURSE WORK ');

outtextxy(168,230,' «Calculation of integral ');

outtextxy(168,245,' by Newton-Cotes method» ');

outtextxy(158,270,' Author: Konoplev A.A. ');

outtextxy(158,285,' Supervisor:senior lecturer ');

outtextxy(158,300,' Koldaev V.D. ');

end;

end;

procedure win2(ea:word;var k:word);

{Окно выбора способа подсчета }

var

c:char;

x:integer;

f:string;

begin

setcolor(2);

setfillstyle(1,5);

bar(70,200,340,330);

rectangle(75,205,335,325);

rectangle(77,207,333,323);

settextstyle(0,0,0);

setfillstyle(1,15);

bar(80,250,330,270);

setfillstyle(1,5);

bar(80,285,330,305);

if ea mod 2 =0 then

begin

outtextxy(77,220,'Выбирете способ задания значений');

outtextxy(75,230,' функции. ');

outtextxy(70,255,' По таблице(в ручную)');

outtextxy(70,295,' По расчетам(автом т.)');

end

else

begin

outtextxy(77,220,' Choose a method of putting in');

outtextxy(75,230,' the values of function. ');

outtextxy(70,255,' By the table(by hand)');

outtextxy(70,295,' By calculations(automat.)');

end;

helpwin(ea);

if ea mod 2 =0 then

begin

outtextxy(360,140,'В этом способе необходимо');

outtextxy(360,155,'самостоятельно вводить');

outtextxy(360,170,'значения функции.');

end

else

begin

outtextxy(360,140,'In this method you have');

outtextxy(360,155,'to put in values of ');

outtextxy(360,170,'function by yourself.');

end;

x:=0;

repeat

if keypressed then

begin

c:=readkey;

if (c=#80) or (c=#72) then

x:=x+1;

setfillstyle(1,15);

if (x mod 2)=0 then

begin

bar(80,250,330,270);

setfillstyle(1,5);

bar(80,285,330,305);

helpwin(ea);

if ea mod 2 =0 then

begin

outtextxy(360,140,'В этом способе необходимо');

outtextxy(360,155,'самостоятельно вводить');

outtextxy(360,170,'значения функции.');

end

else

begin

outtextxy(360,140,'In this method you have');

outtextxy(360,155,'to put in values of ');

outtextxy(360,170,'function by yourself.');

end;

end

else

begin

bar(80,285,330,305);

setfillstyle(1,5);

bar(80,250,330,270);

helpwin(ea);

if ea mod 2 =0 then

begin

outtextxy(360,140,'В этом способе компьютер');

outtextxy(360,155,'сам вычесляет значения');

outtextxy(360,170,'функции по вводимой функции.');

end

else

begin

outtextxy(360,140,'In this method PC will');

outtextxy(360,155,'automaticly count the value');

outtextxy(360,170,'of function by the function');

outtextxy(360,185,'you enter ');

end;

end;

setcolor(2);

if ea mod 2 =0 then

begin

outtextxy(70,255,' По таблице(в ручную)');

outtextxy(70,295,' По расчетам(автом т.)');

end

else

begin

outtextxy(70,255,' By the table(by hand)');

outtextxy(70,295,' By calculations(automat.)');

end;

end;

until c=#13;

k:=x mod 2;

end;

procedure wwod1(ea:word;var y:array of double;var n:integer;var a,b:real);

{Окно ручного ввода функции}

var

i,p:integer;

s,f:string;

p1:real;

c:char;

begin

wwodn(ea,n);

if n=0 then

wwodn(ea,n);

newsc(ea);

wwodab(ea,a,b);

helpwin(ea);

if ea mod 2 =0 then

begin

outtextxy(360,140,'В этом окне необходимо');

outtextxy(360,155,'постепенно вводить');

outtextxy(360,170,'значения функции.');

outtextxy(360,185,'после каждого ввода');

outtextxy(360,200,'определенного значения');

outtextxy(360,215,'нажмите ENTER.');

end

else

begin

outtextxy(360,140,'In this window you have');

outtextxy(360,155,'to gradually enter the');

outtextxy(360,170,'values of functions.');

outtextxy(360,185,'After each enter press');

outtextxy(360,200,'ENTER key.');

end;

setfillstyle(1,9);

bar(40,200,330,300);

rectangle(45,205,325,295);

rectangle(47,207,323,293);

if ea mod 2 =0 then

outtextxy(56,227,'Введите 0 -е значение финкции:')

else

outtextxy(56,227,' Enter 0 -th value of function:');

for i:=0 to n do

begin

setfillstyle(1,0);

bar(137,250,180,273);

gotoxy(19,17);

setfillstyle(1,9);

read(p1);

y[i]:=p1;

bar(120,227,134,240);

str(i+1,s);

outtextxy(120,227,s);

bar(310,220,320,250);

end;

end;

procedure wwod2(ea:word;var ea1:word;var n:integer;var a,b:real;var st:string);

{Окно 2 меню автомат. подсчета}

var

i:integer;

c,k:char;

x:longint;

f:string;

begin

repeat

x:=-600000;

if keypressed then

c:=readkey;

c:='t';

newsc(ea);

setfillstyle(1,15);

bar(70,120,342,330);

setcolor(12);

rectangle(75,125,337,325);

rectangle(77,127,335,323);

settextstyle(0,0,0);

setfillstyle(1,11);

bar(80,170,330,190);

if ea mod 2 =0 then

begin

outtextxy(80,130,'Меню ввода параметров нахождения');

outtextxy(80,140,' интеграла');

outtextxy(80,180,' Ввести количество узлов(n)');

outtextxy(80,210,' Ввести приделы интегрирования');

outtextxy(80,240,' Ввести функцию');

outtextxy(80,270,' Считать интеграл');


Страница: