не могу переделать под свой вариант, не пойму че надо исправить
Uses Crt, Graph; Type TC=array[1..6] of real; TT=array[1..6] of string; TMenu=array[1..5] of String; Const g=9.8; m=30;ro=10; Var c:TC;tf:TT; P,i,j:integer; menuit:TMenu; a1,a2,a3,a4,a,b1,b2,b3,b4,b,t,xk,yk,h,k,ste,ft,s0:Real; x,y,dx,dy,q,x1,x2,y1,y2,gd,gm,sht:Integer; st,sh,sv:string; Function f1(t,x,y:Real):Real; Begin; f1:=y End; Function f2(t,x,y:Real):Real; Begin; f2:=(m*g-k*y+ft)/m End; Function sx(x,x1,x2:Real):Integer; Begin; sx:=trunc(640*(x-x1)/(x2-x1)); End; Function sy(y,y1,y2:Real):Integer; Begin; sy:=trunc(480*(y-y2)/(y1-y2)); End; Function Menu(P:TMenu;x,y:Integer;ct,cf,cat,caf:Byte):Integer;{¬Ґ*о} Var i,k:Integer; Key:Char; Begin for i:=1 to 4 do begin GoToXY(x,y+i-1);write(P[i]); end; GoToXY(x,y);write(P[1]); i:=1;k:=1; key:=#0; Repeat if KeyPressed then Key:=ReadKey; if(Key=#080) then begin GOTOXY(x,y+i-1);write(P[i]); k:=k+1; If k>4 then k:=1; TextColor(cat);TextBackGround(caf); GoTOXY(x,y+k-1);write(P[k]); i:=k; key:=#0; end; If(Key=#072) then begin GOTOXY(x,y+i-1);write(P[i]); k:=k-1; If k<1 then k:=4; TextColor(cat);TextBackGround(caf); GoTOXY(x,y+k-1);write(P[k]); i:=k; key:=#0; end; Until Key=#13; Menu:=k; End; BEGIN c[1]:=1.11; tf[1]:='¤ЁбЄ'; c[2]:=1.33; tf[2]:='Ї®«гбдҐа*1'; c[3]:=0.55; tf[3]:='Ї®«гбдҐа*2'; c[4]:=0.4; tf[4]:='и*а'; c[5]:=0.045; tf[5]:='Є*Ї«п1'; c[6]:=0.1; tf[6]:='Є*Ї«п2'; ClrScr; ClrScr; menuit[1]:=' ‚ў®¤ Ї*а*¬Ґва®ў '; menuit[2]:=' ’*Ў«Ёж* १г«мв*в®ў '; menuit[3]:=' Џ®бв஥*ЁҐ Ја*дЁЄ®ў '; menuit[4]:=' ‚л室 '; sht:=0; Repeat P:=Menu(menuit,2,3,15,Blue,Yellow,Green); case P of 1:begin TextBackGround(Black);ClrScr; GoToXY(3,3);Write('‚ўҐ¤ЁвҐяЈ«гЎЁ*г ў§алў* (¬) ');ReadLn(s0); GoToXY(3,4);Write('‚ўҐ¤ЁвҐ бЁ«г впЈЁ (Ќ) ');ReadLn(ft); GoToXY(4,5);Write('„«п ў®§ўа*в* ў ¬Ґ*о **¦¬ЁвҐ [Enter]'); ReadLn;TextBackGround(Black);ClrScr; end; 2: begin {Џа®б¬®ва в*Ў«Ёжл} ClrScr; For j:=1 to 6 do Begin t:=0;xk:=0;yk:=0;h:=0.01; k:=2*c[j]*ro/2; Repeat a1:=f1(t,xk,yk);b1:=f2(t,xk,yk); a2:=f1(t+h/2,xk+a1*h/2,yk+b1*h/2); b2:=f2(t+h/2,xk+a1*h/2,yk+b1*h/2); a3:=f1(t+h/2,xk+a2*h/2,yk+b2*h/2); b3:=f2(t+h/2,xk+a2*h/2,yk+b2*h/2); a4:=f1(t+h,xk+a3*h,yk+b3*h); b4:=f2(t+h,xk+a3*h,yk+b3*h); a:=1/6*(a1+2*a2+2*a3+a4); b:=1/6*(b1+2*b2+2*b3+b4); sht:=sht+1; if sht=10 then sht:=0; t:=t+h; xk:=xk-a*h; yk:=yk+b*h; Until xk<-s0; ste:=ste+0.5; gotoxy(6,3); WriteLn('‚६пя(ᥪ)':16,' ѓ«гЎЁ** ў§алў* (¬)':16,' ”®а¬* ⥫* '); gotoxy(6,j+4); WriteLn(t-h:14:3,-(xk+a*h):14:3,tf[j]:16); end; write; Write(' „«п ў®§ўа*в* ў ¬Ґ*о **¦¬ЁвҐ [Enter]'); ReadLn; ClrScr; end; 3:begin For j:= 1 to 6 do Begin t:=0;xk:=0;yk:=0;h:=0.01; k:=2*c[j]*ro/2; gd:=Detect; InitGraph(gd,gm,'C:\BP\BGI'); t:=0;xk:=s0;yk:=0;h:=0.01; x1:=-1;x2:=60;y1:=-1;y2:=round(s0); Line(0,sy(0,y1,y2),640,sy(0,y1,y2)); Line(sx(0,x1,x2),0,sx(0,x1,x2),480); x:=x1;dx:=1;dy:=100;y:=y1; Repeat Line(sx(x,x1,x2),sy(0,y1,y2)-5,sx(x,x1,x2),sy(0,y1,y2)+5); x:=x+dx; Until x>x2; Repeat Line(sx(0,x1,x2)-5,sy(y,y1,y2),sx(0,x1,x2)+5,sy(y,y1,y2)); y:=y+dy; Until y>y2; OutTextXY(sx(0,x1,x2)+16,16,'S(t) (¬)'); OutTextXY(640-40,sy(0,y1,y2)-16,'t (б)'); OutTextXY(1,463,'0'); Repeat PutPixel(sx(t,x1,x2),sy(xk,y1,y2),12); a1:=f1(t,xk,yk);b1:=f2(t,xk,yk); a2:=f1(t+h/2,xk+a1*h/2,yk+b1*h/2); b2:=f2(t+h/2,xk+a1*h/2,yk+b1*h/2); a3:=f1(t+h/2,xk+a2*h/2,yk+b2*h/2); b3:=f2(t+h/2,xk+a2*h/2,yk+b2*h/2); a4:=f1(t+h,xk+a3*h,yk+b3*h); b4:=f2(t+h,xk+a3*h,yk+b3*h); a:=1/6*(a1+2*a2+2*a3+a4); b:=1/6*(b1+2*b2+2*b3+b4); t:=t+h;xk:=xk-a*h;yk:=yk+b*h; Until xk<-s0; ReadLn; CloseGraph; end; end; end; Until P=4; END.
Это код для варианта 15, а мне надо сделать 16 вариант.