10 ' **********************************
20 '
30 ' SITUATION GRAPHIQUE DES PLANETES 
40 '
50 '  J.VANDENBERGHE ** V1.1 ** 2/86  
60 '
70 ' **********************************
80 SYMBOL AFTER 229
90 MEMORY &9FFF
100 SYMBOL 248,255,195,195,219,219,195,195,255 'soleil
110 SYMBOL 249,31,51,102,204,204,102,51,31     'lune
120 SYMBOL 250,219,219,255,255,24,126,126,24   'neptune
130 SYMBOL 251,219,219,255,255,219,219,24,60   'uranus
140 SYMBOL 252,195,231,126,102,126,24,126,24   'mercure
150 SYMBOL 253,195,231,255,126,24,126,102,126  'pluton
160 SYMBOL 254,246,182,54,54,102,255,127,6    'jupiter
170 SYMBOL 255,206,255,243,199,14,60,240,255  'saturne
180 SYMBOL 233,223,219,219,251,0,0,0,0        '5
190 SYMBOL 232,223,219,219,251,0,255,192,96   '15
200 SYMBOL 231,223,219,219,251,0,243,219,207  '25
210 SYMBOL 230,255,195,195,255,0,255,219,219  '30
220 SYMBOL 236,243,219,207,0,0,0,0,0          '2
230 SYMBOL 237,6,207,102,62,0,0,0,0           '4
240 SYMBOL 238,223,219,255,0,0,0,0,0          '6
250 SYMBOL 239,255,219,219,255,0,0,0,0        '8
260 SYMBOL 240,255,195,195,255,0,255,192,96   '10
270 SYMBOL 241,243,219,207,0,255,192,96,0     '12
280 SYMBOL 242,6,207,102,62,0,255,192,96      '14
290 SYMBOL 243,223,219,255,0,255,192,96,0     '16
300 SYMBOL 244,255,219,219,255,0,255,192,96   '18
310 SYMBOL 245,255,195,195,255,0,243,219,207  '20
320 SYMBOL 246,243,219,207,0,243,219,207,0    '22
330 SYMBOL 247,6,207,102,60,0,243,219,207     '24
340 MODE 2:nc=0:GOTO 2880
350 '----------------------------------
360 N = M
370 FOR J = 1 TO 10
380 N = M + E * SIN (N)
390 NEXT J
400 '---------------------------------
410 R = A-A*E*COS (N)
420 '---------------------------------
430 L = W+2*ATN (SQR ((1+E)/(1-E))*TAN (N/2))
440 RETURN
450 '---------------------------------
460 W = L-D
470 L =ATN (COS (I)*SIN (W)/COS (W))+D
480 IF COS (W) < 0 THEN L=L+PI
490 '----------------------------------
500 E = SIN (W)*SIN (I)
510 E = ATN (E/SQR (-E*E+1))
520 '----------------------------------
530 A = R*SIN (E)
540 I = R*COS (E)*COS (L)+X
550 J = R*COS (E)*SIN (L)+Y
560 '----------------------------------
570 L = ATN (J/I)
580 IF I < 0 THEN L = L+PI
590 '----------------------------------
600 J = SQR (J*J+I*I+A*A)
610 E = A/J
620 E = ATN (E/SQR (-E*E+1))
630 GOSUB 690
640 GOSUB 770
650 MOVE 408,movv:GOSUB 3480
660 GOSUB 870
670 RETURN
680 '----------------------------------
690 G = (ATN ((B*SIN (L)-TAN (E)*C)/COS (L)))*Z
700 IF COS (L) <0 THEN G = G+180
710 IF G <0 THEN G = G +360
720 '---------------------------------
730 H = SIN (E)*B+COS (E)*C*SIN (L)
740 H = (ATN (H/SQR (-H*H+1)))*Z
750 RETURN
760 '---------------------------------
770 G = G*100
780 J = G-INT (G)
790 IF J>0.49999 THEN G = G+1
800 ad=INT(g)/100
810 h1=adç 15
820 m1=INT(((ad/15)-h1)*60)
830 s1=INT(((((ad/15)-h1)*60)-m1)*60)
840 TAG
850 bx=INT((ad*1.6666)+20)
860 RETURN
870 g=h:g=g*100:j=g-INT(g)
880 IF j>0.49999 THEN g=g+1
890 by=INT((5*(INT (G)/100))+208)
900 MOVE bx,by:PRINT sy$;
910 TAGOFF
920 RETURN
930 '--------------------------------
940 CLS
950 PRINT
960 LOCATE 33,5: PRINT,"DATE ,Jour,Heure,Mois,Annee"   
970 Y = 36525
980 Z = 57.29578
990 LOCATE 10,7:INPUT "J O U R -(JJ)---------> ",JJJ 
1000 IF JJJ<0 OR JJJ >31 THEN GOTO 990 
1010 LOCATE 10,9:INPUT "H E U R E -(HH.MM)-TU-> ",HHH
1020 IF HHH>24 THEN 1010
1030 J=JJJ+(HHH*1/24)
1040 LOCATE 10,11:INPUT "M O I S -(MM)---------> ",MM 
1050 IF MM<1 OR MM>12 THEN GOTO 1040  
1060 M=MM
1070 LOCATE 10,13:INPUT "A N N E E -(AAAA)-----> ",AA 
1080 IF AA<1600 OR AA>2200 THEN GOTO 1070 
1090 A=AA
1100 'LOCATE 10,15:INPUT "I N T E R V A L L E --> ",SS 
1110 CLS:S=SS
1120 IF M>2 THEN GOTO 1150
1130 A = A-1
1140 M = M+12
1150 T = INT(A*Y/100)+INT (30.6001*(M+1))+J-694023.5-INT (A/100)+INT (INT (A/100)/4)
1160 S = S/Y
1170 T = T/Y
1180 GOSUB 3170
1190 '-------------------------------
1200 'SOLEIL
1210 '-------------------------------
1220 A = 1
1230 E = 0.016751-0.000042*T
1240 M = 6.256584+T*628.301946
1250 W = T*0.030005-1.374956
1260 J = 0.40932-T*0.000227
1270 B = COS (J)
1280 C = SIN (J)
1290 GOSUB 360
1300 X = R*COS (L)
1310 Y = R*SIN (L)
1320 E = 0
1330 GOSUB 690
1340 'IF ss<>0 THEN 1520
1350 LOCATE 5,5:PRINT CHR$(159):LOCATE 5,21:PRINT CHR$(154)
1360 GOSUB 770
1370 sy$=CHR$(248):MOVE 408,399:GOSUB 3480
1380 GOSUB 870
1390 LOCATE 17,19:PRINT CHR$(248)+" Soleil":LOCATE 72,1:PRINT INT(g)/100
1400 '-------------------------------
1410 'LUNE
1420 '-------------------------------
1430 D = 6.121524+T*7771.377193
1440 N = 5.168+T*8328.691105
1450 F = 0.196365+T*8433.46629
1460 L = 4.719967+T*8399.709145
1470 L = L+0.109759*SIN (N)
1480 L = L+0.022236*SIN (D+D-N)
1490 L = L+0.01149 *SIN (D+D)
1500 L = L+0.003728*SIN (N+N)
1510 L = L-0.003239*SIN (M)
1520 L = L-0.001996*SIN (F+F)
1530 L = L+0.001026*SIN (D+D-N-N)
1540 L = L+0.000999*SIN (D+D-M-N)
1550 L = L+0.000931*SIN (D+D+N)
1560 L = L+0.000801*SIN (D+D-M)
1570 L = L+0.000716*SIN (N-M)
1580 L = L-0.000606*SIN (D)
1590 L = L-0.000532*SIN (M+N)
1600 L = L+0.000267*SIN (D+D-F-F)
1610 L = L-0.000219*SIN (F+F+N)
1620 L = L-0.000192*SIN (F+F-N)
1630 E = 0.089504  *SIN (F)   
1640 E = E+0.004897*SIN (N+F)
1650 E = E+0.004847*SIN (N-F)
1660 E = E+0.003024*SIN (D+D-F)
1670 E = E+0.000967*SIN (D+D+F-N)
1680 E = E+0.000808*SIN (D+D-F-N)
1690 E = E+0.000569*SIN (D+D+F)
1700 E = E+0.0003  *SIN (N+N-F)
1710 GOSUB 690
1720 GOSUB 770
1730 sy$=CHR$(249):MOVE 408,383:GOSUB 3480
1740 GOSUB 870
1750 LOCATE 34,19:PRINT CHR$(249)+" Lune":LOCATE 72,2:PRINT INT(g)/100
1760 '-----------------------------
1770 'MERCURE
1780 '-----------------------------
1790 A = 0.387099
1800 E = 0.205614+T*0.000002
1810 I = 0.122223+T*0.000032
1820 M = 1.785112+T*2608.787533 
1830 W = 1.3247+T*0.027148
1840 D = 0.822852+T*0.020686
1850 GOSUB 360
1860 sy$=CHR$(252):movv=367
1870 GOSUB 460
1880 LOCATE 26,17:PRINT CHR$(252)+" Mercure":LOCATE 72,3:PRINT INT(g)/100
1890 '----------------------------
1900 'VENUS
1910 '----------------------------
1920 A = 0.723332
1930 E = 0.006821-T*0.000048
1940 I = 0.05923+T*0.000018
1950 M = 3.710626+T*1021.328349
1960 W = 2.271787+T*0.024575
1970 D = 1.322604+T*0.015705
1980 GOSUB 360
1990 sy$=CHR$(235):movv=351
2000 GOSUB 460
2010 LOCATE 26,19:PRINT CHR$(235)+" Venus":LOCATE 72,4:PRINT INT(g)/100
2020 '-----------------------------
2030 'MARS
2040 '-----------------------------
2050 A = 1.523688
2060 E = 0.093313+T*0.000092
2070 I = 0.032294-T*0.000012
2080 M = 5.576661+T*334.053484
2090 W = 0.032127*T-0.449977
2100 D = 0.851484+T*0.013456
2110 GOSUB 360
2120 sy$=CHR$(234):movv=335
2130 GOSUB 460
2140 LOCATE 26,15:PRINT CHR$(234)+" Mars":LOCATE 72,5:PRINT INT(g)/100
2150 K = 2.349761+T*0.711349
2160 '-------------------------------
2170 'JUPITER
2180 '-------------------------------
2190 A = 5.202561-0.000026*COS (K)
2200 E = 0.048335+T*0.000164+0.000361*SIN (K)+0.000129*COS (K)
2210 I = 0.022842-T*0.000099
2220 M = 3.932721+T*52.965368+0.007442*COS (K)+0.003176*SIN (K)
2230 W = 0.222022+T*0.028099-0.007386*COS (K)+0.002607*SIN (K)
2240 D = 1.735615+T*0.017637
2250 GOSUB 360
2260 sy$=CHR$(254):movv=319
2270 GOSUB 460
2280 LOCATE 7,17:PRINT CHR$(254)+" Jupiter":LOCATE 72,6:PRINT INT(g)/100
2290 '---------------------------------
2300 'SATURNE
2310 '---------------------------------
2320 A = 9.554747+0.000057*SIN (K)+0.000293*COS (K)
2330 E =0.055892-T*0.000346-0.000793*SIN (K)+0.001338*COS (K)
2340 I = 0.043503-T*0.000068
2350 M = 3.062463+T*21.320095-0.0383*SIN (K)-0.014478*COS (K)
2360 W = 1.589963+T*0.034181+0.024079*SIN (K)+0.014295*COS (K)
2370 D = 1.968564+T*0.01524
2380 GOSUB 360
2390 sy$=CHR$(255):movv=303
2400 GOSUB 460
2410 LOCATE 7,15:PRINT CHR$(255)+" Saturne":LOCATE 72,7:PRINTINT (g)/100
2420 IF nc=8 THEN 2430
2430 K = 4.958028+T*0.148533
2440 '---------------------------------
2450 'URANUS
2460 '---------------------------------
2470 A = 19.21814-0.003824*COS (K)
2480 E = 0.046344-T*0.000027-0.000335*SIN (K)+0.0021*COS (K)
2490 I = 0.013482+T*0.000011
2500 M = 1.26796+T*7.476626-0.030225*SIN (K)-0.005875*COS (K)
2510 W = 2.99409+T*0.025908+0.045305*SIN (K)+0.007306*COS (K)
2520 D = 1.282418+T*0.008703
2530 GOSUB 360
2540 sy$=CHR$(251):movv=287
2550 GOSUB 460
2560 LOCATE 17,15:PRINT CHR$(251)+" Uranus":LOCATE 72,8:PRINTINT (g)/100
2570 '--------------------------------
2580 'NEPTUNE
2590 '--------------------------------
2600 A = 30.10957+0.01058*COS (K)
2610 E = 0.008997+T*0.000006+0.00044*SIN (K)+0.000426*COS (K)
2620 I = 0.031054-T*0.000167
2630 M = 0.658524+T*3.81287-0.056901*SIN (K)+0.047519*COS (K)
2640 W = 0.815546+T*0.024863+0.046558*SIN (K)-0.048498*COS (K)
2650 D = 2.280821+T*0.01918
2660 GOSUB 360
2670 sy$=CHR$(250):movv=271
2680 GOSUB 460
2690 LOCATE 7,19:PRINT CHR$(250)+" Neptune":LOCATE 72,9:PRINTINT (g)/100
2700 '---------------------------------
2710 'PLUTON
2720 '---------------------------------
2730 A = 39.43871:E = 0.250236
2740 I = 0.299681: M = 4.000635+T*2.536813
2750 W = 3.909712:D = 1.915324
2760 GOSUB 360
2770 sy$=CHR$(253):movv=255
2780 GOSUB 460
2790 LOCATE 17,17:PRINT CHR$(253)+" Pluton":LOCATE 72,10:PRINT INT(g)/100
2800 '---------------------------------
2810 T = T+S
2820 'GOTO 1350
2830 LOCATE 5,24:PRINT"BEL   TAU   GEM    CAN   LIO   VIE    BAL   SCO   SAG   CAP   VER    POI"
2840 IF nc=8 THEN GOSUB 3130
2850 LOCATE 18,25:INPUT "Desirez-vous une copie sur imprimante éO/Nè ",r$   
2860 IF r$="O" OR r$="o" THEN 3500 
2870 GOTO 3130
2880 CLS :PRINT
2890 PRINT SPC(12);"* * L O C A L I S A T I O N  D E S  P L A N E T E S * *":PRINT:PRINT:PRINT
2900 PRINT SPC(23);"Ce programme calcule la position de":PRINT 
2910 PRINT SPC(21);"toutes les planetes du systeme solaire.":PRINT 
2920 PRINT SPC(25);"Avec une precision de 2' pour :":PRINT
2930 PRINT SPC(25);"SOLEIL , MERCURE , VENUS , MARS":PRINT
2940 PRINT SPC(33);"et de 8' pour :":PRINT
2950 PRINT SPC(12);"LA LUNE , JUPITER , SATURNE , URANUS , NEPTUNE , PLUTON ."
2960 LOCATE 25,22:PRINT"Taper une touche pour la suite..":CALL &BB18 
2970 CLS
2980 PRINT:PRINT SPC(25);"* * D E F I N I T I O N S * *":PRINT:PRINT:PRINT
2990 PRINT"  LA DECLINAISON d'un astre est l'angle compris entre l'equateur celeste"
3000 PRINT"(projection de l'equateur terrestre sur la sphere celeste) et le parallele"
3010 PRINT"celeste sur lequel se trouve cet astre. Elle est comptee en degres et"
3020 PRINT"minutes: de 0 a + 90 vers le nord et de 0 a - 90 vers le sud ;":PRINT
3030 PRINT"  L'ASCENSION DROITE d'un astre est l'angle compris entre un cercle horaire"
3040 PRINT"arbitrairement choisi comme reference et le cercle horaire de cet astre."
3050 PRINT"  Elle est comptee en heures,minutes et secondes de 0 a 24h, vers l'est"
3060 PRINT"(l'heure est consideree ici comme une unite d'angle valant 15 degres.
3070 PRINT"  Les coordonnees equatoriales sont independantes du lieu d'observation."
3080 PRINT
3090 PRINT SPC(19);" DECLINAISON       Symbole usuel :DELTA "+CHR$(178):PRINT
3100 PRINT SPC(19);" ASCENSION DROITE  Symbole usuel :ALPHA "+CHR$(176)
3110 LOCATE 25,22:PRINT"Taper une touche pour la suite..":CALL &BB18 
3120 GOTO 940
3130 LOCATE 8,25:PRINT"Tapez é C è--> Pour un autre calcul. é F è--> Pour FIN."
3140 r$=INKEY$:IF r$="" THEN 3140
3150 r$=UPPER$(r$):IF r$="C" THEN 940 ELSE CLS:END 'RUN"MENU"
3160 RETURN
3170 MODE 2:BORDER 10
3180 PLOT 20,10:DRAW 20,390
3190 PLOT 20,200:DRAW 620,200:PLOT 19,10:DRAW 19,390
3200 p=0:FOR a=0 TO 24:PLOT 70+p,200:DRAW 70+p,210:p=p+50:NEXT
3210 p=0:FOR a=0 TO 24:PLOT 69+p,200:DRAW 69+p,210:p=p+50:NEXT
3220 p=0:FOR a=0 TO 24:PLOT 45+p,200:DRAW 45+p,205:p=p+50:NEXT
3230 p=0:FOR a=0 TO 24:PLOT 44+p,200:DRAW 44+p,205:p=p+50:NEXT
3240 p=0:FOR a=0 TO 18:PLOT 15,25+p:DRAW 20,25+p:p=p+25:NEXT
3250 p=0:TAG
3260 DATA 230,231,245,232,240,233,178,233,240,232,245,231,230
3270 RESTORE 3260
3280 FOR a=1 TO 13:x=1:y=52+p:MOVE x,y:READ b:PRINTCHR$(b);
3290 p=p+25
3300 NEXT a
3310 y=0:x=0:p=0:b=0
3320 FOR a=0 TO 12
3330 x=65+p:y=195
3340 MOVE x,y:PRINT CHR$(236+a);
3350 p=p+50
3360 NEXT a
3370 TAGOFF
3380 PRINT STRING$(50,"-")
3390 PRINT" POSITIONS PLANETAIRES LE";JJJ;"/";MM;"/";AA;"a";hhh;"H"
3400 PRINT STRING$(50,"-")
3410 DEG
3420 FOR n=0 TO 360 STEP 2
3430 y=SIN(n):x=(n*1.666)+20:y1=117*y
3440 PLOT x,y1+200:PLOT x,y1+242.5:PLOT x,y1+157.5
3450 NEXT
3460 RAD
3470 RETURN
3480 PRINT sy$;h1;"h";m1;"mn";s1;"s____";
3490 RETURN
3500 LOCATE 18,25:PRINTSTRING$(46," ")
3510 REM --- IMPLANTEZ ICI VOTRE ROUTINE DE RECOPIE ECRAN ---
3520 GOTO 3130