home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / basic / astrmenu.lbr / ANGULR.BZS / ANGULR.BAS
BASIC Source File  |  1987-04-26  |  1KB  |  44 lines

  1. 1 PRINT "From the August 1984 SKY & TELESCOPE, pp. 158-9."
  2. 2 PRINT
  3. 3 PRINT "This program calculates the angular separation of one star or planet"
  4. 4 PRINT "from another."
  5. 5 PRINT
  6. 6 PRINT "INPUT:  First and second stars' right ascension (h, min, s) and"
  7. 7 PRINT "        declination (degrees, min, sec)."
  8. 8 PRINT
  9. 9 PRINT "OUTPUT:  Separation in degrees, arc seconds." : PRINT
  10. 10 REM          ANGULAR SEPARATION
  11. 12 REM
  12. 14 P=3.14159265# : C=P/180
  13. 16 PRINT "FIRST STAR--"
  14. 18 INPUT "R.A. (H,MIN,S)      ";A$,A2,A3
  15. 20 GOSUB 60 : R1=A*15*C
  16. 22 INPUT "DEC. (DEGREES,MIN,S)";A$,A2,A3
  17. 24 GOSUB 60 : D1=A*C
  18. 26 PRINT
  19. 28 PRINT "SECOND STAR--"
  20. 30 INPUT "R.A. (H,MIN,S)      ";A$,A2,A3
  21. 32 GOSUB 60 : R2=A*15*C
  22. 34 INPUT "DEC. (DEGREES,MIN,S)";A$,A2,A3
  23. 36 GOSUB 60 : D2=A*C
  24. 38 REM
  25. 40 D=SIN((D1-D2)/2) : H1=D*D
  26. 42 A=SIN((R1-R2)/2) : H2=A*A
  27. 44 H3=H1+COS(D1)*COS(D2)*H2
  28. 46 S1=SQR(H3) : C1=SQR(1-S1*S1)
  29. 48 S=2*ATN(S1/C1)/C
  30. 50 PRINT
  31. 52 PRINT "SEPARATION--"
  32. 54 PRINT " IN DEGREES:      ";S
  33. 56 PRINT " IN ARC SECONDS:  ";S*3600
  34. 58 RUN"ASTRMENU.BAS"
  35. 60 REM          SEXAGESIMAL TO DECIMAL
  36. 62 REM
  37. 64 F=1 : A1=ABS(VAL(A$))
  38. 66 IF LEFT$(A$,1)="-" THEN F=-1
  39. 68 A=F*(A1+A2/60+A3/3600)
  40. 70 RETURN
  41. XAGESIMAL TO DECIMAL
  42. 62 REM
  43. 64 F=1 : A1=ABS(VAL(A$))
  44. 66 IF LEFT$(A$,1)="-"