1 REM 2 REM Handling program for EQHOR 3 REM 5 DEF FNDEG(W)=57.29577951#*W 10 DEF FNRAD(W)=.01745329252#*W 15 DIM FLAG(4) 20 PRINT : FLAG(4)=0 25 PRINT "Equatorial and horizon coords." 30 PRINT 35 IF FLAG(4)=1 THEN GOTO 55 40 INPUT "Geographical latitude (D,M,S)"; XD,XM,XS 45 SW1=-1 : GOSUB 1000 : PHI=FNRAD(X) 50 PRINT 55 INPUT "Equ. to horizon (Y/N)"; AN$ 60 IF AN$="Y" THEN GOTO 130 65 INPUT "Horizon to equ. (Y/N)"; AN$ 70 IF AN$="N" THEN GOTO 180 75 PRINT 80 INPUT "Azimuth (D,M,S)"; XD,XM,XS 85 SW1=-1 : GOSUB 1000 : XA=FNRAD(X) 90 INPUT "Altitude (D,M,S)"; XD,XM,XS 95 GOSUB 1000 : Y=FNRAD(X) : X=XA 100 GOSUB 1500 : P=FNDEG(P) : Q=FNDEG(Q) 105 X=P/15 : SW1=1 : GOSUB 1000 110 PRINT "Hour angle (H,M,S) "; S$; XD; XM; XS 115 X=Q : GOSUB 1000 120 PRINT "Declination (D,M,S) "; S$; XD; XM; XS 125 GOTO 180 130 PRINT 135 INPUT "Hour angle (H,M,S)"; XD,XM,XS 140 SW1=-1 : GOSUB 1000 : XA=FNRAD(X)*15 145 INPUT "Declination (D,M,S)"; XD,XM,XS 150 GOSUB 1000 : Y=FNRAD(X) : X=XA 155 GOSUB 1500 : P=FNDEG(P) : Q=FNDEG(Q) 160 X=P : SW1=1 : GOSUB 1000 165 PRINT "Azimuth (D,M,S) "; S$; XD; XM; XS 170 X=Q : GOSUB 1000 175 PRINT "Altitude (D,M,S) "; S$; XD; XM; XS 180 PRINT 185 INPUT "Again (Y/N)"; AN$ 190 IF AN$="N" THEN STOP 195 INPUT "New latitude (Y/N)"; AN$ 200 IF AN$="Y" THEN GOTO 20 205 GOTO 30 997 REM 998 REM Subroutine MINSEC 999 REM 1000 IF SW1=-1 THEN GOTO 1035 1005 SN=SGN(X) : XP=ABS(X) : XD=INT(XP) 1010 A=(XP-XD)*60 : XM=INT(A) 1015 XS=INT((A-XM)*600+.5)/10 1020 S$="+" 1025 IF SN=-1 THEN S$="-" 1030 RETURN 1035 SN=+1 1040 IF XD<0 OR XM<0 OR XS<0 THEN SN=-1 1045 XD1=ABS(XD) : XM1=ABS(XM) : XS1=ABS(XS) 1050 X=((((XS1/60)+XM1)/60)+XD1)*SN 1055 RETURN 1497 REM 1498 REM Subroutine EQHOR 1499 REM 1500 IF FLAG(4)=1 THEN GOTO 1525 1505 CPHI=COS(PHI) : SPHI=SIN(PHI) 1510 DEF FNASN(W)=ATN(W/(SQR(1.000001-W*W)+9.999999E-21)) 1515 DEF FNACS(W)=1.570796327#-FNASN(W) 1520 FLAG(4)=1 : TPI=6.283185308# 1525 SY=SIN(Y) : CY=COS(Y) 1530 SX=SIN(X) : CX=COS(X) 1535 SQ=(SY*SPHI)+(CY*CPHI*CX) 1540 Q=FNASN(SQ) : CQ=COS(Q) : A=CPHI*CQ 1545 IF A<9.999999E-21 THEN A=9.999999E-21 1550 CP=(SY-(SPHI*SQ))/A : P=FNACS(CP) 1555 IF SX>0 THEN P=TPI-P 1560 RETURN