programme gwbasic
domification de régiomontanus
20 rem NONAS Programme gw basic Jean Pakhomoff 1994 dernière version 12/12/2002
50 OPEN"nonahnhs.wps" FOR OUTPUT AS #1
110 GOTO 340
120 IF Z$="SOLEIL" THEN PS=KRO:RETURN
130 IF Z$="LUNE" THEN PL=KRO:RETURN
140 IF Z$="MERCURE" THEN PM=KRO:RETURN
150 IF Z$="VENUS" THEN PV=KRO:RETURN
160 IF Z$="MARS" THEN PMA=KRO:RETURN
170 IF Z$="JUPITER" THEN PJ=KRO:RETURN
180 IF Z$="SATURNE" THEN PSA=KRO:RETURN
190 IF Z$="URANUS" THEN PU=KRO:RETURN
200 IF Z$="NEPTUNE" THEN PN=KRO:RETURN
210 IF Z$="PLUTON" THEN PP=KRO:RETURN
220 IF ABS(A)>180# THEN A=360#-ABS(A)
230 IF ABS(A)<=4# THEN PRINT #1,"CONJONCTION ";A$;" ";B$:RETURN
240 IF 28#<=ABS(A) THEN IF ABS(A)<=32# THEN PRINT #1,"SEMI-SEXTILE ";A$;" ";B$:RETURN
250 IF 43#<=ABS(A) THEN IF ABS(A)<=47# THEN PRINT #1,"SEMI-CARRE ";A$;" ";B$:RETURN
260 IF 56#<=ABS(A) THEN IF ABS(A)<=64# THEN PRINT #1,"SEXTILE ";A$;" ";B$:RETURN
270 IF 70#<=ABS(A) THEN IF ABS(A)<=74# THEN PRINT #1,"QUINTILE (72) ";A$;" ";B$:
RETURN
280 IF 82#<=ABS(A) THEN IF ABS(A)<=98# THEN PRINT #1,"CARRE ";A$;" ";B$:RETURN
290 IF 112#<=ABS(A) THEN IF ABS(A)<=128# THEN PRINT #1,"TRIGONE ";A$;" ";B$:RETURN
300 IF 133#<=ABS(A) THEN IF ABS(A)<=137# THEN PRINT #1,"SESQUI-CARRE (135) ";A$;
" ";B$:RETURN
310 IF 148#<=ABS(A) THEN IF ABS(A)<=152# THEN PRINT #1,"QUINCONCE (150) ";A$;" "
;B$:RETURN
320 IF 172#<=ABS(A) THEN PRINT #1,"OPPOSITION ";A$;" ";B$:RETURN
330 RETURN
340 CLS:PRINT #1,"DOMIFICATION EQUATORIALE DITE DE REGIOMONTANUS (calculée par
trigonométrie sphèrique par Jean Pakhomoff 2è prix international de gnomonique)"
345 PRINT #1,
350 INPUT"Prenom, Nom, né(e) à xyz ?",H$:PRINT #1,H$
355 PRINT #1,
360 REM nonats 20/2/1994 CALCULS ET LOGICIEL REALISE PAR JEAN PAKHOMOFF D'OCTOBRE 1993 AU 20 FEVRIER 1994. LE TEMPS SIDERAL EST RECHERCHE PAR L'ORDINATEUR.
370 REM CE PROGRAMME DONNE LA POSITION DES SIGNES DU ZODIAQUE DANS LES MAISONS CELESTES (REGIOMONTANUS) POUR UN LIEU QUELCONQUE DE LA PLANETE ET POUR UN TEMPS SIDERAL CONNU OU CALCULE.
380 CLS:DEFDBL A-Z:PI=4#*ATN(1#)
390 TSO=.2782986111#:REM temps sidéral à Greenwich le 1/1/1900 à 0h (6h40'45'' transformé en jour)
400 PRINT"Latitude et longitude en ° centésimaux: + pour le Nord et pour l'Ouest"
410 PRINT"- pour le Sud et l'Est"
420 INPUT"Latitude, Longitude ?",FF,LGT
430 F=FF*PI/180#:IF F>0 THEN PRINT #1,FF;"° Latitude Nord" ELSE PRINT #1;FF;"° Latitude Sud":F=ABS(F)
440 IF LGT>0 THEN PRINT #1,LGT;"° Longitude Ouest" ELSE PRINT #1,LGT;"° Longitude Est"
450 OPTION BASE 1
460 DIM TE(12):DIM M(12):DIM NE(12):DIM LLS(12):DIM LS(12):DIM NNE(12):DIM MA(12)
470 INPUT"Temps sidéral connu: appuyez sur Y: inconnu sur N",Q
475 IF Q$="y" THEN INPUT "Année de 1900 à 2050, mois de 1 à 12, jour de 1 à 31",
A,MO,J:GOTO 830
480 INPUT"Année de 1900 à 2050, mois de 1 à 12, jour, heure, minutes, secondes",
A,MO,J,H,MN,SC:PRINT #1,"Temps civil: ";J;"/";MO;"/";A;" ";H;"H";MN;"mn";SC;"sc"
490 INPUT"Correction horaire Greenwich: - pour les avances et les fuseaux EST, +pour les retards et les fuseaux OUEST ?",C:H=H+C:PRINT #1,"correction horaire =";C
491 IF H<0 THEN PRINT" H<0: recommencer en entrant la date de la veille et ajouter 24 à la valeur <0 de H ":REM cas de 1h civile en horaire d'été. Si l'on est le 1er Septembre il faudra entrer le 31 Août
492 GOTO 499
497 REM on trouve le temps universel par rapport à l'heure légale d'un endroitquelconque de la planète. c'est en effet à partir de ce TU que se calcule le
temps sidéral.
498 REM par exemple en France on prend - 1 heure l'hiver (fuseau 1) et - 2 heures l'été (fuseau 2). Pour Melbourne il faudrait prendre -10 car fuseau 10 à l'ES
T (il n'y a pas d'heure d'été).
499 PRINT #1,"TEMPS UNIVERSEL = ";H;" H ";MN;" mn ";SC;" s":PRINT "TEMPS UNIVERSEL = ";H;" H ";MN;" mn ";SC;" s"
500 IF A>2050 THEN PRINT"l'année doit être <= 2050":GOTO 480
510 IF A<1900 THEN PRINT"l'année doit être >= 1900":GOTO 480
520 AN=2049:IF A=1900 THEN BIS=0:GOTO 570
530 FOR J%=38 TO 1 STEP -1
540 IF A>=AN THEN BIS=J%-1:J%=1:GOTO 560
550 AN=AN-4
560 NEXT J%
570 IF MO=1 THEN MOI=0:GOTO 690
580 IF MO=2 THEN MOI=31:GOTO 690
590 IF MO=3 THEN MOI=59:GOTO 690
600 IF MO=4 THEN MOI=90:GOTO 690
600 IF MO=4 THEN MOI=90:GOTO 690
610 IF MO=5 THEN MOI=120:GOTO 690
620 IF MO=6 THEN MOI=151:GOTO 690
630 IF MO=7 THEN MOI=181:GOTO 690
640 IF MO=8 THEN MOI=212:GOTO 690
650 IF MO=9 THEN MOI=243:GOTO 690
660 IF MO=10 THEN MOI=273:GOTO 690
670 IF MO=11 THEN MOI=304:GOTO 690
680 IF MO=12 THEN MOI=334
690 HE=(H*3600#+MN*60#+SC)/86400#:REM TRANSFORMATION DU NOMBRE D'heures en jour
700 NJ=(A-1900)*365#+BIS+MOI+J-1#+HE
705 NJS=NJ*1.002737905#-LGT/(15#*24#):REM les longitudes sont du temps sidéral
donc inutile de les * par 1.002737905 (facteur de transformation de temps solaire en temps sidéral j sol = j sid + 256.555 sec)
706 REM 1 jour sidéral <=> 86400/86636.55 = .9972696 jour solaire moyen. LGT/15/24 <=> (LGT*4)/60/24 (1°=4'divisé par 60=> heures et divisé par 24=>jour)
710 AAA = 1904
720 FOR K%=1 TO 37
730 IF A=AAA THEN IF MO>2 THEN NJ=NJ+1
740 AAA=AAA+4
750 NEXT K%:REM cela permet de rajouter 1 jour à la dernière année bissextile quand le mois de naissance dépasse février. Par exemple les lignes 520-560 donneront bis=36 pour 2048 (37 aprés février)
770 TS=NJS-FIX(NJS)+TSO
780 TS=TS*24#:IF TS>24# THEN TS=TS-24#
782 IF FF<0 THEN TS=TS+12#:IF TS>24# THEN TS=TS-24#
790 PRINT"Temps sidéral= ";TS;"<=>";FIX(TS);"H";(TS-FIX(TS))*60#;"min."
800 PRINT #1,"Temps sidéral= ";TS;"<=>";FIX(TS);"H";(TS-FIX(TS))*60#;"min."
810 T=TS*15#:IF T=360# THEN T=0#
820 TT=T*PI/180#
830 REM L'inclinaison Ep de l'équateur céleste sur l'écliptique (orbite du soleil autour de la terre (ou de la terre autour du soleil)) varie au cours des ans très insensiblement. Elle diminuera pendant encore 15000 ans puis croîtra à nouveau
840 REM pendant 50000 ans. Etc...Cette variation est traduite avec une bonne approximation par la formule Epsilon=23°27'8'',26 -0'',46845*t t étant compté en années depuis le 1/1/1900.
860 REM nona = programme donnant les longitudes des levers et couchers de l'écliptique ainsi que du nonagésime (longitude du milieu de l'écliptique visible).
870 REM sur l'horizon) en fournissant le temps sidéral supposé connu (par exemple en lisant le cadran solaire à temps sidéral). Septembre-Octobre 1993.
880 REM fonctionne le 27/10/1993: nona2=nona adapté aux 2 hémisphères(3/11/1993)
890 ANT=A-1900+(MO-1#)/12#+(J-1#)/365#
900 EP=23.45233889#-(.46845#*ANT)/3600#:PRINT #1,"epsilon = ";EP;"°":EP=EP*PI/18
0#:REM 23.45233889=23°27'8,42'' valeur d'epsilon le 1/1/1900.
910 GOTO 1970
920 NNE(I%)=-SIN(TE(I%))*SIN(F):IF NNE(I%)=0 THEN NE(I%)=PI/2#:GOTO 940
930 NE(I%)=ATN(SQR(1#-NNE(I%)^2#)/NNE(I%)):IF NNE(I%)<0 THEN NE(I%)=NE(I%)+PI:REM ne est toujours<pi: cas des maisons diurnes et nocturnes nord et sud.
940 MA(I%)=COS(TE(I%))/SIN(NE(I%)):IF I%=10 THEN M(I%)=PI/2#:RETURN
950 IF I%=7 THEN M(I%)=PI:RETURN
960 IF I%=4 THEN M(I%)=3#*PI/2#:RETURN
970 IF I%=1 THEN M(I%)=2#*PI:RETURN
980 M(I%)=ATN(SQR(1#-MA(I%)^2#)/MA(I%)):IF 3#*PI/2#<TE(I%) THEN IF TE(I%)<2#*PI
THEN M(I%)=2#*PI-M(I%):RETURN:REM pèriode du cosinus : maisons 3,2,1
990 IF PI<TE(I%) THEN IF TE(I%)<3#*PI/2# THEN M(I%)=PI-M(I%):RETURN:REM maisons 6,5,4
1000 IF PI/2#<TE(I%) THEN IF TE(I%)<PI THEN M(I%)=M(I%)+PI:RETURN:REM maisons 9,8,7
1010 RETURN:REM maisons 12,11,10 ; te(i%)<pi/2
1020 LT=SIN(LLG)*SIN(EP)/COS(F):LT=ATN(LT/SQR(1#-LT^2#)):LN=PI/2#-LT:REM maisons
12 à 1 hémis nord et sud Gamma sur l'horizon (tt>3pi/2 ou <pi/2).
1030 RETURN
1040 LT=-SIN(LLG)*SIN(EP)/COS(F):LT=ATN(LT/SQR(1#-LT^2#)):LN=PI/2#+LT:REM maisons 12 à 1 hémis nord et sud Gamma sous l'horizon (pi/2<tt<3pi/2).
1050 RETURN
1060 ZMC=SIN(LLS(10))*COS(LL):ZMC=ATN(SQR(1#-ZMC^2#)/ZMC):ZMC=PI/2#-ZMC
1070 PRINT #1,"Hauteur du Milieu du Ciel = ";FIX(ZMC*18000#/PI)/100#;"°"
1080 RETURN
1090 LS(I%)=TAN(M(I%))*SIN(LN)/(COS(LL)-COS(LN)*TAN(M(I%))*SIN(LL)):REM maisons
hémis nord et sud
1091 IF I%=7# THEN LS(I%)=0:GOTO 1100
1092 IF I%=1# THEN LS(I%)=0
1100 LLS(I%)=ATN(LS(I%))
1110 IF I%<10 THEN 1140:REM maisons 10,11,12 nord et sud>10
1120 IF LS(I%)<0 THEN LLS(I%)=LLS(I%)+PI
1130 GOTO 1230
1140 IF I%<7 THEN 1170:REM maisons 7,8,9 nord et sud
1150 IF LS(I%)<=0 THEN LLS(I%)=LLS(I%)+PI:REM <=0 car si M=pi(maison 7) tan (pi)=0 et tan(ls)=0 d'où atn(0)=0. Donc il faut dans ce cas rajoutter pi.
1160 GOTO 1230
1170 IF I% <4 THEN 1210:REM maisons 4,5,6 nord et sud
1180 IF LS(I%)>0 THEN LLS(I%)=LLS(I%)+PI:GOTO 1230
1190 LLS(I%)=2#*PI+LLS(I%):GOTO 1230
1200 REM maisons 1,2,3 nord et sud
1210 IF LS(I%)>0 THEN LLS(I%)=LLS(I%)+PI:GOTO 1230
1220 LLS(I%)=2#*PI+LLS(I%)
1230 RETURN
1240 REM calcul de Z (h=pi/2-z)
1260 Z=COS(F)*COS(TT):ZZ=ATN(SQR(1#-Z^2#)/Z)
1270 IF Z<0# THEN ZZ=ZZ+PI
1280 RETURN
1290 REM calcul de B
1300 B=SIN(F)/SIN(ZZ):BB=ATN(B/SQR(1#-B^2#))
1310 IF BB<0# THEN BB=BB+PI
1320 RETURN
1330 REM calcul de l 0 à 12H hémisphère NORD
1340 L=SIN(ZZ)*SIN(BB-EP):LL=ATN(L/SQR(1#-L^2#))
1350 RETURN
1360 REM calcul de l 12 à 24H hémisphère nord
1370 L=SIN(ZZ)*SIN(BB+EP):LL=ATN(L/SQR(1#-L^2#))
1380 RETURN
1390 REM longitudes des levers et couchers de l'écliptique ainsi que le nonagésime
1400 LG=COS(ZZ)/COS(LL):LLG=ATN(LG/SQR(1#-LG^2#))
1410 RETURN
1420 CLG=LLG+PI:IF CLG>2#*PI THEN CLG=CLG-2#*PI
1430 NONA=CLG+PI/2#:IF NONA>2#*PI THEN NONA=NONA-2#*PI
1440 LLLG=FIX(LLG*18000#/PI)/100#:CLG=FIX(CLG*18000#/PI)/100#:NONA=FIX(NONA*18000#/PI)/100#
1442 HSLLLG=CLG:HSCLG=LLLG:HSNONA=NONA-180#:IF HSNONA<0 THEN HSNONA=NONA+360#
1450 RETURN
1460 IF 0#<=LLLG THEN IF LLLG<30# THEN A$="BELIER"
1470 IF 0#<=CLG THEN IF CLG<30# THEN B$="BELIER"
1480 IF 0#<=NONA THEN IF NONA<30# THEN C$="BELIER"
1490 IF 30#<=LLLG THEN IF LLLG<60# THEN A$="TAUREAU"
1500 IF 30#<=CLG THEN IF CLG<60# THEN B$="TAUREAU"
1500 IF 30#<=CLG THEN IF CLG<60# THEN B$="TAUREAU"
1510 IF 30#<=NONA THEN IF NONA<60# THEN C$="TAUREAU"
1520 IF 60#<=LLLG THEN IF LLLG<90# THEN A$="GEMEAUX"
1530 IF 60#<=CLG THEN IF CLG<90# THEN B$="GEMEAUX"
1540 IF 60#<=NONA THEN IF NONA<90# THEN C$="GEMEAUX"
1550 IF 90#<=LLLG THEN IF LLLG<120# THEN A$="CANCER"
1560 IF 90#<=CLG THEN IF CLG<120# THEN B$="CANCER"
1570 IF 90#<=NONA THEN IF NONA<120# THEN C$="CANCER"
1580 IF 120#<=LLLG THEN IF LLLG<150# THEN A$="LION"
1590 IF 120#<=CLG THEN IF CLG<150# THEN B$="LION"
1600 IF 120#<=NONA THEN IF NONA<150# THEN C$="LION"
1610 IF 150#<=LLLG THEN IF LLLG<180# THEN A$="VIERGE"
1620 IF 150#<=CLG THEN IF CLG<180# THEN B$="VIERGE"
1630 IF 150#<=NONA THEN IF NONA<180# THEN C$="VIERGE"
1640 IF 180#<=LLLG THEN IF LLLG<210# THEN A$="BALANCE"
1650 IF 180#<=CLG THEN IF CLG<210# THEN B$="BALANCE"
1660 IF 180#<=NONA THEN IF NONA<210# THEN C$="BALANCE"
1670 IF 210#<=LLLG THEN IF LLLG<240# THEN A$="SCORPION"
1680 IF 210#<=CLG THEN IF CLG<240# THEN B$="SCORPION"
1690 IF 210#<=NONA THEN IF NONA<240# THEN C$="SCORPION"
1700 IF 240#<=LLLG THEN IF LLLG<270# THEN A$="SAGITTAIRE"
1710 IF 240#<=CLG THEN IF CLG<270# THEN B$="SAGITTAIRE"
1720 IF 240#<=NONA THEN IF NONA<270# THEN C$="SAGITTAIRE"
1730 IF 270#<=LLLG THEN IF LLLG<300# THEN A$="CAPRICORNE"
1740 IF 270#<=CLG THEN IF CLG<300# THEN B$="CAPRICORNE"
1750 IF 270#<=NONA THEN IF NONA<300# THEN C$="CAPRICORNE"
1760 IF 300#<=LLLG THEN IF LLLG<330# THEN A$="VERSEAU"
1770 IF 300#<=CLG THEN IF CLG<330# THEN B$="VERSEAU"
1780 IF 300#<=NONA THEN IF NONA<330# THEN C$="VERSEAU"
1790 IF 330#<=LLLG THEN IF LLLG<360# THEN A$="POISSONS"
1800 IF 330#<=CLG THEN IF CLG<360# THEN B$="POISSONS"
1810 IF 330#<=NONA THEN IF NONA<360# THEN C$="POISSONS"
1820 RETURN
1830 REM cas où TS =0 ou 180° (0h ou 12h).
1840 L=SIN(F)*COS(EP):LL=ATN(L/SQR(1#-L^2#)):LG=COS(F)/COS(LL):LLG=ATN(LG/SQR(1#-LG^2#))
1850 IF T=180# THEN LLG=-LLG:REM on a vu que dans ce cas sin lg = -cos(f)/cos(l)
1860 LLG=PI-LLG:REM t=0 ou t=180 <=> llg toujours > pi/2 et < 3*pi/2
1870 CLG=LLG+PI:IF CLG>2#*PI THEN CLG=CLG-2#*PI
1880 NONA=CLG+PI/2#:IF NONA>2#*PI THEN NONA=NONA-2#*PI
1890 LLLG=FIX(LLG*18000#/PI)/100#:CLG=FIX(CLG*18000#/PI)/100#:NONA=FIX(NONA*18000#/PI)/100#
1900 GOTO 2320
1970 IF Q$<>"y" THEN GOTO 2010
1980 INPUT "Temps sidéral en heures et minutes :h,m ?",H,M:PRINT #1,"Temps sidéral = ";H;" H ";M;" m":TS=(H*60#+M)/60#:T=TS*15#:IF T=360# THEN T=0#
1990 REM 1 heure=15° et (h*60+m)/60<=>conversion heures sexagésimales en heures décimales.
2000 TT=T*PI/180#
2010 GOSUB 1260
2020 IF T=0# THEN 1840
2030 IF T=180# THEN 1840
2040 IF T=270# THEN IF FF<0 THEN 2212 ELSE 2160
2050 IF T=90# THEN IF FF<0 THEN 2292 ELSE 2240
2060 GOSUB 1300:REM CALCUL DE BB
2070 IF TS<12# THEN GOSUB 1340:GOTO 2090:REM CALCUL DE LL 0<ts<12 hémis nord
2080 GOSUB 1370:REM ts>12
2090 GOSUB 1400
2100 IF 0#<TS THEN IF TS<12# THEN LLG=PI-LLG:GOSUB 1420:GOTO 2320
2110 IF 12#<TS THEN IF TS<18# THEN 2140
2120 IF BB+EP>=PI/2# THEN LLG=PI-LLG:GOSUB 1420:GOTO 2320:REM 18<ts<24 <=> llg>90°
2130 GOSUB 1420:GOTO 2320:REM 18<TS<24 llg<90° llg=llg
2140 IF BB+EP>=PI/2# THEN LLG=PI-LLG:GOSUB 1420:GOTO 2320:REM 12<ts<18 llg<270°
2150 LLG=2#*PI+LLG:GOSUB 1420:GOTO 2320:REM 12<ts<18 llg>270° (+llg car llg est<0)
2160 PRINT "Longitude du lever = 0° <=> Bélier":LLG=0:LL=PI/2#-F-EP
2170 PRINT "Longitude du coucher = 180° <=> Balance"
2180 PRINT "Nonagésime =270° <=> Capricorne"
2190 PRINT #1,"Longitude du lever = 0° <=> Bélier"
2200 PRINT #1,"Longitude du coucher = 180° <=> Balance"
2210 PRINT #1,"Nonagésime = 270° <=> Capricorne":GOTO 2590
2212 PRINT "Longitude du lever = 180° <=> Balance":LLG=0:LL=PI/2#-F-EP:REM on garde les valeurs de l'hémisphère nord puisqu'ensuite on inverse la domification.
2213 PRINT "Longitude du coucher = 0° <=> Bélier"
2214 PRINT "Nonagésime = 90° <=> Cancer"
2215 PRINT #1,"Longitude du lever = 180° <=> Balance"
2216 PRINT #1,"Longitude du coucher = 0° <=> Bélier"
2217 PRINT #1,"Nonagésime = 90° <=> Cancer"
2230 GOTO 2600
2240 PRINT "Longitude du lever = 180° <=> Balance":LLG=PI:LL=PI/2#-F+EP
2250 PRINT "longitude du coucher = 0° <=> Bélier"
2260 PRINT "Nonagésime = 90° <=> Cancer"
2270 PRINT #1,"Longitude du lever = 180° <=> Balance"
2280 PRINT #1,"longitude du coucher = 0° <=> Bélier"
2290 PRINT #1,"Nonagésime = 90° <=> Cancer":GOTO 2590
2292 PRINT "Longitude du lever = 0° <=> Bélier":LLG=PI:LL=PI/2#-F+EP:REM on garde les mêmes valeurs que pour l'hémisphère nord puis on inverse la domification.
2293 PRINT "longitude du coucher = 180° <=> Balance"
2294 PRINT "Nonagésime = 270° <=> Capricorne"
2295 PRINT #1,"Longitude du lever = 0° <=> Bélier"
2296 PRINT #1,"longitude du coucher = 180° <=> Balance"
2297 PRINT #1,"Nonagésime = 270° <=> Capricorne"
2310 GOTO 2600
2320 GOSUB 1460
2325 IF FF<0 THEN 2410
2330 PRINT "Longitude du lever de l'écliptique = ";LLLG;" ";A$
2340 PRINT "Longitude du coucher de l'écliptique = ";CLG;"°";B$
2350 PRINT "Nonagésime = ";NONA;" ";C$
2360 PRINT #1,"Longitude du lever de l'écliptique = ";LLLG;" ";A$
2370 PRINT #1,"Longitude du coucher de l'écliptique = ";CLG;" ";B$
2380 PRINT #1,"Nonagésime = ";NONA;" ";C$
2400 GOTO 2600
2410 PRINT "Longitude du lever de l'écliptique = ";hsllLG;"°"
2420 PRINT "Longitude du coucher de l'écliptique = ";hscLG;"°"
2430 PRINT "Nonagésime = ";HSNONA;"°"
2440 PRINT #1,"Longitude du lever de l'écliptique = ";hsllLG;"°"
2450 PRINT #1,"Longitude du coucher de l'écliptique = ";hsclG;"°"
2460 PRINT #1,"Nonagésime = ";HSNONA;"°"
2580 REM Calcul des maisons hémis nord
2600 IF TT<PI/2# THEN GOSUB 1020:GOTO 2630:REM Gamma sur l'horizon.
2610 IF TT>3#*PI/2# THEN GOSUB 1020:GOTO 2630:REM Gamma sur l'horizon.
2620 GOSUB 1040:REM tt>pi/2 ou<3pi/2 <=>Gamma sous l'horizon.
2630 FOR I%=12 TO 1 STEP -1
2640 IF I%=12 THEN TE(I%)=PI/6#:REM 30*pi/180
2650 IF I%=11 THEN TE(I%)=PI/3#:REM 60*PI/180
2660 IF I%=10 THEN TE(I%)=PI/2#:REM 90*pi/180
2670 IF I%=9 THEN TE(I%)=2#*PI/3#
2680 IF I%=8 THEN TE(I%)=5#*PI/6#
2690 IF I%=7 THEN TE(I%)=PI
2700 IF I%=6 THEN TE(I%)=7#*PI/6#
2710 IF I%=5 THEN TE(I%)=4#*PI/3#
2720 IF I%=4 THEN TE(I%)=3#*PI/2#
2730 IF I%=3 THEN TE(I%)=5#*PI/3#
2740 IF I%=2 THEN TE(I%)=11#*PI/6#
2750 IF I%=1 THEN TE(I%)=2#*PI
2760 GOSUB 920:REM maisons hémis nord
2770 GOSUB 1090
2780 NEXT I%
2990 REM An=limite supèrieure de la maison n; llg étant la longitude de l'ascendant.
3000 A12=LLG-LLS(12):IF A12<0 THEN A12=A12+2#*PI
3010 IF A12>2#*PI THEN A12=A12-2#*PI
3020 A11=LLG-LLS(11):IF A11<0 THEN A11=A11+2#*PI
3030 IF A11>2#*PI THEN A11=A11-2#*PI
3040 A10=LLG-LLS(10):IF A10<0 THEN A10=A10+2#*PI
3050 IF A10>2#*PI THEN A10=A10-2#*PI
3060 A9=LLG-LLS(9):IF A9<0 THEN A9=A9+2#*PI
3070 IF A9>2#*PI THEN A9=A9-2#*PI
3080 A8=LLG-LLS(8):IF A8<0 THEN A8=A8+2#*PI
3090 IF A8>2#*PI THEN A8=A8-2#*PI
3100 A7=LLG-LLS(7):IF A7<0 THEN A7=A7+2#*PI
3110 IF A7>2#*PI THEN A7=A7-2#*PI
3120 A6=LLG-LLS(6):IF A6<0 THEN A6=A6+2#*PI
3130 IF A6>2#*PI THEN A6=A6-2#*PI
3140 A5=LLG-LLS(5):IF A5<0 THEN A5=A5+2#*PI
3150 IF A5>2#*PI THEN A5=A5-2#*PI
3160 A4=LLG-LLS(4):IF A4<0 THEN A4=A4+2#*PI
3170 IF A4>2#*PI THEN A4=A4-2#*PI
3180 A3=LLG-LLS(3):IF A3<0 THEN A3=A3+2#*PI
3190 IF A3>2#*PI THEN A3=A3-2#*PI
3200 A2=LLG-LLS(2):IF A2<0 THEN A2=A2+2#*PI
3210 IF A2>2#*PI THEN A2=A2-2#*PI
3220 A1=LLG-LLS(1):IF A1<0 THEN A1=A1+2*PI:REM On doit retrouver la longitude de l'ascendant.
3230 IF A1>2#*PI THEN A1=A1-2#*PI
3235 IF FF<0 THEN 3472
3240 PRINT "Limite de la maison 12 = ";FIX(LLG*180000#/PI)/1000#;" et CUSPIDE 12= ";FIX(A12*180000#/PI)/1000#
3250 PRINT #1,"Limite de la maison 12 = ";FIX(LLG*180000#/PI)/1000#;" et
CUSPIDE 12= ";FIX(A12*180000#/PI)/1000#
3260 PRINT "Limite de la maison 11 = ";FIX(A12*180000#/PI)/1000#;"
et CUSPIDE 11= ";FIX(A11*180000#/PI)/1000#
3270 PRINT #1,"Limite de la maison 11 = ";FIX(A12*180000#/PI)/1000#;"
et CUSPIDE 11 = ";FIX(A11*180000#/PI)/1000#
3280 PRINT "Limite de la maison 10 = ";FIX(A11*180000#/PI)/1000#;" et
CUSPIDE 10 (MC) = ";FIX(A10*180000#/PI)/1000#
3290 PRINT #1,"Limite de la maison 10 = ";FIX(A11*180000#/PI)/1000#;"
et CUSPIDE 10 (MC) = ";FIX(A10*180000#/PI)/1000#
3300 PRINT "Limite de la maison 9 = ";FIX(A10*180000#/PI)/1000#;"
et CUSPIDE 9 = ";FIX(A9*180000#/PI)/1000#
3310 PRINT #1,"Limite de la maison 9 = ";FIX(A10*180000#/PI)/1000#;"
et CUSPIDE 9 = ";FIX(A9*180000#/PI)/1000#
3320 PRINT "Limite de la maison 8 = ";FIX(A9*180000#/PI)/1000#;"
et CUSPIDE 8 = ";FIX(A8*180000#/PI)/1000#
3330 PRINT #1,"Limite de la maison 8 = ";FIX(A9*180000#/PI)/1000#;"
et CUSPIDE 8 = ";FIX(A8*180000#/PI)/1000#
3340 PRINT "Limite de la maison 7 = ";FIX(A8*180000#/PI)/1000#;"
et CUSPIDE 7 (DESc) = ";FIX(A7*180000#/PI)/1000#
3350 PRINT #1,"Limite de la maison 7 = ";FIX(A8*180000#/PI)/1000#;"
et CUSPIDE 7 (DESc) = ";FIX(A7*180000#/PI)/1000#
3360 PRINT "Limite de la maison 6 = ";FIX(A7*180000#/PI)/1000#;"
et CUSPIDE 6 = ";FIX(A6*180000#/PI)/1000#
3370 PRINT #1,"Limite de la maison 6 = ";FIX(A7*180000#/PI)/1000#;"
et CUSPIDE 6 = ";FIX(A6*180000#/PI)/1000#
3380 PRINT "Limite de la maison 5 = ";FIX(A6*180000#/PI)/1000#;"
et CUSPIDE 5 = ";FIX(A5*180000#/PI)/1000#
3390 PRINT #1,"Limite de la maison 5 = ";FIX(A6*180000#/PI)/1000#;"
et CUSPIDE 5 = ";FIX(A5*180000#/PI)/1000#
3400 PRINT"Limite de la maison 4 = ";FIX(A5*180000#/PI)/1000#;"
et CUSPIDE 4 (FC ) = ";FIX(A4*180000#/PI)/1000#
3410 PRINT #1,"Limite de la maison 4 = ";FIX(A5*180000#/PI)/1000#;"
et CUSPIDE 4 (FC) = ";FIX(A4*180000#/PI)/1000#
3420 PRINT "Limite de la maison 3 = ";FIX(A4*180000#/PI)/1000#;"
et CUSPIDE 3 = ";FIX(A3*180000#/PI)/1000#
3430 PRINT #1,"Limite de la maison 3 = ";FIX(A4*180000#/PI)/1000#;"
et CUSPIDE 3 = ";FIX(A3*180000#/PI)/1000#
3440 PRINT "Limite de la maison 2 = ";FIX(A3*180000#/PI)/1000#;"
et CUSPIDE 2 = ";FIX(A2*180000#/PI)/1000#
3450 PRINT #1,"Limite de la maison 2 = ";FIX(A3*180000#/PI)/1000#;"
et CUSPIDE 2 = ";FIX(A2*180000#/PI)/1000#
3460 PRINT "Limite de la maison 1 = ";FIX(A2*180000#/PI)/1000#;"
et CUSPIDE 1 (A SCENDANT) = ";FIX(A1*180000#/PI)/1000#:REM a1 devrait être égal à llg.
3470 PRINT #1,"Limite de la maison 1 = ";FIX(A2*180000#/PI)/1000#;"
et CUSPIDE 1 (ASCENDANT) = ";FIX(A1*180000#/PI)/1000#:GOTO 3498:REM a1 devrait être égal à llg.
3472 PRINT "Limite de la maison 6 = ";FIX(LLG*180000#/PI)/1000#;"
et CUSPIDE 6=";FIX(A12*180000#/PI)/1000#
3473 PRINT #1,"Limite de la maison 6 = ";FIX(LLG*180000#/PI)/1000#;"
et CUSPIDE 6= ";FIX(A12*180000#/PI)/1000#
3474 PRINT "Limite de la maison 5 = ";FIX(A12*180000#/PI)/1000#;"
et CUSPIDE 5 = ";FIX(A11*180000#/PI)/1000#
3475 PRINT #1,"Limite de la maison 5 = ";FIX(A12*180000#/PI)/1000#;"
et CUSPIDE 5 = ";FIX(A11*180000#/PI)/1000#
3476 PRINT "Limite de la maison 4 = ";FIX(A11*180000#/PI)/1000#;"
et CUSPIDE 4 (FC) = ";FIX(A10*180000#/PI)/1000#
3477 PRINT #1,"Limite de la maison 4 = ";FIX(A11*180000#/PI)/1000#;"
et CUSPIDE 4 (FC) = ";FIX(A10*180000#/PI)/1000#
3478 PRINT "Limite de la maison 3 = ";FIX(A10*180000#/PI)/1000#;"
et CUSPIDE 3 = ";FIX(A9*180000#/PI)/1000#
3479 PRINT #1,"Limite de la maison 3 = ";FIX(A10*180000#/PI)/1000#;"
et CUSPIDE 3 = ";FIX(A9*180000#/PI)/1000#
3480 PRINT "Limite de la maison 2 = ";FIX(A9*180000#/PI)/1000#;"
et CUSPIDE 2 = ";FIX(A8*180000#/PI)/1000#
3481 PRINT #1,"Limite de la maison 2 = ";FIX(A9*180000#/PI)/1000#;"
et CUSPIDE 2 = ";FIX(A8*180000#/PI)/1000#
3482 PRINT "Limite de la maison 1 = ";FIX(A8*180000#/PI)/1000#;"
et CUSPIDE 1(ASCd) = ";FIX(A7*180000#/PI)/1000#
3483 PRINT #1,"Limite de la maison 1 = ";FIX(A8*180000#/PI)/1000#;"
et CUSPIDE 1 (ASCd) = ";FIX(A7*180000#/PI)/1000#
3484 PRINT "Limite de la maison 12 = ";FIX(A7*180000#/PI)/1000#;"
et CUSPIDE 12 = ";FIX(A6*180000#/PI)/1000#
3485 PRINT #1,"Limite de la maison 12 = ";FIX(A7*180000#/PI)/1000#;"
et CUSPIDE 12 = ";FIX(A6*180000#/PI)/1000#
3486 PRINT "Limite de la maison 11 = ";FIX(A6*180000#/PI)/1000#;"
et CUSPIDE 11 = ";FIX(A5*180000#/PI)/1000#
3487 PRINT #1,"Limite de la maison 11 = ";FIX(A6*180000#/PI)/1000#;"
et CUSPIDE 5 = ";FIX(A5*180000#/PI)/1000#
3488 PRINT"Limite de la maison 10 = ";FIX(A5*180000#/PI)/1000#;"
et CUSPIDE 10 (MC) = ";FIX(A4*180000#/PI)/1000#
3489 PRINT #1,"Limite de la maison 10 = ";FIX(A5*180000#/PI)/1000#;"
et CUSPIDE 10 (MC) = ";FIX(A4*180000#/PI)/1000#
3490 PRINT "Limite de la maison 9 = ";FIX(A4*180000#/PI)/1000#;"
et CUSPIDE 3 = ";FIX(A3*180000#/PI)/1000#
3491 PRINT #1,"Limite de la maison 9 = ";FIX(A4*180000#/PI)/1000#;"
et CUSPIDE 9 = ";FIX(A3*180000#/PI)/1000#
3492 PRINT "Limite de la maison 8 = ";FIX(A3*180000#/PI)/1000#;"
et CUSPIDE 8 = ";FIX(A2*180000#/PI)/1000#
3493 PRINT #1,"Limite de la maison 8 = ";FIX(A3*180000#/PI)/1000#;"
et CUSPIDE 8 = ";FIX(A2*180000#/PI)/1000#
3494 PRINT "Limite de la maison 7 = ";FIX(A2*180000#/PI)/1000#;"
et CUSPIDE 7(DESCENDANT) = ";FIX(A1*180000#/PI)/1000#
3495 PRINT #1,"Limite de la maison 7 = ";FIX(A2*180000#/PI)/1000#;"
et CUSPIDE 7 (DESCENDANT) = ";FIX(A1*180000#/PI)/1000#:GOTO 3498
3498 IF TT<PI/2# THEN 3513:REM gamma sur l'horizon
3500 IF TT>3#*PI/2# THEN 3513: REM gamma sur l'horizon
3510 GOTO 3579:REM gamma sous l'horizon
3513 IF FF<0 THEN 3561
3520 PRINT #1,"Azimut EST du Nonagésime = ";FIX((2#*PI-LT)*18000#/PI)/100#;"°"
3530 PRINT #1,"Hauteur du Nonagésime = ";FIX((PI/2#-LL)*18000#/PI)/100#;"°"
3540 PRINT #1,"Azimut du lever de l'écliptique = ";FIX((3#*PI/2#-LT)*18000#/PI)/100#
3550 PRINT #1,"Azimut du coucher de l'écliptique = ";FIX((PI/2#-LT)*18000#/PI)/100#
3560 GOSUB 1060:GOTO 3790
3561 PRINT #1,"Azimut OUEST du Nonagésime = ";FIX(LT*18000#/PI)/100#;"°":REM Un azimut EST A>PI dans HNord <=> 2PI-A à l'OUEST dans HSUD (si A=2PI-LT: 2PI-A=LT)
. de même A<PI dans HNORD OUEST<=>2PI-A dans HSUD EST.
3562 PRINT #1,"Hauteur du Nonagésime = ";FIX((PI/2#-LL)*18000#/PI)/100#;"°"
3563 PRINT #1,"Azimut du coucher de l'écliptique = ";FIX((PI/2#+LT)*18000#/PI)/100#
3564 PRINT #1,"Azimut du lever de l'écliptique = ";FIX((3#*PI/2#+LT)*18000#/PI)/100#
3565 GOSUB 1060
3570 GOTO 3790
3579 IF FF<0 THEN 3621
3580 PRINT #1,"Azimut OUEST du Nonagésime = ";FIX(LT*18000#/PI)/100#:REM gamma sous l'horizon
3590 PRINT #1,"Hauteur du Nonagésime = ";FIX((PI/2#-LL)*18000#/PI)/100#;"°"
3600 PRINT #1,"Azimut du lever de l'écliptique = ";FIX((3#*PI/2#+LT)*18000#/PI)/100#
3610 PRINT #1,"Azimut du coucher de l'écliptique = ";FIX((PI/2#+LT)*18000#/PI)/100#
3620 GOSUB 1060:GOTO 3790
3621 PRINT #1,"Azimut EST du Nonagésime = ";FIX((2#*PI-LT)*18000#/PI)/100#:REM gamma sous l'horizon
3622 PRINT #1,"Hauteur du Nonagésime = ";FIX((PI/2#-LL)*18000#/PI)/100#;"°"
3623 PRINT #1,"Azimut du coucher de l'écliptique = ";FIX((PI/2#-LT)*18000#/PI)/100#
3624 PRINT #1,"Azimut du lever de l'écliptique = ";FIX((3#*PI/2#-LT)*18000#/PI)/100#
3625 GOSUB 1060
3630 GOTO 3790
3790 PRINT"SI TU NAISSANCE APRES CORRECTION HORAIRE< 0H PRENDRE 24H+VALEUR<0 OBTENUE ET PRENDRE LES VALEURS DONNEES POUR LE JOUR PRECEDENT DANS LES EPHEMERIDES.
EXEMPLE : NAISSANCE LE 9/8/1982 A"
3800 PRINT"MARSEILLE A 0H20'. IL EST EN FAIT 22H20' A GREENWICH. ON PREND ALORS 0H20'-2H=-1H40' + 24H = 22H20' DU 8/8/1982. LE 8 EST LE DEPART ET LE 9 L'ARRIVEE."
3810 INPUT "Temps universel de la naissance (civil aprés correction arbitraire ? ) en H et ' ?",HTU,MTU:HTU=HTU+MTU/60#:HLO=HTU-(LGT/15#)
3830 INPUT "Entrer les 3 premières lettres de l'astre en minuscule et dans cet ordre: sol,lun,mer,ven,mar,jup,sat,ura,nep,plu: votre choix ?",Z$
3840 IF Z$="sol" THEN Z$="SOLEIL":GOTO 3940
3850 IF Z$="lun" THEN Z$="LUNE":GOTO 3940
3860 IF Z$="mer" THEN Z$="MERCURE":GOTO 3940
3870 IF Z$="ven" THEN Z$="VENUS":GOTO 3940
3880 IF Z$="mar" THEN Z$="MARS":GOTO 3940
3890 IF Z$="jup" THEN Z$="JUPITER":GOTO 3940
3900 IF Z$="sat" THEN Z$="SATURNE":GOTO 3940
3910 IF Z$="ura" THEN Z$="URANUS":GOTO 3940
3920 IF Z$="nep" THEN Z$="NEPTUNE":GOTO 3940
3930 IF Z$="plu" THEN Z$="PLUTON"
3940 PRINT"Entrer les positions de départ et d'arrivée de l'astre en °, ', '' ,"
3950 PRINT"ainsi que les 3 premières lettres minuscules des signes de départ etd'arrivée."
3960 INPUT"deg1,min1,sec1. deg2,min2,sec2. x$, y$ ?",DEG1,MINU1,SEC1,DEG2,MI
NU2,SEC2,X$,Y$:CLS:INPUT"Si erreur appuyer sur e. Sinon sur une autre lettre.",E$:IF E$="e" THEN 3830
3970 IF X$="bel" THEN X$="BELIER":GOTO 4080
3980 IF X$="tau" THEN X$="TAUREAU":GOTO 4080
3990 IF X$="gem" THEN X$="GEMEAUX":GOTO 4080
4000 IF X$="can" THEN X$="CANCER":GOTO 4080
4010 IF X$="lio" THEN X$="LION":GOTO 4080
4020 IF X$="vie" THEN X$="VIERGE":GOTO 4080
4030 IF X$="bal" THEN X$="BALANCE":GOTO 4080
4040 IF X$="sco" THEN X$="SCORPION":GOTO 4080
4050 IF X$="sag" THEN X$="SAGITTAIRE":GOTO 4080
4055 IF X$="cap" THEN X$="CAPRICORNE" :GOTO 4080
4060 IF X$="ver" THEN X$="VERSEAU":GOTO 4080
4070 IF X$="poi" THEN X$="POISSONS"
4080 IF Y$="bel" THEN Y$="BELIER":GOTO 4200
4090 IF Y$="tau" THEN Y$="TAUREAU":GOTO 4200
4100 IF Y$="gem" THEN Y$="GEMEAUX":GOTO 4200
4110 IF Y$="can" THEN Y$="CANCER":GOTO 4200
4120 IF Y$="lio" THEN Y$="LION":GOTO 4200
4130 IF Y$="vie" THEN Y$="VIERGE":GOTO 4200
4140 IF Y$="bal" THEN Y$="BALANCE":GOTO 4200
4150 IF Y$="sco" THEN Y$="SCORPION":GOTO 4200
4160 IF Y$="sag" THEN Y$="SAGITTAIRE":GOTO 4200
4170 IF Y$="cap" THEN Y$="CAPRICORNE":GOTO 4200
4180 IF Y$="ver" THEN Y$="VERSEAU":GOTO 4200
4190 IF Y$="poi" THEN Y$="POISSONS"
4200 DEG1=DEG1+MINU1/60#+SEC1/3600#:DEG2=DEG2+MINU2/60#+SEC2/3600#
4201 INPUT "Si changement de signe zodiacal: appuyez sur c : sinon sur toute autre lettre.",CHA$:
IF CHA$<>"c" THEN 4240
4203 INPUT "Changement dans le sens direct: appuyez sur d. Dans le sens rétrograde appuyez
sur r.",CHADR$:IF CHADR$="d" THEN DEG2=DEG2+30#:GOTO 4240
4204 DEG1=DEG1+30#:REM cas du changement de signe zodiacal dans le sens rétrograde.
4205 DEG3=DEG1-(DEG1-DEG2)*HLO/24#:DEGG3=FIX(DEG3*10000#)/10000#
4206 IF DEG3<30# THEN 4208
4207 PRINT Z$;" se trouve à ";DEGG3-30#;" ° ";X$;" RETROGRADE":W$=X$:ROS=(DEG3-30#)*PI/180#:LPRINT Z$;" se trouve à ";DEGG3-30#;" ° ";X$;" RETROGRADE":GOTO 4330
4208 PRINT Z$;" se trouve à ";DEGG3;" ° ";Y$;" RETROGRADE":W$=Y$:ROS=DEG3*PI/180
#:LPRINT Z$;" se trouve à ";DEGG3;" ° ";Y$;" RETROGRADE":GOTO 4330
4240 DEG3=DEG1+(DEG2-DEG1)*HLO/24#:DEGG3=FIX(DEG3*10000#)/10000#
4241 IF DEG3>DEG1 THEN Q$="DIRECT":GOTO 4250
4242 IF DEG3=DEG1 THEN Q$="STATIONNAIRE":GOTO 4250
4243 Q$="RETROGRADE"
4250 IF DEG3>30# THEN 4300
4260 PRINT Z$;" se trouve à ";DEGG3;"°";" ";X$;" ";Q$
4270 PRINT #1,Z$;" se trouve à ";DEGG3;"°";" ";X$;" ";Q$:W$=X$
4280 ROS=DEG3*PI/180#:PRINT
4290 GOTO 4330
4300 PRINT Z$;" se trouve à ";DEGG3-30#;"°";" ";Y$;" ";"DIRECT"
4310 PRINT #1,Z$;" se trouve à ";DEGG3-30#;"°";" ";Y$;" ";"DIRECT":W$=Y$
4320 ROS=(DEG3-30#)*PI/180#:PRINT
4330 IF W$="BELIER" THEN NU=0:GOTO 4450
4340 IF W$="TAUREAU" THEN NU=PI/6#:GOTO 4450
4350 IF W$="GEMEAUX" THEN NU=PI/3#:GOTO 4450:REM 2pi/6
4360 IF W$="CANCER" THEN NU=PI/2#:GOTO 4450:REM 3pi/6
4370 IF W$="LION" THEN NU=2#*PI/3#:GOTO 4450:REM 4pi/6
4380 IF W$="VIERGE" THEN NU=5#*PI/6#:GOTO 4450
4390 IF W$="BALANCE" THEN NU=PI:GOTO 4450:REM 6pi/6
4400 IF W$="SCORPION" THEN NU=7#*PI/6#:GOTO 4450
4410 IF W$="SAGITTAIRE" THEN NU=4#*PI/3#:GOTO 4450:REM 8pi/6
4420 IF W$="CAPRICORNE" THEN NU=3#*PI/2#:GOTO 4450:REM 9pi/6
4430 IF W$="VERSEAU" THEN NU=5#*PI/3:GOTO 4450:REM 10pi/6
4440 IF W$="POISSONS" THEN NU=11#*PI/6#
4450 ROS=NU+ROS:KRO=FIX(ROS*1800000#/PI)/10000#:REM pi/6<=>30° (valeur d'un signe). Les longitudes croissent de A1 à A12; si à un certain moment on dépasse 360°
(A3=395°par ex.)
4460 REM le programme donnera A3=395-360=35° et on aura alors A3<A2. Donc dans les lignes suivantes on tiendra compte de cette condition pour le bon positionnement
4470 REM de POS. Exemple: Si A3>A2 pas de problème. On pose if pos>A2 then if pos<A3 then print"Astre en maison 2". Si A3<A2 (A3>360°) 2 cas: soit pos<360 soit
>360 (c'est-à-dire pos-360 <A3)
4480 REM On écrira if ros>A2 then print"astre en maison 2":goto... puis if ros<A3 then print"astre en maison 2":goto...(ros au lieu de pos car pos non accepté comme variable).
4490 IF A2>A1 THEN GOTO 4520
4500 IF ROS>A1 THEN PRINT #1,Z$;" en MAISON 1 HN et 7 hs ";KRO:GOSUB 120:IF Z$=
"PLUTON" THEN 4970 ELSE GOTO 3830
4510 IF ROS<=A2 THEN PRINT #1,Z$;" en MAISON 1 HN et 7 hs";KRO:GOSUB 120:IF Z$=
"PLUTON" THEN 4970 ELSE GOTO 3830
4520 IF ROS>A1 THEN IF ROS<=A2 THEN PRINT #1,Z$;" en MAISON 1 HN et 7 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4530 IF A3>A2 THEN GOTO 4560
4540 IF ROS>A2 THEN PRINT #1,Z$;" en MAISON 2 HN et 8 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4550 IF ROS<=A3 THEN PRINT #1,Z$;" en MAISON 2 HN et 8 hs";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4560 IF ROS>A2 THEN IF ROS<=A3 THEN PRINT #1,Z$;" en MAISON 2 HN et 8 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4570 IF A4>A3 THEN GOTO 4600
4580 IF ROS>A3 THEN PRINT #1,Z$;" en MAISON 3 HN et 9 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4590 IF ROS=<A4 THEN PRINT #1,Z$;" en MAISON 3 HN et 9 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4600 IF ROS>A3 THEN IF ROS<=A4 THEN PRINT #1,Z$;" en MAISON 3 HN et 9 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4610 IF A5>A4 THEN GOTO 4640
4620 IF ROS>A4 THEN PRINT #1,Z$;" en MAISON 4 HN et 10 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4630 IF ROS<=A5 THEN PRINT #1,Z$;" en MAISON 4 HN et 10 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4640 IF ROS>A4 THEN IF ROS<=A5 THEN PRINT #1,Z$;" en MAISON 4 HN et 10 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4650 IF A6>A5 THEN 4680
4660 IF ROS>A5 THEN PRINT #1,Z$;" en MAISON 5 HN et 11 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4670 IF ROS<=A6 THEN PRINT #1,Z$;" en MAISON 5 HN et11 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4680 IF ROS>A5 THEN IF ROS<=A6 THEN PRINT #1,Z$;" en MAISON 5 HN et 11 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4690 IF A7>A6 THEN 4720
4700 IF ROS>A6 THEN PRINT #1,Z$;" en MAISON 6 HN et 12 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4710 IF ROS<=A7 THEN PRINT #1,Z$;" en MAISON 6 HN et 12 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4720 IF ROS>A6 THEN IF ROS<=A7 THEN PRINT #1,Z$;" en MAISON 6 HN et 12 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4730 IF A8>A7 THEN GOTO 4760
4740 IF ROS>A7 THEN PRINT #1,Z$;" en MAISON 7 HN et 1 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4750 IF ROS<=A8 THEN PRINT #1,Z$;" en MAISON 7 HN et 1 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4760 IF ROS>A7 THEN IF ROS<=A8 THEN PRINT #1,Z$;" en MAISON 7 HN et 1 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4770 IF A9>A8 THEN GOTO 4800
4780 IF ROS>A8 THEN PRINT #1,Z$;" en MAISON 8 HN et 2 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4790 IF ROS<=A9 THEN PRINT #1,Z$;" en MAISON 8 HN et 2 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4800 IF ROS>A8 THEN IF ROS<=A9 THEN PRINT #1,Z$;" en MAISON 8 HN et 2 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4810 IF A10>A9 THEN GOTO 4840
4820 IF ROS>A9 THEN PRINT #1,Z$;" en MAISON 9 HN et 3 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4830 IF ROS<=A10 THEN PRINT #1,Z$;" en MAISON 9 HN et 3 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4840 IF ROS>A9 THEN IF ROS<=A10 THEN PRINT #1,Z$;" en MAISON 9 HN et 3 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4850 IF A11>A10 THEN GOTO 4880
4860 IF ROS>A10 THEN PRINT #1,Z$;" en MAISON 10 HN et 4 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4870 IF ROS<=A11 THEN PRINT #1,Z$;" en MAISON 10 HN et 4 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4880 IF ROS>A10 THEN IF ROS <=A11 THEN PRINT #1,Z$;" en MAISON 10 HN et 4 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4890 IF A12>A11 THEN 4920
4900 IF ROS>A11 THEN PRINT #1,Z$;" en MAISON 11 HN et 5 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4910 IF ROS<=A12 THEN PRINT #1,Z$;" en MAISON 11 HN et 5 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE 3830
4920 IF ROS>A11 THEN IF ROS<=A12 THEN PRINT #1,Z$" en MAISON 11 HN et 5 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4930 IF A1>A12 THEN GOTO 4960
4940 IF ROS>A12 THEN PRINT #1,Z$;" en MAISON 12 HN et 6 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4950 IF ROS <=A1 THEN PRINT #1,Z$;" en MAISON 12 HN et 6 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4960 IF ROS>A12 THEN IF ROS<=A1 THEN PRINT #1,Z$;" en MAISON 12 HN et 6 hs ";KRO:GOSUB 120:IF Z$="PLUTON" THEN 4970 ELSE GOTO 3830
4970 PRINT #1,"LES ASPECTS"
4975 PRINT #1,
4976 A=PS-PL:A$="SOLEIL":B$="LUNE":GOSUB 220
4980 A=PS-PM:B$="MERCURE":GOSUB 220:REM Seulement conjonction ou semi-sextile
4990 A=PS-PV:B$="VENUS":GOSUB 220:REM Seulement conjonction, semi-sextile ou semi-carré
5000 A=PS-PMA:B$="MARS":GOSUB 220
5010 A=PS-PJ:B$="JUPITER":GOSUB 220
5020 A=PS-PSA:B$="SATURNE":GOSUB 220
5030 A=PS-PU:B$="URANUS":GOSUB 220
5040 A=PS-PN:B$="NEPTUNE":GOSUB 220
5050 A=PS-PP:B$="PLUTON":GOSUB 220
5060 A=PL-PM:A$="LUNE":B$="MERCURE":GOSUB 220
5070 A=PL-PV:B$="VENUS":GOSUB 220
5080 A=PL-PMA:B$="MARS":GOSUB 220
5090 A=PL-PJ:B$="JUPITER":GOSUB 220
5100 A=PL-PSA:B$="SATURNE":GOSUB 220
5110 A=PL-PU:B$="URANUS":GOSUB 220
5120 A=PL-PN:B$="NEPTUNE":GOSUB 220
5130 A=PL-PP:B$="PLUTON":GOSUB 220
5140 A=PM-PV:A$="MERCURE":B$="VENUS":GOSUB 220
5150 A=PM-PMA:B$="MARS":GOSUB 220
5160 A=PM-PJ:B$="JUPITER":GOSUB 220
5170 A=PM-PSA:B$="SATURNE":GOSUB 220
5180 A=PM-PU:B$="URANUS":GOSUB 220
5190 A=PM-PN:B$="NEPTUNE":GOSUB 220
5200 A=PM-PP:B$="PLUTON":GOSUB 220
5210 A=PV-PMA:A$="VENUS":B$="MARS":GOSUB 220
5220 A=PV-PJ:B$="JUPITER":GOSUB 220
5230 A=PV-PSA:B$="SATURNE":GOSUB 220
5240 A=PV-PU:B$="URANUS":GOSUB 220
5250 A=PV-PN:B$="NEPTUNE":GOSUB 220
5260 A=PV-PP:B$="PLUTON":GOSUB 220
5270 A=PMA-PJ:A$="MARS":B$="JUPITER":GOSUB 220
5280 A=PMA-PSA:B$="SATURNE":GOSUB 220
5290 A=PMA-PU:B$="URANUS":GOSUB 220
5300 A=PMA-PN:B$="NEPTUNE":GOSUB 220
5310 A=PMA-PP:B$="PLUTON":GOSUB 220
5320 A=PJ-PSA:A$="JUPITER":B$="SATURNE":GOSUB 220
5330 A=PJ-PU:B$="URANUS":GOSUB 220
5340 A=PJ-PN:B$="NEPTUNE":GOSUB 220
5350 A=PJ-PP:B$="PLUTON":GOSUB 220
5360 A=PSA-PU:A$="SATURNE":B$="URANUS":GOSUB 220
5370 A=PSA-PN:B$="NEPTUNE":GOSUB 220
5380 A=PSA-PP:B$="PLUTON":GOSUB 220
5390 A=PU-PN:A$="URANUS":B$="NEPTUNE":GOSUB 220
5400 A=PU-PP:B$="PLUTON":GOSUB 220
5410 A=PN-PP:A$="NEPTUNE":B$="PLUTON":GOSUB 220
5420 CLOSE
5430 END