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

  1. 10 REM Program to produce a list of all marginal reception areas of RTB in MN
  2. 20 KEY OFF
  3. 30 COLOR 10,9,1
  4. 40 CLS
  5. 50 PRINT" --- Working , do not disturb. ---"
  6. 60 REM BY Barry Watson Dec 16,1986
  7. 70 PRINT"Location                    County";TAB(49);"Pop."
  8. 80 PRINT"________                    ______";TAB(49);"____"
  9. 90 PRINT
  10. 100 V=V+3
  11. 110 DIM A(2), B(2)
  12. 120 OPEN "MNCITIES.DBF" AS #1 LEN=128
  13. 130 FIELD #1,128 AS A$
  14. 140 IF T1=1 OR T2=1 OR M=0 THEN 190 ELSE V=V+1:PRINT N$;C$;M;TAB(59);
  15. 150 IF N$="" THEN 190
  16. 160 IF T1=0 AND T2=0 AND T3=0 THEN PRINT " Not Available":GOTO 190
  17. 170 IF T1=0 AND T2=0 THEN PRINT " Not Recommended":GOTO 190
  18. 180 IF T1=0 THEN PRINT " Fringe"
  19. 190 IF V>55 THEN GOSUB 1400
  20. 200 IF T1=1 THEN T5=T5+M : GOTO 240
  21. 210 IF T2=1 THEN T6=T6+M : GOTO 240
  22. 220 IF T3=1 THEN T7=T7+M : GOTO 240
  23. 230 IF T4=1 THEN T8=T8+M
  24. 240 T1=0:T2=0:T3=0:T4=0
  25. 250 IF MID$(N$,1,13)="Zumbrota town" THEN 1090
  26. 260 GET #1
  27. 270 M=VAL(MID$(A$,90,6))
  28. 280 IF M=0 THEN 260
  29. 290 O=O+M
  30. 300 T = 0
  31. 310 N$=MID$(A$,8,28)
  32. 320 LONG$=MID$(A$,95,8)
  33. 330 L$=MID$(A$,103,7)
  34. 340 C$=MID$(A$,110,20)
  35. 350 IF MID$(N$,1,1)=" " THEN 140
  36. 360 B(1)=VAL(LONG$)
  37. 370 A(1)=VAL(L$)
  38. 380 A(1)=A(1)*.0174533:B(1)=B(1)*.0174533
  39. 390 REM
  40. 400 R=3953:P=3.14159
  41. 410 RESTORE
  42. 420 READ B$,I,K,L
  43. 430 K=K*-1:B(2)=K:A(2)=I
  44. 440 IF B$="END." GOTO 140
  45. 450 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))
  46. 460 W=G*X+J*C:E=H*W-K*D:F=G*C-J*X:G=K*W+H*D
  47. 470 IF ABS(G)=1 THEN 530  
  48. 480 W=1-G*G
  49. 490 IF W>0 THEN 510  
  50. 500 GOTO 530  
  51. 510 H=ATN(G/SQR(W))
  52. 520 GOTO 540  
  53. 530 H=G*P/2
  54. 540 IF ABS(G)=1 THEN 690  
  55. 550 IF W<=0 THEN 690
  56. 560 IF E>0 THEN 670
  57. 570 IF E<0 THEN 630
  58. 580 IF F>0 THEN 610
  59. 590 X= -.5*P
  60. 600 GOTO 710  
  61. 610 X=P/2
  62. 620 GOTO 710  
  63. 630 X=ATN(F/E)-P
  64. 640 IF F<0 THEN 710
  65. 650 X=X+2*P
  66. 660 GOTO 710  
  67. 670 X=ATN(F/E)
  68. 680 GOTO 710  
  69. 690 Q=999
  70. 700 GOTO 760     
  71. 710 D=180*(P-X)/P
  72. 720 C=INT(D)
  73. 730 IF D-C < .5 THEN 750  
  74. 740 C=C+1
  75. 750 Q=C
  76. 760 D=R*(.5*P-H)
  77. 770 C=INT(D)
  78. 780 IF D-C<.5 THEN 800
  79. 790 C=C+1
  80. 800 REM
  81. 810 IF C  > (L*1.5) THEN T4=1: GOTO 420
  82. 820 IF C < (.6*L) THEN T1=1:GOTO 420
  83. 830 IF C < L THEN T2=1:GOTO 420
  84. 840 T3=1
  85. 850 GOTO 420
  86. 860 DATA "KSJN    (91.1)",.78648,1.62559,54
  87. 870 DATA "K232AQ  (94.3)",.7629,1.62275,2
  88. 880 DATA "KCRB    (88.5)",.83254,1.64912,45
  89. 890 DATA "KLCD    (89.5)",.75891,1.60201,5
  90. 900 DATA "WSCD    (92.9)",.81662,1.60776,34
  91. 910 DATA "W269AC (101.7)",.83584,1.60337,2
  92. 920 DATA "KCCM    (91.1)",.81611,1.68611,37
  93. 930 DATA "WGGL    (91.1)",.82093,1.54802,47
  94. 940 DATA "K249BK  (97.7)",.84808,1.63023,3
  95. 950 DATA "K269BK (101.7)",.76467,1.59193,1
  96. 960 DATA "K292CT (106.3)",.76876,1.59953,2
  97. 970 DATA "KGAC    (90.5)",.77182,1.64266,40
  98. 980 DATA "K257AH  (99.3)",.79687,1.67434,2
  99. 990 DATA "KLSE    (91.7)",.76865,1.61166,44
  100. 1000 DATA "KLSX    (90.7)",.76868,1.61165,18
  101. 1010 DATA "KSJR    (90.1)",.79409,1.64999,44
  102. 1020 DATA "KRSD    (88.1)",.75969,1.68840,9
  103. 1030 DATA "WIRR    (90.9)",.82896,1.61940,29
  104. 1040 DATA "KRSW    (91.7)",.76591,1.67427,43
  105. 1050 DATA "K239AA  (93.5)",.76591,1.67427,2
  106. 1060 DATA "KFJM    (89.3)",.83657,1.69420,21
  107. 1070 DATA "KAXE    (91.7)",.82475,1.63074,36
  108. 1080 DATA "END.",9999,9999,0
  109. 1090 CLOSE 1 : PRINT" I have just closed your file  heh heh..."
  110. 1100 FOR Q2=1 TO 1000: NEXT Q2
  111. 1110 PRINT : PRINT : PRINT
  112. 1120 PRINT"End of run.  Information computed for all 2725 locations"
  113. 1130 PRINT
  114. 1140 PRINT"Category","","Population"," % of total Minnesota population"
  115. 1150 PRINT"-------------","","----------","----------"
  116. 1160 PRINT"Recommended","",T5,INT((T5/O)*1000)/10
  117. 1170 PRINT"Fringe","",T6,INT((T6/O)*1000)/10
  118. 1180 PRINT"Not Recommended",T7,INT((T7/O)*1000)/10
  119. 1190 PRINT"Not Available","",T8,INT((T8/O)*1000)/10
  120. 1200 PRINT"Total Minnesota population (1980 census) : ";O
  121. 1210 PRINT:PRINT:PRINT
  122. 1220 PRINT"Definitions:"
  123. 1230 PRINT
  124. 1240 PRINT"Recommended:          Good signal should be present, antenna"
  125. 1250 PRINT"                      on radio should suffice."
  126. 1260 PRINT
  127. 1270 PRINT"Fringe:               Reception should be acceptable, an "
  128. 1280 PRINT"                      external antenna might be needed"
  129. 1290 PRINT
  130. 1300 PRINT"Not Recommended:      Signal reception might be possible with a substantal"
  131. 1310 PRINT"                      outdoor antenna, and a favorable location"
  132. 1320 PRINT
  133. 1330 PRINT"Not Available:        Signal probably can not be received except"
  134. 1340 PRINT"                      in very rare cases."
  135. 1350 PRINT
  136. 1360 PRINT:PRINT:PRINT:PRINT
  137. 1370 PRINT"Program code written by Barry Watson 6/86 - 12/86 Rev 9.0"
  138. 1380 PRINT"Compiled using Microway's 87Bascom"
  139. 1390 STOP
  140. 1400 REM ROUTINE TO PAGINATE
  141. 1410 FOR Z=1 TO (66-V)
  142. 1420 PRINT
  143. 1430 NEXT Z
  144. 1440 V=0
  145. 1450 LC=0
  146. 1460 RETURN
  147. 1470 REM END OF ROUTINE
  148.