home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
cpm
/
basic
/
math.ark
/
AZMUTH.BAS
< prev
next >
Wrap
BASIC Source File
|
1986-12-20
|
2KB
|
37 lines
10 REM *** THIS IS PROGRAM FIXER.BAS A MBASIC PROGRAM TO CAULCULATE ***
20 REM ****************** ALTITUDE AND AZMUTH *************************
30 REM *** FROM LATITUDE, RIGHT ASCENTION, DECLINATION SIDERIAL ***
40 REM ****************************TIME********************************
50 REM *********ALL UNITS IN DECIMAL DEGREES OR HOURS *************
60 REM *** BY MIKE FINERTY ***********************22 AUGUST 1985 ******
70 REM %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
80 PI = 3.1415926#
90 C1 = 3.1415926#/180
100 C2 = 1/C1
110 INPUT "LATITUDE IS: ", LAT
120 LAT = LAT*C1
130 INPUT "RIGHT ASCENTION = ", RA
140 RA = RA * 15 * C1
150 INPUT "DECLINATION = ", DEC
160 DEC = DEC * C1
170 INPUT "SIDEARIAL TIME = ", SIDTIME
180 SIDTIME = SIDTIME * 15 * C1
190 LHA = SIDTIME - RA
200 ALTSIN = SIN(LAT)*SIN(DEC) + COS(LAT)*COS(DEC)*COS(LHA)
210 ALTCOS = (1-ALTSIN^2)^.5
220 ALT = ATN(ALTSIN/ALTCOS)
230 ALTITUDE = ALT*C2
240 AZCOS = (SIN(DEC)-SIN(ALT)*SIN(LAT))/(COS(ALT)*COS(LAT))
250 AZSIN = COS(DEC)*SIN(LHA)/COS(ALT)
260 AZ = ATN(AZSIN/AZCOS)
270 AZMUTH = ABS(AZ*C2)
290 IF AZSIN <0 AND AZCOS <0 THEN AZMUTH = 180 - AZMUTH
300 IF AZSIN >0 AND AZCOS <0 THEN AZMUTH = 180 + AZMUTH
305 IF AZSIN >0 AND AZCOS >0 THEN AZMUTH = 360 - AZMUTH
320 PRINT "ALTITUDE = ";ALTITUDE
330 PRINT "AZMUTH = "; AZMUTH
340 IF ALTITUDE <0 THEN PRINT "OBJECT BELOW HORIZON"
350 PRINT "DO YOU WANT ANOTHER OBJECT? Y/N? "
360 INPUT A$
370 IF A$ = "Y" THEN 130
E <0 THEN PRINT "OBJECT BELOW HORIZON"