home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpm / basic / math.ark / RISE-SET.BAS < prev    next >
Encoding:
BASIC Source File  |  1986-12-21  |  1.6 KB  |  38 lines

  1. 10 REM PROGRAM "RISE-SET.BAS," A MBASIC PROGRAM CALCULATING THE LOCAL HOUR ANGLE
  2. 20 REM    AND THE LOCAL AZMUTH OF THE RISING OF AN ASTRONOMICAL BODY
  3. 30 REM       GIVEN ITS DECLINATION AND THE OBSERVERS LATITUDE
  4. 40 REM           REVISED 4-19-1985, MIKE FINERTY, TUCSON
  5. 50 REM ***********************************************************************
  6. 60 PI = 3.1415926#
  7. 70 INPUT "DECLINATION OF BODY IN DEC. DEGREES";D
  8. 80 INPUT "LATITUDE OF OBSERVER IN DEGREES.MINS "; LAT
  9. 90 DEC = D*PI/180
  10. 100 LATITUDE = 100/60*(LAT - INT(LAT))+INT(LAT)
  11. 110 L = LATITUDE*PI/180
  12. 120 TEST = ABS(DEC)
  13. 130 IF TEST > PI/2-ABS(L) THEN 330
  14. 140 LHACOS = - TAN(L)*TAN(DEC)
  15. 150 AZCOS = SIN(DEC)/COS(L)
  16. 160 LHA =PI/2-ATN(LHACOS/(1-LHACOS^2)^.5)
  17. 170 AZ = PI/2-ATN(AZCOS/(1-AZC0S^2)^.5)
  18. 180 AZ = AZ/PI*180
  19. 190 LHA=LHA/PI*12
  20. 200 LHA = 24-LHA
  21. 210 PRINT "RISING AZMUTH =";AZ;"DEGREES, SETTING AZMUTH =";360-AZ;"DEGREES"
  22. 220 PRINT "LHA RISING =";LHA;"HOURS, LHA SETTING =";24-LHA;"HOURS"
  23. 230 PRINT "OBJECT VISIBLE FOR";2*(24-LHA);"HOURS."
  24. 240 PRINT "ALTITUDE AT UPPER CULMINATION (TRANSIT) =";90-ABS(L-DEC)*180/PI;"DEGREES"
  25. 250 IF DEC = L THEN PRINT "CULMINATION AT ZENITH"
  26. 260 IF DEC = L THEN GOTO 330
  27. 270 IF DEC>L THEN PRINT "TRANSIT NORTH OF ZENITH" ELSE PRINT"TRANSIT SOUTH OF ZENITH"
  28. 280 PRINT
  29. 290 PRINT "DO YOU WANT ANOTHER OBJECT ? Y/N?"
  30. 300 INPUT ANS$
  31. 310 IF ANS$ = "Y" GOTO 10
  32. 320 END
  33. 330 IF SGN(DEC) = SGN(L) THEN PRINT "OBJECT DOES NOT SET"
  34. 340 IF SGN(DEC) = -1*SGN(L) THEN PRINT "OBJECT DOES NOT RISE ABOVE HORIZON"
  35. 350 GOTO 240
  36. ) THEN PRINT "OBJECT DOES NOT SET"
  37. 340 IF SGN(DEC) = -1*SGN(L) THEN PRINT "OBJECT DOES NOT RISE ABOVE HORIZON"
  38. 350 GOTO