home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / basic / library / tb / distance / d11.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 LPRINT"Location                    County";TAB(49);"Pop."
  8. 80 LPRINT"________                    ______";TAB(49);"____"
  9. 90 LPRINT
  10. 100 V=V+3
  11. 110 DIM A(2), B(2)
  12. 120 OPEN "MNdata.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:LPRINT N$;C$;M;TAB(59);
  15. 150 IF N$="" THEN 190
  16. 160 IF T1=0 AND T2=0 AND T3=0 THEN LPRINT " Not Available":GOTO 190
  17. 170 IF T1=0 AND T2=0 THEN LPRINT " Not Recommended":GOTO 190
  18. 180 IF T1=0 THEN LPRINT " 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)="Wergeland tow" 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 LPRINT : LPRINT : LPRINT
  112. 1120 LPRINT"End of run.  Information computed for all 2725 locations"
  113. 1130 LPRINT
  114. 1140 LPRINT"Category","","Population"," % of total Minnesota population"
  115. 1150 LPRINT"-------------","","----------","----------"
  116. 1160 LPRINT"Recommended","",T5,INT((T5/O)*1000)/10
  117. 1170 LPRINT"Fringe","",T6,INT((T6/O)*1000)/10
  118. 1180 LPRINT"Not Recommended",T7,INT((T7/O)*1000)/10
  119. 1190 LPRINT"Not Available","",T8,INT((T8/O)*1000)/10
  120. 1200 LPRINT"Total Minnesota population (1980 census) : ";O
  121. 1210 LPRINT:LPRINT:LPRINT
  122. 1220 LPRINT"Definitions:"
  123. 1230 LPRINT
  124. 1240 LPRINT"Recommended:          Good signal should be present, antenna"
  125. 1250 LPRINT"                      on radio should suffice."
  126. 1260 LPRINT
  127. 1270 LPRINT"Fringe:               Reception should be acceptable, an "
  128. 1280 LPRINT"                      external antenna might be needed"
  129. 1290 LPRINT
  130. 1300 LPRINT"Not Recommended:      Signal reception might be possible with a substantal"
  131. 1310 LPRINT"                      outdoor antenna, and a favorable location"
  132. 1320 LPRINT
  133. 1330 LPRINT"Not Available:        Signal probably can not be received except"
  134. 1340 LPRINT"                      in very rare cases."
  135. 1350 LPRINT
  136. 1360 LPRINT:LPRINT:LPRINT:LPRINT
  137. 1370 LPRINT"Program code written by Barry Watson 6/86 - 12/86 Rev 9.0"
  138. 1380 LPRINT"Compiled using Microway's 87Bascom"
  139. 1390 STOP
  140. 1400 REM ROUTINE TO PAGINATE
  141. 1410 FOR Z=1 TO (66-V)
  142. 1420 LPRINT
  143. 1430 NEXT Z
  144. 1440 V=0
  145. 1450 LC=0
  146. 1460 RETURN
  147. 1470 REM END OF ROUTINE
  148.