-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathENTFERN.bc
202 lines (202 loc) · 6.26 KB
/
ENTFERN.bc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
1000 A=1000:GOTO20:REM ENTFERNUNG - TROS/DS-KULTUR
1010 DIMT$(1)
1020 BF=52.3833:LF=-5.4166:REM SUEDL. FLEVOLAND
1030 BO=52.8:LO=-13.4:REM ORANIENBURG
1040 R=6378:REM AEQU. ERDRADIUS
1050 PJ=3.14159:RA=180/PJ:E=2*R*PJ/360
1060 U1$="E r l a e u t e r u n g:"
1070 U2$="B e r e c h n u n g:"
1080 F$="F a l s c h e E i n g a b e !"
1090 L$=" "
1100 REM
1110 REM --- SCHIRMGROESSE
1120 REM
1130 HO=5:VE=5:GOSUB110
1140 PRINT"B i t t e w a r t e n !"
1150 HO=0:VE=0:GOSUB110
1160 SP=0
1170 SP=SP+1:PRINT" ";:GOSUB120:IFHO<>0 THEN1170
1180 ZE=0
1190 ZE=ZE+1:PRINT" ":GOSUB120:IFVE<>ZE THEN1190
1200 H=SP-1:V=ZE-1
1210 REM
1220 REM --- TITEL
1230 REM
1240 T$(0)=" E m p f a n g s - "
1250 T$(1)=" e n t f e r n u n g "
1260 GOSUB100
1270 FORVE=0 TO1
1280 L=LEN(T$(VE)):HO=INT((H-L)/2):GOSUB110
1290 SR$=T$(VE):GOSUB150
1300 NEXTVE
1310 REM
1320 REM --- MENU
1330 REM
1340 HO=2:VE=5:GOSUB110
1350 SR$="E":GOSUB150:PRINT"- Erlaeuterung"
1360 HO=2:VE=7:GOSUB110
1370 SR$="B":GOSUB150:PRINT"- Berechnung"
1380 HO=2:VE=9:GOSUB110
1390 SR$="X":GOSUB150:PRINT"- Ende"
1400 HO=24:VE=9:GOSUB110
1410 GOSUB210
1420 IF(IN<>69)AND(IN<>66)AND(IN<>88)THEN1410
1430 IFIN=69 THENM=1
1440 IFIN=66 THENM=2
1450 IFIN=88 THEN950
1460 ONM GOSUB1500,1730:GOTO1240
1470 REM
1480 REM --- ERLAEUTERUNG
1490 REM
1500 GOSUB100:RESTORE
1510 L=LEN(U1$):HO=INT((H-L)/2):VE=0:GOSUB110
1520 SR$=U1$:GOSUB150
1530 HO=0:VE=1:GOSUB110
1540 READR$:IFR$<>"*" THEN1530
1550 PR$=""
1560 READR$:IFR$="*" THEN GOSUB1600:GOTO1550
1570 IFR$="xxx" THEN GOSUB1600:GOSUB2490:RETURN
1580 PR$=PR$+R$:GOTO1560
1590 REM
1600 H0=0:H1=1:PRINT
1610 FORI=1 TOLEN(PR$):H0=H0+1
1620 IFMID$(PR$,I,1)<>" " THEN1640
1630 GOSUB1650
1640 NEXTI:GOSUB1650:PRINT:RETURN
1650 IFH0>SP-1 THENPRINT:H0=I-H1
1660 GOSUB120:IFVE<ZE-3 THEN1690
1670 HO=0:VE=ZE-1:GOSUB110
1680 GOSUB2490
1690 PRINTMID$(PR$,H1,I-H1);" ";:H1=I+1:RETURN
1700 REM
1710 REM --- BERECHNUNG
1720 REM
1730 GOSUB100
1740 REM
1750 BG=0:BM=0:B0=0:LG=0:LM=0:L0=0
1760 BX=0:LX=0:LZ=0:E1=0:E2=0:EX=0
1770 REM
1780 L=LEN(U2$):HO=INT((H-L)/2):VE=0:GOSUB110
1790 SR$=U2$:GOSUB150
1800 REM
1810 HO=0:VE=2:GOSUB110
1820 PRINT"Koordinaten des Empfangsortes:"
1830 HO=0:VE=4:GOSUB110
1840 SR$=" Negatives Vorzeichen bei ":GOSUB150
1850 HO=0:VE=5:GOSUB110
1860 SR$="suedl. Breite und oestl. Laenge !":GOSUB150
1870 HO=0:VE=7:GOSUB110
1880 INPUT"Ort :";N$
1890 HO=0:VE=9:GOSUB110:FL=0
1900 INPUT"Geogr. Breite - Grad ";BG
1910 INPUT" - Min. ";BM:PRINT
1920 INPUT"Geogr. Laenge - Grad ";LG
1930 INPUT" - Min. ";LM:PRINT
1940 IF(ABS(BG)>89)OR(BG<>INT(BG))THENFL=1:BG=0
1950 IF(ABS(BM)>59)OR(BM<>INT(BM))THENFL=1:BM=0
1960 IF(ABS(LG)>179)OR(LG<>INT(LG))THENFL=1:LG=0
1970 IF(ABS(LM)>59)OR(LM<>INT(LM))THENFL=1:LM=0
1980 IFFL=1 THEN GOSUB2520:GOSUB2560:GOTO1890
1990 HO=4:VE=16:GOSUB110:PRINT"O.K. ? -> J/N ? ";
2000 GOSUB210:IFIN<>74 THEN GOSUB2560:GOTO1890
2010 REM
2020 REM --- BOGENMASS
2030 B0=(BG+BM/60)/RA:L0=(LG+LM/60)/RA
2040 B1=BF/RA:L1=LF/RA
2050 B2=BO/RA:L2=LO/RA
2060 REM
2070 REM --- BERECHNUNG
2080 BX=B1:LX=L1:EX=0:GOSUB2240:E1=EX
2090 REM
2100 BX=B2:LX=L2:EX=0:GOSUB2240:E2=EX
2110 REM
2120 HO=0:VE=15:GOSUB110:CT=5:CN=0
2130 SR=E1:GOSUB310
2140 PRINT"Entfernung - TROS/N.O.S"
2150 PRINT"(1008 kHz, 52:23 NB 5:25 OL): ";SR$;" km"
2160 PRINT
2170 SR=E2:GOSUB310
2180 PRINT"Entfernung - DS/Kultur"
2190 PRINT"(177 kHz, 52:48 NB 13:24 OL): ";SR$;" km"
2200 REM
2210 PRINT:GOSUB2490:RETURN
2220 REM
2230 REM --- UNTERPROGRAMM
2240 LZ=L0-LX:IFLZ=0 THEN2430
2250 IFLZ>PJ THENLZ=LZ-2*PJ
2260 IFLZ<-PJ THENLZ=LZ+2*PJ
2270 BB=COS(LZ)*(COS(BX)/SIN(BX))
2280 BB=ATN(BB)
2290 BZ=((COS(LZ)/SIN(LZ))*COS(B0+BB))/SIN(BB)
2300 BZ=ATN(1/BZ)
2310 BZ=BZ*RA:LZ=LZ*RA
2320 IF(LZ>0)AND(BZ<0)THENBZ=BZ+180
2330 IF(LZ<0)AND(BZ>0)THENBZ=BZ+180
2340 IF(LZ<0)AND(BZ<0)THENBZ=BZ+360
2350 BZ=INT(BZ+.5)
2360 EX=(SIN(B0)*SIN(BX))+(COS(B0)*COS(BX)*COS(LZ/RA))
2370 EX=SQR(1-(EX*EX))/EX
2380 IFL0=LX THEN2450
2390 EX=ATN(EX)
2400 EX=EX*RA:IF(EX<0)AND(EX>-90)THENEX=EX+180
2410 EX=EX*E:EX=INT(EX+.5)
2420 RETURN
2430 IFB0>BX THENBZ=180:GOTO2350
2440 IFB0<BX THENBZ=0:GOTO2350
2450 IFB0>BX THENEX=B0-BX:GOTO2400
2460 IFB0<BX THENEX=BX-B0:GOTO2400
2470 RETURN
2480 REM -----------------------------
2490 SR$="Taste =>"
2500 PRINT:GOSUB150:GOSUB210:GOSUB100:RETURN
2510 REM
2520 HO=0:VE=16:GOSUB110
2530 SR$="F e h l e i n g a b e !":GOSUB150
2540 GOSUB210:RETURN
2550 REM
2560 FORVE=9 TO13
2570 HO=22:GOSUB110
2580 PRINT" "
2590 NEXTVE
2600 HO=0:VE=16:GOSUB110:PRINTL$
2610 RETURN
2620 REM
25000 DATA"*","BASICODE-Programme werden z.Zt. in "
25010 DATA"Rundfunkprogrammen folgender Anstalten "
25020 DATA"ausgestrahlt:","*"
25030 DATA"N.O.S. (NL) - 1008 kHz (MW),","*"
25040 DATA"TROS (NL) - 1008 kHz (MW),","*"
25050 DATA"DS/Kultur (D) - 177 kHz (LW),","*"
25060 DATA"daneben natuerlich auch ueber die Sender des "
25070 DATA"UKW/FM - Netzes.","*"
25080 DATA"Mit diesem Programm kann die Entfernung des "
25090 DATA"Empfangsortes von den Standorten der LW- bzw. "
25100 DATA"MW-Sender festgestellt werden.","*"
25110 DATA"Einzugeben sind die geographischen Koordinaten "
25120 DATA"des Empfangsortes, die einer Karte oder einem "
25130 DATA"Tafelwerk (Logarithmentafel, astronom. Tafeln "
25140 DATA"oder dergl.) entnommen werden koennen.","*"
25150 DATA"Ein Hobby-Astronom ist vielleicht sogar in der "
25160 DATA"Lage, die Koordinaten seines Wohnortes zu "
25170 DATA"berechnen !!","*"
25180 DATA"Die Koordinaten sind in der Form","*"
25190 DATA" Grad : Minuten","*"
25200 DATA"einzugeben; fuer eine suedliche Breite bzw. "
25210 DATA"oestliche Laenge sind negative Werte"
25220 DATA" (fuer Grad u. Minuten) "
25230 DATA"einzugeben. Die Zahlenwerte sind auf 89 bzw. "
25240 DATA"179 fuer Grad und auf 59 fuer Minuten begrenzt; "
25250 DATA"es sind nur ganzzahlige Werte zugelassen. ","*"
25260 DATA"Das Ergebnis ist nur eine Naeherung !"
25270 DATA"xxx"
25280 REM
32000 REM ---------------------
32010 REM FRIEDRICH DORMEIER
32020 REM BISMARCKSTR. 11A
32030 REM D-1000 BERLIN 39
32040 REM (030) 803 31 11
32050 REM
32060 REM C-128 - 2/1991
32070 REM ---------------------
32080 REM Erstausstrahlung: Deutschlandsender Kultur
32090 REM-spezial 910320