| |
|
|
p.specht
|
Windowtitle upper$(" Aktuelle Koordinaten des Erdmondes")
'Q: Funkamateur 5/1984 (Di base); Demotranskription nach XProfan-11 in 2017-10
'ohne jedwede Gewähr; ausschließlich als Programmiersprachentest gedacht!
Windowstyle 24
Declare A9!,B!,B9!,BR!,C9!,D!,E!,F!,H!,JA!,JD!,K!,L!
Declare M!,M2!,MK!,MU!,P!,SD!,SE!,T!,T3!,T9!,TA!,TG!
Declare V!,V1!,V2!,V3!,V4!,V5!,X!,Y$,Z1!,Z2!,Z3!,Z4!
CLS:font 2
print "\n Die Eingabe der geogr. Länge und Breite ihres Standortes"
print "\n ist im Programmtext bei Label z360 und z650 possibile! Daten:\n"
print " z.B. von https://www.nobochamp.de/hauptstaedte.html (Welt)\n"
print " oder https://www.fwiegleb.de/geodat.htm (D) ,\n"
print " oder https://www.innweb.at/map/ (AT), bzw. per die Schweiz (CH):\n"
print " https://rueegger.me/2008/06/15/schweizer-postleitzahlen-mit-koordinaten.html\n"
PRINT " =========\n"
TA!=0:MK!=0:JA!=0:SD!=0:MU!=0:SE!=0:X!=0
PRINT " Veränderung der Rechenschrittweite: Siehe Label z715 !\n\n =========\n"
G190:
PRINT " MÖCHTEN SIE DAS PROGRAMM ANPASSEN [j/n]? ";:INPUT Y$
case Y$="j":END
CLS
PRINT "\n Beispiel zur Eingabe eines gewünschten Datums:\n 20.AUG.1984:\n"
PRINT " 20 <enter>\n 8 <enter>\n 1984 <enter>"
G225:
PRINT "\n BERECHNUNG FÜR WELCHES DATUM ?\n"
PRINT " Tag:",:INPUT TA!
case TA!>31:goto "G225"
tg!=abs(ta!)
if TA!<1
ta!=val(mid$(date$(3),7,2))::tg!=ta!
MK!=val(mid$(date$(3),5,2))
ja!=val(mid$(date$(3),1,4))
goto "hopp"
endif
Print " Monat:",:INPUT MK!
case (MK!=0) OR (MK!>12):goto "G225"
print " Jahr:(4stellig!)",:INPUT JA!
hopp:
case MK!=1:goto "G270"
case MK!=2:goto "G265"
TA!=TA!+30*(MK!-1)+INT(0.6*(MK!-1)-0.6)-1
GOTO "G270"
G265:
TA!=TA!+31
G270:
JD!=TA!+365*(JA!-1983)+5334
JD!=INT(JD!+(JA!-1980)/4)
case MK!>2:goto "G290"
JD!=JD!-l
G290:
PRINT "\n ===========":PRINT
PRINT " EINGABE DER GEWÜNSCHTEN (UTC+1)-UHRZEIT: \n"
PRINT " STUNDE:",:INPUT SD!
PRINT " MINUTEN:",:INPUT MU!
PRINT " SEKUNDEN:",:INPUT SE!
case SD!>24:GOTO "G290"
case MU!>59:GOTO "G290"
case SE!>59:GOTO "G290"
case (SD!=23) OR (SD!=24):MU!=0
case (SD!=23) OR (SD!=24):SE!=0
CLS:PRINT
JD!=JD!+0.5+(SD!+MU!/60+SE!/3600)/24
REM ==== BERECHNUNG EKLIPTIKALE LAENGE
'Berlin >>> +52.5235 / +13.4115
'Wien >>> +48.2092 / +16.3728
Z360:
BR!=48.2092 :REM *** GEOGR. BREITE in Grad dezimal***
P!=Pi()
V4!=SIN(BR!*Pi()/180)
V5!=COS(BR!*Pi()/180)
V3!=23.45*P!/180
G385:
T!=(JD!+24980.001)/365.25
L!=270.434+4812.678831*T!
M!=296.105+4771.988491*T!
F!=L!-259.183+19.3414201*T!
M2!=358.476+359.9904975*T!
D!=L!-279.697-360.0076893*T!
E!=1 - val("0.2495E-4")*T!
L!=L!+6.28875*SIN(M!/180*P!)+0.21362*SIN(M!/90*P!)
L!=L!+1.27402*SIN((2*D!-M!)/180*P!)
L!=L!+0.65831*SIN(D!/90*P!)
L!=L!-0.1856*E!*SIN(M2!/180*P!)
L!=L!-0.11434*SIN(F!/90*P!)
L!=L!-0.05879*SIN((M!-D!)/90*P!)
L!=L!+0.05721*E!*SIN((2*D!-M2!-M!)/180*P!)
L!=L!+0.05332*SIN((2*D!+M!)/180*P!)
L!=L!+0.04587*E!*SIN((2*D!-M2!)/180*P!)
L!=L!+0.04101*E!*SIN((M!-M2!)/180*P!)
L!=L!-0.03476*SIN(D!/180*P!)
L!=L!-0.03046*E!*SIN((M2!+M!)/180*P!)
L!=L!-360*INT(L!/360)
REM ==== BERECHNG.EKLIPTIKALE BREITE
B!=0
B!=B!+5.12819*SIN(F!/180*P!)
B!=B!+0.28061*SIN((F!+M!)/180*P!)
B!=B!+0.27769*SIN((M!-F!)/180*P!)
B!=B!+0.17324*SIN((2*D!-F!)/180*P!)
B!=B!+0.05541*SIN((2*D!+F!-M!)/180*P!)
B!=B!+0.04627*SIN((2*D!-F!-M!)/180*P!)
B!=B!+0.03257*SIN((2*D!+F!)/180*P!)
V!=ArcTan(SIN(L!*P!/180)/TAN(B!*P!/180))
V1!=ArcTan(SIN(V!-V3!)/SIN(V!)*TAN(L!*P!/180))
case L!>90:GOTO "G575"
case V!<0:GOTO "G605"
case (V!-V3!)<0:GOTO "G600"
GOTO "G605"
G575:
case L!>270:GOTO "G590"
V1!=V1!+P!
GOTO "G605"
G590:
case V!<0:GOTO "G600"
case (V!-V3!)<0:GOTO "G605"
G600:
V1!=V1!+2*P!
G605:
V2!=ArcTan(SIN(V1!)/TAN(V!-V3!))
REM == STUNDENWINKEL DES MONDES ==
T9!=(JD!-5344.5)/365.2422*366.2422+.30263773149
REM == OESTL.LAENGE (L) DES STANDORTES, GRAD DEZIMAL ==
'Berlin +52.5235 / +13.4115 <<<
'Wien +48.2092 / +16.3728 <<<
Z650:
L!=16.3728
T9!=T9!+L!/360-(1/24)
T9!=(T9!-INT(T9!))*2*P!
T3!=T9!-V1!
case T3!>0:GOTO "G680"
T3!=T3!+2*P!
G680:
z1!=V4!*SIN(V2!)+V5!*COS(V2!)*COS(T3!)
A9!=(JD!-0.5-INT(JD!-0.5))*24
B9!=(A9!-INT(A9!))*60
A9!=INT(A9!+0.5)
B9!=INT(B9!+0.5):case B9!=60:B9!=0
C9!=0
case A9!=24:X!=X!+1
Z715:
REM ==== SCHRITTWEITE VORZUGSWEISE 1 STD.: JD+(1/24 TAG)
JD!=JD!+(1/24)
case z1!<0:GOSUB "S845"
case z1!<0:Goto "G840"
Z2!=ArcTan(SQRT(1-z1!*z1!)/z1!)
Z3!=(-1*V5!*SIN(V2!)+V4!*COS(V2!)*COS(T3!))/SIN(Z2!)
Z4!=ArcTan(SQRT(1-Z3!*Z3!)/Z3!)+P!
case Z3!>0:goto "G760"
Z4!=Z4!+P!
G760:
case T3!<=P!:goto "G770"
Z4!=2*P!-Z4!
G770:
CLS:PRINT
H!=90-Z2!*180/P! :REM DEKLINATION
H!=INT(100*H!+0.5)/100
K!=Z4!/P!*180-360*INT(Z4!/P!/2) :REM AZIMUT
K!=INT(100*K!+.5)/100
PRINT " AUSGABE:"
PRINT " ========"
PRINT:PRINT
PRINT " Ausgangsdatum ";format$("#0",tg!);".";format$("00",MK!);".";format$("##00",ja!);"\n"
IF X!>=1:PRINT " Folgetag! \n\n":endif
PRINT " ZEIT IN MEZ (UTC+1):",format$("00",A9!);":";format$("00",B9!);",";format$("00",C9!)
PRINT
PRINT " DEKLINATION : ";format$("%g",H!),"GRAD ÜBER FLACHLAND-HORIZONT"
PRINT
PRINT " AZIMUT : ";format$("%g",K!),"GRAD bzw. ";
PRINT format$("%g",int(100*(K!-180))/100),"GRAD GEGENÜBER SÜD: (-)= Östlich"
sound 700,30:
waitinput
CLS
GOTO "G385"
G840:
PRINT " DER MOND-MITTELPUNKT STEHT UNTER DEM HORIZONT DES STANDORTES!\n"
PRINT
sound 70,30:waitinput 1000
GOTO "G385"
S845:
cls
PRINT "\n\n Ausgangsdatum ";format$("#0",tg!);".";format$("00",MK!);".";format$("##00",ja!);"\n"
PRINT "\n ZEIT (UTC+1):",format$("00",A9!);":";format$("00",B9!);",";format$("00",C9!)
PRINT
RETURN
|
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 25.05.2021 ▲ |
|
|
|