| |
|
|
p.specht
| Für Elektriker und die (leider selten gewordenen) Elektronik-Bastler ist bei der Bauteileauswahl die Ermittlung von Kennwerten für Bauelemente wichtig.
WindowTitle " p.specht´s U I P R Einphasen-Rechner"
' (D) Demo by P.Specht, Vienna/Austria. NO WARRANTY WHATSOEVER!
WindowStyle 24:font 2:set("decimals",17)
' Window 200,100 - 400,175
Declare U!,I!,P!,R!, u$,i$,p$,r$ , l1$,l2$,l3$
font 2:print "\n Dieser Rechner verknüpft die vier Größen "
print " Spannung, Strom, Leistung und Widerstand. "
font 0:print " Die letzten beiden Eingaben stellen die "
print " jeweils vorgegebenen Größen dar. Die an-"
print " deren beiden Werte werden errechnet und "
font 2:print " sind in fetter Schrift dargestellt."
font 0:print " RETURN springt von Feld zu Feld. Ohne Einga-"
print " bewerte (zB: 1e-6) wird nichts verändert,"
print " sondern nur weitergesprungen! ";
font 2:print " [Start]";:waitinput
Repeat:Cls:Print "Geg.:"
if (l1$="U") or (l2$="U"):font 0:else:font 2:endif
locate 3,1 :Print l1$;l2$;" Spannung U [Volt V] = ";
locate 3,26:Print format$("%g",U!);
if (l1$="I") or (l2$="I"):font 0:else:font 2:endif
locate 5,1 :Print l1$;l2$;" Strom I [Ampere A] = ";
locate 5,26:Print format$("%g",I!);
if (l1$="P") or (l2$="P"):font 0:else:font 2:endif
locate 7,1 :Print l1$;l2$;" Leistung P [Watt W] = ";
locate 7,26:Print format$("%g",P!);
if (l1$="R") or (l2$="R"):font 0:else:font 2:endif
locate 9,1 :Print l1$;l2$;" Widerstand R [Ohm] = ";
locate 9,26:Print format$("%g",R!);
locate 3,26:input u$:if u$>"":U!=val(u$):l3$=l2$:l2$=l1$:l1$="U":goto "calc":endif
locate 5,26:input i$:if i$>"":I!=val(i$):l3$=l2$:l2$=l1$:l1$="I":goto "calc":endif
locate 7,26:input p$:if p$>"":P!=val(p$):l3$=l2$:l2$=l1$:l1$="P":goto "calc":endif
locate 9,26:input r$:if r$>"":R!=abs(val(r$)):l3$=l2$:l2$=l1$:l1$="R":goto "calc":endif
calc:
if l1$="U"
if l2$="U":l2$=l3$:l3$="" :goto "calc"
elseif l2$="I":P!=U!*I!:case i!=0:i!=val("1e-50"):R!=abs(U!/I!)
elseif l2$="P":case u!=0:u!=val("1e-50"):I!=P!/U!:case P!=0:P!=val("1e-50"):R!=abs(sqr(U!)/P!)
elseif l2$="R":case r!=0:r!=val("1e-50"):I!=U!/R!:P!=sqr(U!)/R!
endif
elseif l1$="I"
if l2$="U":P!=U!*I!:case i!=0:i!=val("1e-50"):R!=abs(U!/I!)
elseif l2$="I":l2$=l3$:l3$="" :goto "calc"
elseif l2$="P":case i!=0:i!=val("1e-50"):U!=P!/I!:R!=abs(P!/sqr(I!))
elseif l2$="R":U!=I!*R!:P!=sqr(I!)*R!
endif
elseif l1$="P"
if l2$="U":case u!=0:u!=val("1e-50"):I!=P!/U!:case P!=0:P!=val("1e-50"):R!=abs(sqr(U!)/P!)
elseif l2$="I":case i!=0:i!=val("1e-50"):U!=P!/I!:R!=abs(P!/sqr(I!))
elseif l2$="P":l2$=l3$:l3$="" :goto "calc"
elseif l2$="R":U!=sqrt(abs(P!*R!)):case R!=0:R!=val("1e-50"):I!=sqrt(abs(P!/R!))
endif
elseif l1$="R"
if l2$="U":case r!=0:r!=val("1e-50"):I!=U!/R!:P!=sqr(U!)/R!
elseif l2$="I":U!=I!*R!:P!=sqr(I!)*R!
elseif l2$="P":U!=sqrt(abs(P!*R!)):case R!=0:R!=val("1e-50"):I!=sqrt(abs(P!/R!))
elseif l2$="R":l2$=l3$:l3$="" :goto "calc"
endif
endif
until 0
|
|
|
| Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 23.05.2021 ▲ |
|
|
|