Алгоритм маятник колебание гармонический
⇐ ПредыдущаяСтр 2 из 2 Процедура vvod_parametrov Процедура zapis_parametrov
Процедура Max_Min Процедура osi_koordinat Процедура MyGraphInit Процедура Graph_V Процедура Graph_S Процедура Zapis_rez
Процедура vybor
Схема головной программы Таблица идентификаторов
Текст программы
program kursovoi_variant_24;graph,crt;,rez:text;,,:integer;,l,Tkon:real;:integer;,minV, maxS,minS:real;schityvanie(var v0,l,Tkon:real; var n:integer);z:integer;:char;; {$I-}(dan,'dannye.dan');(dan);:=ioresult; {I+}z<>0 then('oshibka faila ''dannye.dan'' No:',z);;(1);;(dan,s);(dan,s);(dan,v0);(dan,l);(dan,Tkon);(dan,n);(dan);;vvod_parametrov(var v0,l,Tkon:real; var n:integer);i:integer;:char;;('ishodnymi dannumi yavlyautsa:');('na4al''naya skorost'' Vo: ',v0:4:3);('dlinna niti mayatnika L: ',l:4:3);('kone4noe vremya Tkon: ',tkon:4:3);('koli4estvo razbienei po vremeni n: ',n);('Vi hotite izmenit'' eti dannye?');('Da- y, Net- n, sdelaite vybor: ');(s);(s='y') or (s='Y') then('vvedite na4al''nuju skorost'' Vo:');(v0);('vvedite dlinnu niti mayatnika L: ');(l);('vvedite kone4noe vremya Tkon (v sekundah): ');(Tkon);('vvedite koli4estvo razbienei po vremeni n: ');(n);;(s='n') or(s='N') then break(s='n') or (s='N');;zapis_parametrov(v0,l,Tkon:real;n:integer);z:integer;:char;; {$I-}(dan,'dannye.dan');(dan);:=ioresult; {I+}z<>0 then('oshibka faila ''dannye.dan'' No:',z);;(1);;(dan,'na4al''nymi dannymi yavlyautsa:');(dan,' Vo L Tkon n');(dan,v0:10:3);(dan,l:10:3);(dan,Tkon:10:3);(dan,n:10);(dan);;Max_Min(var MaxV,MinV,maxS,minS:real);i:integer;,V,dt,t:real;:=v0;s:=0; maxS:=s;minS:=s;maxV:=v;minV:=v;:=Tkon/n;i:=1;t:=0;i:=2 to n+1 do:=(i-1)*dt;:=v-dt*9.8*sin(s/l);:=s+dt*v;maxS<s then maxS:=s;minS>s then minS:=s;maxV<v then maxV:=v;minV>v then minV:=v;;;osi_koordinat(t,maxy,miny:real);i:integer;,dy,x:real;:string;:=t/10;:=abs(maxy-miny)/10;(0,1,1);(100,20,100,320);(100,320,600,320);i:=0 to 10 do(99,20+30*i,101,20+30*i);:=maxy-i*dy;(x:4:4,s);(40,15+30*i);(s);(100+50*i,319,100+50*i,321);:=0+i*dt;(x:4:3,s);(90+50*i,324,s);;I:=1 to 10 do;(1,1,1);(8);(103,20+30*(i-1), 600,20+30*(i-1));(100+50*i,318,100+50*i,20);(0,1,1);(15);;;MyGraphInit;:=detect;(graphdriver,GraphMode,'d:\bp\bgi');:=graphresult;Errorcode<>grOk then('proizoshla oshibka grafiki: ',grapherrormsg(errorCode));('rabota programmy prervana');;(1);;;Graph_V;i,x,y:integer;,V,dt,t:real;:string;(6);:=v0;s:=0;:=0;:=Tkon/n;(round(100+t*500/Tkon),round(320-(V-minV)*300/(maxV-minV)));i:=2 to n+1 do:=(i-1)*dt;:=v-dt*9.8*sin(s/l);:=s+dt*v;(v:4:4,zn1);v=maxV then begin x:=getX; y:=getY;:='maxV='+zn1;(100,380,zn1);moveTo(x,y);;v=minV then begin x:=getX; y:=getY;:='minV='+zn1;(100,400,zn1);moveTo(x,y);;(round(100+t*500/Tkon),round(320-(V-minV)*300/(maxV-minV)));;(15);outTextXY(100,420,'graphik zavisimosti V(t)');Graph_S;i,x,y:integer;,V,dt,t:real;:string;setcolor(6);:=v0;s:=0;:=0;:=Tkon/n;(round(100+t*500/Tkon),round(320-(s-mins)*300/(maxS-minS)));i:=2 to n+1 do:=(i-1)*dt;:=v-dt*9.8*sin(s/l);:=s+dt*v;(S:4:4,zn1);s=maxS then begin x:=getX; y:=getY;:='maxS='+zn1;(100,380,zn1);moveTo(x,y);;S=minS then begin x:=getX; y:=getY;:='minS='+zn1;(100,400,zn1);moveTo(x,y);;(round(100+t*500/Tkon),round(320-(S-minS)*300/(maxS-minS)));;setcolor(15);(100,420,'graphik zavisimosti S(t)');Zapis_rez;i,z:integer;,V,dt,t:real;;
{$I-}(rez,'rezultat.dan');(rez);:=ioresult; {I+}z<>0 then('oshibka faila ''rezultat.dan'' No:',z);;(1);;(rez,'_________________________________________');(rez,'| i t V S|');(rez,'`---------------------------------------''');:=v0;s:=0;:=Tkon/n;i:=1;t:=0;v=maxV then writeln(rez,i:4,t:12:3,v:12:5,s:12:7,'====== maxV') elsev=minV then writeln(rez,i:4,t:12:3,v:12:5,s:12:7,'====== minV') elses=maxS then writeln(rez,i:4,t:12:3,v:12:5,s:12:7,'====== maxS') elses=minS then writeln(rez,i:4,t:12:3,v:12:5,s:12:7,'====== minS') else(rez,i:4,t:12:3,v:12:5,s:12:7);i:=2 to n+1 do:=(i-1)*dt;s:=s+dt*v;:=v-dt*9.8*sin(s/l);v=maxV then writeln(rez,i:4,t:12:3,v:12:5,s:12:7,'====== maxV') elsev=minV then writeln(rez,i:4,t:12:3,v:12:5,s:12:7,'====== minV') elses=maxS then writeln(rez,i:4,t:12:3,v:12:5,s:12:7,'====== maxS') elses=minS then writeln(rez,i:4,t:12:3,v:12:5,s:12:7,'====== minS') else(rez,i:4,t:12:3,v:12:5,s:12:7);;(rez);;vybor;s:char;;;('1-ishodnue dannye');('2-graphik V(t)');('3-grafik S(t)');('9-EXIT');('sdelaite vybor nazhatiem');('sootvetstvyuschei knopki');;('rezultat vy4islenei sohranyaetsya v faile ''rezultat.dan'' ');(s);;s='1' then(v0,l,Tkon,n);_parametrov(v0,l,Tkon,n);_parametrov(v0,l,Tkon,n);_Min(MaxV,MinV,maxS,minS);;s='2' then;;;_koordinat(Tkon,maxV,minV);_V;readkey;;s='3' then;;;_koordinat(Tkon,maxS,minS);_S;readkey;;;s='9';_rez;;(v0,l,Tkon,n);_Min(MaxV,MinV,maxS,minS); vybor;;.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|