home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / misc / hamstuff / grcirdis.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1985-06-11  |  4.8 KB  |  156 lines

  1. 10  ' GREAT CIRCLE DISTANCE PROGRAM
  2. 11  ' LOCATED ON DISK OFFLIN-001 , FILESPEC IS: GRCIRDIS.BAS
  3. 12  CLS
  4. 30  PRINT "*******************************************************************"
  5. 31  PRINT "*******************************************************************"
  6. 40  PRINT
  7. 50  PRINT "                  GREAT CIRCLE DISTANCE"
  8. 60  PRINT
  9. 70  PRINT
  10. 75  PRINT "THIS PROGRAM WILL COMPUTE THE GREAT CIRCLE DISTANCE IN MILES AND IN"
  11. 80  PRINT "KILOMETERS BETWEEN ANY TWO POINTS FOR WHICH THE LATITUDE AND LONGI-"
  12. 85  PRINT "TUDE ARE GIVEN."
  13. 90  PRINT
  14. 95  PRINT "WHEN ENTERING LATITUDE AND LONGITUDE, THE DEGREES AND MINUTES FOR"
  15. 100  PRINT "SOUTH LATITUDE AND EAST LONGITUDE MUST BE ENTERED AS NEGATIVES."
  16. 105  PRINT
  17. 110  PRINT
  18. 115  PRINT "PRESS <RETURN> IF YOU ARE READY TO START ";
  19. 120  INPUT Z$
  20. 125  CLS
  21. 150  PRINT
  22. 155  PRINT "********************        REMEMBER         ********************"
  23. 160  PRINT "                           __________"
  24. 162  PRINT
  25. 164  PRINT
  26. 166  PRINT
  27. 168  PRINT "#################################################################"
  28. 169  PRINT "#################################################################"
  29. 170  PRINT "###                                                           ###"
  30. 172  PRINT "###                                                           ###"
  31. 174  PRINT "###                                                           ###"
  32. 176  PRINT "###       NORTH IS +                      SOUTH IS -          ###"
  33. 178  PRINT "###       WEST  IS +                      EAST  IS -          ###"
  34. 180  PRINT "###                                                           ###"
  35. 182  PRINT "###                                                           ###"
  36. 184  PRINT "###                                                           ###"
  37. 186  PRINT "#################################################################"
  38. 188  PRINT "#################################################################"
  39. 190  PRINT
  40. 192  PRINT "THE ABOVE INFORMATION IS MOST IMPORTANT.  IF YOU USE THE WRONG"
  41. 194  PRINT "SIGN, ALL CALCULATIONS WILL BE INCORRECT. ***********************"
  42. 196  PRINT
  43. 197  PRINT "PRESS <RETURN> TO CONTINUE -- OK ";
  44. 198  INPUT Z$
  45. 199  PRINT
  46. 440  CLS
  47. 445  PRINT "*****************************************************************"
  48. 450  PRINT
  49. 460  PRINT "PLEASE INPUT THE NAME OF POINT A ";
  50. 470  INPUT A$
  51. 490  PRINT
  52. 500  PRINT "ENTER DEGREES OF LATITUDE: ";
  53. 510  INPUT BD
  54. 530  PRINT "ENTER MINUTES OF LATITUDE: ";
  55. 540  INPUT BM
  56. 560  LET B=BD+(BM/60)
  57. 570  PRINT
  58. 580  PRINT "ENTER DEGREES OF LONGITUDE: ";
  59. 590  INPUT CD
  60. 610  PRINT "ENTER MINUTES OF LONGITUDE: ";
  61. 620  INPUT CM
  62. 640  LET C=CD+(CM/60)
  63. 650  PRINT
  64. 655  PRINT "-----------------------------------------------------------------"
  65. 656  PRINT
  66. 660  PRINT "PLEASE INPUT THE NAME OF POINT B ";
  67. 670  INPUT D$
  68. 690  PRINT
  69. 700  PRINT "ENTER DEGREES OF LATITUDE: ";
  70. 710  INPUT ED
  71. 730  PRINT "ENTER MINUTES OF LATITUDE: ";
  72. 740  INPUT EM
  73. 760  LET E=ED+(EM/60)
  74. 770  PRINT
  75. 780  PRINT "ENTER DEGREES OF LONGITUDE: ";
  76. 790  INPUT FD
  77. 800  PRINT "ENTER MINUTES OF LONGITUDE: ";
  78. 810  INPUT FM
  79. 832  PRINT
  80. 836  PRINT "******************************************************************"
  81. 840  LET F=FD+(FM/60)
  82. 842  FOR Z=1 TO 5500
  83. 845  NEXT Z
  84. 850  CLS
  85. 860  LET G=(90-B)/180*3.14159
  86. 870  LET K=ABS (C-F)
  87. 880  LET L=(90-E)/180*3.14159
  88. 890  LET N=(G+L)/2
  89. 900  LET P=(G-L)/2
  90. 910  LET Q=(K/2)/180*3.14159
  91. 920  LET R=ATN (((COS (Q)/SIN (Q))*(COS (P))/COS (N)))
  92. 930  LET S=ATN ((COS (Q)/SIN (Q))*SIN (P)/SIN (N))
  93. 940  LET T=ATN ((SIN (P)/COS (P))*SIN (R)/SIN (S))
  94. 970  LET J=(2*T)/3.14159*180
  95. 980  LET U=INT ((J*69.113)+0.5)
  96. 990  IF U<0 THEN LET U=U*(-1)
  97. 1000  PRINT "*****************************************************************"
  98. 1005  PRINT "*****************************************************************"
  99. 1010  LPRINT "*****************************************************************"
  100. 1020  LPRINT "*****************************************************************"
  101. 1021  PRINT
  102. 1022  PRINT
  103. 1023  LPRINT
  104. 1024  LPRINT
  105. 1025  PRINT A$
  106. 1026  LPRINT A$
  107. 1030  LPRINT "      LATITUDE: ";INT (B*1000)/1000;" DEGREES"
  108. 1032  PRINT "      LATITUDE: ";INT (B*1000)/1000;" DEGREES"
  109. 1040  PRINT "     LONGITUDE: ";INT (C*1000)/1000;" DEGREES"
  110. 1042  LPRINT "     LONGITUDE: ";INT (C*1000)/1000;" DEGREES"
  111. 1050  PRINT
  112. 1052  LPRINT
  113. 1060  PRINT D$
  114. 1062  LPRINT D$
  115. 1070  PRINT "      LATITUDE: ";INT (E*1000)/1000;" DEGREES"
  116. 1072  LPRINT "      LATITUDE: ";INT (E*1000)/1000;" DEGREES"
  117. 1080  PRINT "     LONGITUDE: ";INT (F*1000)/1000;" DEGREES"
  118. 1082  LPRINT "     LONGITUDE: ";INT (F*1000)/1000;" DEGREES"
  119. 1090  PRINT
  120. 1092  LPRINT
  121. 1094  PRINT "-----------------------------------------------------------------"
  122. 1096  LPRINT "-----------------------------------------------------------------"
  123. 1100  PRINT
  124. 1102  LPRINT
  125. 1110  PRINT "THE DISTANCE FROM"
  126. 1111  LPRINT "THE DISTANCE FROM"
  127. 1112  PRINT A$;" TO"
  128. 1113  LPRINT A$;" TO"
  129. 1114  PRINT D$;" IS:"
  130. 1115  LPRINT D$;" IS:"
  131. 1130  PRINT U;" MILES OR ";INT (U*6336/3937);" KILOMETERS"
  132. 1132  LPRINT U;" MILES OR ";INT (U*6336/3937);" KILOMETERS"
  133. 1140  PRINT
  134. 1142  LPRINT
  135. 1150  PRINT "*****************************************************************"
  136. 1152  LPRINT "*****************************************************************"
  137. 1154  PRINT
  138. 1156  LPRINT
  139. 1160  PRINT "ANOTHER CASE (Y/N) ";
  140. 1162  INPUT H$
  141. 1164  PRINT
  142. 1166  LPRINT
  143. 1170  IF H$="Y" THEN GOTO 440
  144. 1172  IF H$="N" THEN GOTO 1200
  145. 1174  GOTO 1162
  146. 1200  CLS
  147. 1202  PRINT "////////////////////////////////////////////////////////////////"
  148. 1204  PRINT
  149. 1206  PRINT "THIS PROGRAM HAS ENDED *****************************************"
  150. 1208  PRINT
  151. 1210  PRINT
  152. 1220  PRINT
  153. 1230  PRINT
  154. 1240  PRINT
  155. 1250  PRINT
  156.