|
DataMuseum.dkPresents historical artifacts from the history of: RC3500 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC3500 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 2304 (0x900) Types: TextFileVerbose Names: »tpb1«
└─⟦2c55ea56f⟧ Bits:30001844 SW-save af projekt 1000, Alarm-system └─⟦6b41451d2⟧ └─⟦this⟧ »tpb1«
o pbevlist mode list.yes (pbev=algol list.yes bossline.yes if ok.yes scope user pbev o c convert pbevlist finis) \f begin procedure orb(t,x,p); value t; real t; array x<*1:3,0:7*>,p<*1:8*>; <*global real delta,pi2*> begin integer j; real s,y,e,e1,sy,cy,r,q,q1,sv,cv,si,ci,so,co; array r1,y1(1:4); procedure dif(i); integer i; begin x(i,7):=q/e; q:=q/r; for j:=1 step 1 until 4 do x(i,j):=q*r1(j)+q1*y1(j); end; q:=p(1); j:=t/q; e:=q+q*j-q*j; q1:=pi2/q; s:=y:=(t-e*j-(q-e)*j-p(8)*j)*q1+p(2)-p(4); e:=p(3); e1:=sqrt(1-e**2); repeat s:=y+e*sin(s) until abs(s-y-e*sin(s))<=delta; sy:=sin(s); cy:=cos(s); r:=1-e*cy; r1(2):=q:=e*sy/r; r1(1):=q*q1*t; r1(4):=-q;r1(3):=(e-cy)/r; y:=arg(cy-e,e1*sy)+p(4); y1(2):=q:=e1/r**2; y1(1):=q*q1*t; y1(4):=1-q; y1(3):=(e1+r/e1)*sy/r**2; e:=p(7); e1:=e*r; sy:=sin(y); cy:=cos(y); si:=sin(p(5)/2); ci:=cos(p(5)/2); so:=sin(p(6)); co:=cos(p(6)); s:=e1*(sy*co-cy*so); sv:=s*si; cv:=2*e1*si*(cy*co+sy*so); x(1,0):=q:=e1*cy+sv*co*si; q1:=-e1*sy+cv*co*si; dif(1); x(1,5):=sv*co*ci; x(1,6):=-(cv*co+sv*so)*si; x(2,0):=q:=e1*sy-sv*so*si; q1:=e1*cy-cv*so*si; dif(2); x(2,5):=-sv*so*ci; x(2,6):=(cv*so-sv*co)*si; x(3,0):=q:=sv*ci; x(3,6):=q1:=cv*ci; dif(3); x(3,5):=s*(1-2*si**2); end; array p,p1(1:8),x,x1(1:3,0:7); integer i,j; real delta,t,e,pi2; pi2:=2*3.1415926536; read(in,delta,e,t,p); orb(t,x,p); for i:=1 step 1 until 8 do p1(i):=p(i); for i:=1 step 1 until 7 do begin p1(i):=p(i)*(1+e); orb(t,x1,p1); write(out,<:<10>:>,<<d>,i); for j:=1,2,3 do write(out,<< -d.dddd'-dd>,x1(j,0)-x(j,0),x(j,i)*e,x1(j,i)*e); p1(i):=p(i); end; end «eof»