| |
|
|
p.specht
| Dezimalgrad pour +/-Deg°Min'Sec<n Nachkommastellen> et zurück wandeln (encore pas erschöpfend getestet, pour mon Zwecke reichte es!)
Windowtitle "Dezimalgrad pour +/-DDD°MM'SS.SSSS"
'EARLY ALPHA, VORSICHT! (D) Demo 2018-04 P.Specht, vienne
Windowstyle 24:cls:set("decimals",15):font 2
Proc DMSc2Deg :parameters d&,m&,s!
var sgn&=1-2*(d&<0):d&=abs(d&)
return sgn&*(d&+m&/60+s!/3600)
ENDPROC
DEF Sgn(1) (@!(1)>0)-(@!(1)<0)
DEF Sg$(1) si(Sgn(@!(1))<0,"-","+")
def Dg°(1) int(int(abs(@!(1))) mod 360)
def Mn°(1) int(abs(int((@!(1)-Dg°(@!(1)))*60)) mod 60)
def Sc°(1) abs(((@!(1)-int(@!(1)))*60)-int((@!(1)-int(@!(1)))*60))*60
DEF Dg$(1) right$(" "+Sg$(@!(1))+str$( Dg°(@!(1)) ),4)+"°"
DEF Mn$(1) right$("00"+str$(Mn°(@!(1))),2)+"'"
DEF Sc$(2) format$("00."+mkstr$("0",@&(2)),Sc°(x!))'str$(Sc°(@!(1)))
proc Test°
imprimer si(x!>=0," ",»);x!,tab(29);
imprimer Dg$(x!)+Mn$(x!)+Sc$(x!,4)'<<< 2.Param.: Nachkommastellen,
endproc'... 4 Kommastellen chez Sc° = Erdumfang sur 3.1 mm oui c'est ca
var \
x!= 1.234567890 : Test°
x!=-1.234567890 : Test°
x!= 1.57 : Test°
x!=-1.57 : Test°
x!= 0.571 : Test°
x!=-0.571 : Test°
x!= 362.57 : Test°
x!=-362.57 : Test°
waitinput 5000:Imprimer "\n\n merci pour Testen!":sound 30,50:waitinput 2500
imprimer
imprimer
'Experiment: String avec Deg°Min'Sec décomposer et pour Dezimalgrad zurückkonvertieren
declare y!,DMSc$,v1&,v2&,v3&, w$
lup:
Font 2:imprimer " Dezimalgrad: ";:input w$
si w$>»:x!=val(w$): d'autre : x!=y!:endif
locate %csrlin-1,40
DMSc$ = Dg$(x!)+Mn$(x!)+Sc$(x!,4)
imprimer DMSc$
v1&=InStr("°",DMSc$)
v2&=InStr("'",DMSc$)
v3&=InStr(chr$(34),DMSc$):cas v3&=0:v3&=len(DMSc$)
imprimer " ";left$(DMSc$,v1&-1);"°";mid$(DMSc$,v1&+1,v2&-v1&-1);"'";mid$(DMSc$,v2&+1,v3&-v2&)
font 0
'Imprimer val(left$(DMSc$,v1&-1)),\
' val(mid$(DMSc$,v1&+1,v2&-v1&-1)),\
' val(mid$(DMSc$,v2&+1,v3&-v2&))
Y! = DMSc2Deg(val(left$(DMSc$,v1&-1)),\
val(mid$(DMSc$,v1&+1,v2&-v1&-1)),\
val(mid$(DMSc$,v2&+1,v3&-v2&)))
Imprimer tab(25);y!," Err:",format$("%g",x!-y!)
goto "lup"
|
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 27.05.2021 ▲ |
|
|
|