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