.
El listado del programa en Basic es:
5 REM efemerides planetas SAVE EFEMER1
8 DEF FNFR(X)=X-INT(X)
15 RESTORE:CLS:SCREEN 0:PI=3.1415928#:WIDTH 80
20 PRINT " COORDENADAS ECUATORIALES GEOCENTRICAS "
70 READ PT,VPT,AT,ET,NT,MT
80 DATA 282.60402,0.00471,1,0.016718,0.9856,155.9044
90 READ F1,D1,M1,A1
110 DATA 2415020.5,10,6,1980
120 PRINT "INGRESE FECHA CALCULO EFEMERIDES: ";
130 INPUT "DIA MES AÑO HORA(h.m) ";D2,M2,A2,H
150 HR=INT(H)+FNFR(H)*5/3:D2=D2+HR/24
190 DY=D1:A=A1:M=M1
220 GOSUB 1230
230 J1=J
240 DY=D2:A=A2:M=M2
270 GOSUB 1230
271 J2=J
272 PRINT :PRINT
273 U=(J2-F1)/365.2422
274 E=23.45229444#-(.46845*U+5.9E-07*U^2)/3600
275 E=E*PI/180
283 GOSUB 2000
285 PRINT TAB(1) "PLANETA";TAB(13) "R (UA)";TAB(32)
"ASCENSION RECTA";TAB(55)"DECLINACION"
290 PRINT "==========================================
===================================="
295 FOR XX=1 TO 8
300 READ P$,AP,EP,I,ND,VND,T0,LP,VLP,MP,NP
320 ND=ND+VND*((J2-J1)/100)
330 LP=LP+VLP*((J2-J1)/100)
340 W=LP-ND
430 ND=ND*PI/180
440 W=W*PI/180
460 I=I*PI/180
470 P1=COS (ND)*COS(W)-COS(I)*SIN(ND)*SIN(W)
480 P2=SIN(ND)*COS(W)*COS(E)+COS(I)*COS(ND)*SIN(W)*COS(E)
-SIN(I)*SIN(W)*SIN(E)
500 P3=SIN(ND)*COS(W)*SIN(E)+COS(I)*COS(ND)*SIN(W)*SIN(E)
+SIN(I)*SIN(W)*COS(E)
520 Q1=-COS (ND)*SIN(W)-COS(I)*SIN(ND)*COS(W)
530 Q2=-SIN(ND)*SIN(W)*COS(E)+COS(I)*COS(ND)*COS(W)*COS(E)
-SIN(I)*COS(W)*SIN(E)
540 Q3=COS(ND)*COS(W)*SIN(E)*COS(I)-SIN(ND)*SIN(W)*SIN(E)
+SIN(I)*COS(W)*COS(E)
620 REM CALCULO DE LA EC. KEPLER PARA PLANETA
630 M=MP+NP*(J1-T0):N=NP:E1=EP:A=AP
670 GOSUB 1480
680 V1=V:R1=R
820 V1=V1*PI/180
840 X1=P1*R1*COS(V1)+Q1*R1*SIN(V1)
850 Y1=P2*R1*COS(V1)+Q2*R1*SIN(V1)
860 Z1=P3*R1*COS(V1)+Q3*R1*SIN(V1)
970 X=X1+X2
980 Y=Y1+Y2
990 Z=Z1+Z2
1020 REM calculo de AR y DEC
1030 A1=ATN(Y/X)*12/PI
1040 IF X>=0 GOTO 1060
1050 A1=A1+12
1060 IF A1>=0 GOTO 1080
1070 A1=A1+24
1080 G=INT (A1)
1090 M=INT((A1-INT(A1))*60)
1100 S=((A1-INT(A1))*60-M)*60
1110 DC=ATN(Z/SQR(X*X+Y*Y))*180/PI
1111 D=ABS(DC)
1120 G1=SGN(DC)*INT (D)
1130 M1=INT((D-INT(D))*60)
1140 S1=((D-INT(D))*60-M1)*60
1150 R=SQR(X*X+Y*Y+Z*Z)
1160 PRINT TAB(1) P$;TAB(13) R;TAB(30) G;"H ";M;"M ";INT(S);
"S ";TAB(52) G1;"G";M1;"M";INT (S1);"S"
1180 NEXT XX
1190 LOCATE 22,4:INPUT "OTRO CALCULO ";A$
1195 IF A$="s" OR A$="S" THEN 15
1200 END
1220 REM dia juliano
1230 MN=M:YR=A
1240 IF MN=1 OR MN=2 THEN 1260
1250 GOTO 1270
1260 YR=YR-1:MN=MN+12
1270 L=INT(YR/100)
1280 P=2-L+INT(L/4)
1290 Q=INT(365.25*YR)
1300 C= INT(30.6001*(MN+1))
1310 W=P+Q+C+DY
1320 J=W+1720994.5#
1330 RETURN
1470 REM ECUACION DE KEPLER
1480 M=M+N*(J2-J1)
1490 M=M-INT(M/360)*360
1500 K=M
1510 P=M+E1*180/PI*SIN(PI*K/180)
1520 IF ABS(P-K)>=.00001 GOTO 1550
1530 K=P
1540 GOTO 1510
1550 V=180/PI*ATN(SQR((1+E1)/(1-E1))*TAN(PI*P/360))*2
1560 IF V>0 THEN 1580
1570 V=V+360
1580 R=A*(1-E1*COS (PI*P/180))
1590 RETURN
1600 DATA MERCURIO,.3870986,.20563,7.0043579,48.094173,.00325
1610 DATA 2444238.5,77.14442128,.004265,154.15309,4.092339
1620 DATA VENUS,.7233316,.0067826,3.394435,76.4997524,.00247
1630 DATA 2444238.5,131.2895792,.003847,224.44394,1.602130
1660 DATA MARTE,1.5236883,.0933865,1.8498011,49.4032001,.00211
1670 DATA 2444238.5,335.690816,.005038,150.61701,.524033
1680 DATA JUPITER,5.202561,.0484658,1.3041819,
100.2520175,.00276
1690 DATA 2444238.5,14.0095493,.004412,132.95682,.0830912
1700 DATA SATURNO,9.554747,.0556155,2.4893741,
113.4888341,.00239
1710 DATA 2444238.5,92.665397,.005371,72.65684,.0334596
1720 DATA URANO,19.21814,.0463232,.7729895,73.8768642,.00137
1730 DATA 2444238.5,172.7363288,.004063,55.33453,0.0117308
1740 DATA NEPTUNO,30.10957,.0090021,1.7716016,
131.5660649,.00301
1750 DATA 2444238.5,47.8672148,.003899,212.49069,.0059819
1760 DATA PLUTON,39.78459,.25387,17.137,109.941,.00305
1770 DATA 2444240.5,222.972,.00083,346.467,.0039746
2000 REM calculo coordenadas cartesianas tierra
2010 REM CALCULO DE LA EC. KEPLER PARA TIERRA
2020 M=MT:N=NT:E1=ET:A=AT
2030 GOSUB 1480
2040 V2=V:R2=R
2050 V2=V2*PI/180
2060 PT=PT+VPT*(J2-J1)/100
2070 PT=PT*PI/180
2080 X2=R2*COS(PT+V2)
2090 Y2=R2*COS(E)*SIN(PT+V2)
2100 Z2=R2*SIN(E)*SIN(PT+V2)
2110 RETURN