- ein Programm für den Taschenrechner HP 50g und Vergleichbare -
Für Excel-2010-Liebhaber ist auch eine Version verfügbar.
Das Program arbeitet teilweise mit umgekehrter, polnischer Notation (RPN reverse polish notation), indem
ein 1. Objekt (z. B. die 1. Zahl) und ein 2. Objekt (z. B. die 2. Zahl) auf den Stapel (Stack) geschoben, und dann
erst die Operation (Z. B. +) eingegeben werden. Auf diese Weise werden verschachtelte Klammern umgangen.
Beispiel:
"27000. t -.25 ^ *" ist dasselbe wie "27000. * t^-0.25 "
ACHTUNG: Das Programm gilt nur für den sichtbaren Spektralbereich.
und nur für 1 Treffer (der C5-Faktor muss derzeit separat ermittelt werden)!
Die Ausgabe erfolgt durchgängig und ausschließlich in W/m² (umgerechnet aus den Energie-Angaben der Norm in J/m²)!
Wer auch über HP 50g verfügt, kann die beiden zusammen gehörigen Programme, einfache Textdateien, herunter laden und im Textmodus einspeichern. Rechte Maustaste, "Ziel speichern unter ..."
Das Programm erwartet
%%HP: T(3)A(R)F(.); \<< \-> \Gl t \<< CASE '\Gl<400. OR \Gl>700.' THEN "nicht zulässig!" END 't<.00000000001' THEN .00015 t / END 't<.000000001' THEN 27000. t -.25 ^ * END 't<.000018' THEN .005 t / END 't<10.' THEN 18. t -.25 ^ * END 't<100. AND \Gl<500.' THEN \Gl C3 100. * t / 10. MIN END '\Gl<500.' THEN \Gl C3 END 10. END \>> \>>
Ausgabe: maximal zulässige Bestrahlungsstärke zur Einheit W/m²
Hier in Worten, was das Programm macht:
Der Programmkopf legt die Einstellungen des Taschenrechners fest, insbesondere ist er auf Dezimalpunkt
eingestellt.
Die Zeichenfolge "\G" leitet einen griechischen Buchstaben ein, hier "\Gl" = "λ".
Die CASE ... THEN ... END ... END Struktur wählt die normgemäßen Zeitfenster aus.
Eingabe: λ [ENTER], t [ENTER] werden von Hand auf den Stack geschoben und stellen die Wellenlänge und
die Impulsdauer dar.
-> λ t weist den eingetippten Zahlen den (internen) Variablen λ bzw. t zu
Wenn λ kleiner ist als 400 nm oder größer als 700 nm, so ist das hier unzulässig.
Dann gelten ganz andere Formeln.
"CASE" entscheidet, welche der Formeln in der Norm benutzt werden muss.
WENN also 'λ < 400. ODER λ < 700.' DANN "nicht zulässig!" FERTIG 't < .00000000001' DANN '.00015/t' FERTIG 't < ;.000000001' DANN '27000.*t^-.25' FERTIG 't < .000018' DANN '.005/t' FERTIG 't < 10.' DANN '18.*t^-.25' FERTIG 't < 100. UND λ < 500.' DANN MIN('C3(λ)*100/t, 10.) FERTIG 'λ < 500.' DANN 'C3(λ)' FERTIG 10. FERTIG
Die übrigen Zeichen vorne und hinten leiten das Programm oder Programmteile ein bzw. aus.
Das Unterprogramm C3(λ), eine Formel, muss sich ebenfalls im Programmspeicher befinden.
Es lautet:
%%HP: T(3)A(R)F(.); \<< \-> \Gl 'IFTE(\Gl<450.,1.,IFTE(\Gl<600.0001,ALOG(.02*(\Gl-450.)),1.))' \>>
in mathematischer Schreibweise:
⌈1., wenn λ < 450
C3(λ) = | 10^(0.02*(λ - 450.)) wenn λ < 600.
⌊1., wenn λ ≥ 600.
Die letzte "1." ist eigentlich ein Fehler für eine unzulässige Eingabe. Diese wird neutralisiert!.
Die Programme werden kostenfrei abgegeben - Irrtümer und Tippfehler vorbehalten. Es obliegt dem Benutzer, vor Verwendung eigene Tests durchzuführen und mit der Norm zu vergleichen.
Quelle für die Grenzen der Zeit/Wellenlängen-Fenster und deren Formeln: DIN EN 60825 Teil 1, Ausgabe Mai 2008, S. 55 (Tabelle A.1).