home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / basic / library / tb / distance / d6.bas < prev    next >
BASIC Source File  |  1991-05-22  |  3KB  |  123 lines

  1. 10 KEY OFF
  2. 20 COLOR 10,9,1
  3. 30 CLS
  4. 40 PRINT" --- Working , do not disturb. ---"
  5. 50 REM BY BARRY WATSON OCT 1986
  6. 60 DIM A(2), B(2)
  7. 70 OPEN "MNCITIES.DBF" AS #1 LEN=128
  8. 80 FIELD #1,128 AS A$
  9. 90 REM
  10. 110 IF LC=1 THEN GOSUB 1130
  11. 120 IF T1=0 AND T2=0 AND T3=0 THEN T8=T8+M
  12. 130 IF T1=1 THEN T5=T5+M : GOTO 160
  13. 140 IF T2=1 THEN T6=T6+M : GOTO 160
  14. 150 IF T3=1 THEN T7=T7+M
  15. 160 T1=T2=T3=0
  16. 165 IF MID$(N$,1,13)="Akeley townsh" THEN 1030
  17. 166 GET #1
  18. 170 M=VAL(MID$(A$,90,6))
  19. 180 IF M=0 THEN 90
  20. 190 O=O+M
  21. 200 T = 0
  22. 210 N$=MID$(A$,8,28)
  23. 220 LONG$=MID$(A$,95,8)
  24. 230 L$=MID$(A$,103,7)
  25. 240 C$=MID$(A$,110,20)
  26. 250 IF MID$(N$,1,1)=" " THEN 90
  27. 260 B(1)=VAL(LONG$)
  28. 270 A(1)=VAL(L$)
  29. 280 A(1)=A(1)*.0174533:B(1)=B(1)*.0174533
  30. 290 PRINT N$
  31. 300 V=V+2
  32. 310 IF V>53 THEN LC=1
  33. 320 R=3953:P=3.14159
  34. 330 RESTORE
  35. 340 READ B$,I,K,L
  36. 350 IF V=>59 THEN GOSUB 1130
  37. 360 K=K*-1:B(2)=K:A(2)=I
  38. 370 IF B$="END." GOTO 90
  39. 380 C=COS(A(2)):X=C*COS(B(2)):C=C*SIN(B(2)):D=SIN(A(2)):H=SIN(A(1)):G=COS(B(1)):J=SIN(B(1)):K=COS(A(1))
  40. 390 W=G*X+J*C:E=H*W-K*D:F=G*C-J*X:G=K*W+H*D
  41. 400 IF ABS(G)=1 THEN 460  
  42. 410 W=1-G*G
  43. 420 IF W>0 THEN 440  
  44. 430 GOTO 460  
  45. 440 H=ATN(G/SQR(W))
  46. 450 GOTO 470  
  47. 460 H=G*P/2
  48. 470 IF ABS(G)=1 THEN 620  
  49. 480 IF W<=0 THEN 620
  50. 490 IF E>0 THEN 600
  51. 500 IF E<0 THEN 560
  52. 510 IF F>0 THEN 540
  53. 520 X= -.5*P
  54. 530 GOTO 640  
  55. 540 X=P/2
  56. 550 GOTO 640  
  57. 560 X=ATN(F/E)-P
  58. 570 IF F<0 THEN 640
  59. 580 X=X+2*P
  60. 590 GOTO 640  
  61. 600 X=ATN(F/E)
  62. 610 GOTO 640  
  63. 620 Q=999
  64. 630 GOTO 690     
  65. 640 D=180*(P-X)/P
  66. 650 C=INT(D)
  67. 660 IF D-C < .5 THEN 680  
  68. 670 C=C+1
  69. 680 Q=C
  70. 690 D=R*(.5*P-H)
  71. 700 C=INT(D)
  72. 710 IF D-C<.5 THEN 730
  73. 720 C=C+1
  74. 730 REM
  75. 740 IF  C > (L*1.5) THEN 340
  76. 750 V=V+1
  77. 760 IF C < (.6*L) THEN T1=1:GOTO 340
  78. 770 IF C < L THEN T2=1:GOTO 340
  79. 780 T3=1
  80. 790 GOTO 340
  81. 800 DATA "KSJN    (91.1)",.78648,1.62559,54
  82. 810 DATA "K232AQ  (94.3)",.7629,1.62275,2
  83. 820 DATA "KCRB    (88.5)",.83254,1.64912,45
  84. 830 DATA "KLCD    (89.5)",.75891,1.60201,5
  85. 840 DATA "WSCD    (92.9)",.81662,1.60776,34
  86. 850 DATA "W269AC (101.7)",.83584,1.60337,2
  87. 860 DATA "KCCM    (91.1)",.81611,1.68611,37
  88. 870 DATA "WGGL    (91.1)",.82093,1.54802,47
  89. 880 DATA "K249BK  (97.7)",.84808,1.63023,3
  90. 890 DATA "K269BK (101.7)",.76467,1.59193,1
  91. 900 DATA "K292CT (106.3)",.76876,1.59953,2
  92. 910 DATA "KGAC    (90.5)",.77182,1.64266,40
  93. 920 DATA "K257AH  (99.3)",.79687,1.67434,2
  94. 930 DATA "KLSE    (91.7)",.76865,1.61166,44
  95. 940 DATA "KLSX    (90.7)",.76868,1.61165,18
  96. 950 DATA "KSJR    (90.1)",.79409,1.64999,44
  97. 960 DATA "KRSD    (88.1)",.75969,1.68840,9
  98. 970 DATA "WIRR    (90.9)",.82896,1.61940,29
  99. 980 DATA "KRSW    (91.7)",.76591,1.67427,43
  100. 990 DATA "K239AA  (93.5)",.76182,1.62957,2
  101. 1000 DATA "KFJM    (89.3)",.83657,1.69420,21
  102. 1010 DATA "KAXE    (91.7)",.82475,1.63074,36
  103. 1020 DATA "END.",9999,9999,0
  104. 1030 CLOSE 1 : PRINT" I have just closed your file  heh heh..."
  105. 1040 FOR Q2=1 TO 1000: NEXT Q2
  106. 1050 LPRINT : LPRINT : LPRINT"END OF RUN"
  107. 1060 LPRINT"Total Minnesota pop : ";O;" Total available listeners :";U
  108. 1070 P1=INT((U/O)*100)
  109. 1080 LPRINT"TOTAL POP IN RECOMMENDED ";T5
  110. 1090 LPRINT"TOTAL POP IN FRINGE      ";T6
  111. 1100 LPRINT"TOTAL POP IN NOT RECOMM  ";T7
  112. 1110 LPRINT"TOTAL POP NOT AVAILABLE  ";T8
  113. 1120 STOP
  114. 1130 REM ROUTINE TO PAGINATE
  115. 1140 FOR Z=1 TO (66-V)
  116. 1150 GOTO 1170
  117. 1160 LPRINT
  118. 1170 NEXT Z
  119. 1180 V=0
  120. 1190 LC=0
  121. 1200 RETURN
  122. 1210 REM END OF ROUTINE
  123.