Navigation: Konzepte und Verfahren >

Rechnen

Diese Seite drucken
Vorherige Seite Nächste Seite
Zurück zur Kapitelübersicht

Bei der Eingabe von Formeln (Setze-Befehl oder [cX.Rechne ]-Platzhalter) bzw. Bedingungen (Wenn, Sonst, Schleife Ab, Schleife Bis, Beende) können alle Grundrechenarten verwendet werden. Klammerebenen werden ebenfalls berücksichtigt.

 

Hinweis: Im Gegensatz zu den Vorgängern akzeptiert click.EXE 5.0 keine Lücken in Formeln mehr, die durch uninitialisierte (leere) Variablen entstehen können. Ein Ausdruck wie 1+[X]*2 führt daher zu einem Laufzeitfehler, wenn die Variable X nicht mit 0 o.ä. initialisiert wurde und daher leer ist!

Bei Ausdrücken wie "1-[X]-2" kann dies auch ohne Fehler zu falschen Ergebnissen führen: bei [X]=0 ist das -1, bei [X]=leer ergibt es 3!

Hinweis: Für diesen Zweck kann der Variablenname mit einem % ergänzt werden, wodurch bei einem leeren Inhalt 0 zurückgegeben wird.

 

Auch müssen nicht-numerische Argumente (etwa der Text für Len("X") oder das Datum für Dat("X")) in Anführungsstriche gesetzt werden.

 

Erweiterte Grundrechenarten:

\Ganzzahl-Division
^Potenz
°Modulo (Teilungsrest)
%binäres UND
|binäres ODER
_binäres XOR (Exklusiv ODER), etwa: 255 _ 8 ergibt 247
(die gesetzten Bits des zweiten Wertes werden beim ersten zurückgesetzt)

 

Logische Operatoren:

&logisches UND        liefert Wahr, wenn beide Terme <>0 sind (etwa "[A] & [B]")
:ODER                Wahr, wenn min. einer der Begriffe <>0 ist (geeignet für zusammengesetzte Bedingungen)
Hinweis: Werden UND und ODER kombiniert, ist UND vorranging (wie bei "Punkt vor Strichrechnung")

 

Vergleiche:

=Gleichheit
>größer als
>=größer oder gleich
<kleiner als
<=kleiner oder gleich

<>  oder

!ungleich

 

Trigonometrische Funktionen (Winkel X in Grad):

Atn(X)Arcustangens X
Acs(X)ArcusCosinus X
Asn(X)ArcusSinus X
Cos(X)Cosinus X
Cot(X)Cotangens X
Csh(X)Cosinus hyperbolikus
Cth(X)Cotangens hyperbolicus
Sin(X)Sinus X
Snh(X)Sinus hyperbolicus
Tan(X)Tangens X
Tnh(X)Tangens hyperbolicus

 

Sonstige Funktionen:

Abs(X)Absolutwert von X (immer positiv)
Asc("X")ASCII-Wert des Zeichens X
Avg(X;Y;...)Durchschnittswert (Mittelwert) der in der Klammer aufgelisteten Werte
Bin(X)binäre Ausdrücke (z.B. 1001) in einen Wert umwandeln (siehe auch [cX.Bin X])
Dat("X")liefert einen numerischen Wert für das angegebene Datum bzw. die Zeitangabe X
Dat4("X")liefert einen numerischen Wert für das angegebene Datum X (Tageszähler, wie in cX4)
Dec(X)Nachkommastellen von X
Exp(X)e hoch X
Fak(X)Fakultät von X (X von 1 bis 25)
Fix(X)Ganzzahlwert von X (abgeschnitten; -5,3 => -5)  (siehe auch Frc, Int und Rdn)
Frc(X)Ganzzahlwert von X (abgeschnitten; -5,3 => -6); der Unterschied zu Fix() tritt nur bei negativen Zahlen auf  (siehe auch Fix, Int und Rdn)
Int(X)Ganzzahlwert von X (bankmäßig auf gerade Zahlen gerundet, d.h. Int(2.5)=2, Int(3.5)=4)  (siehe auch Fix, Frc und Rdn)
Len("X")Länge des Textes X
Hinweis: Kommt in dem Ausdruck X selbst eine Klammer zu oder Anführungszeichen vor, verfälscht dies das Ergebnis. In kritischen Fällen kann die Länge auch über den Setze-Befehl ermittelt werden.
Lgd(X)dezimaler Logarithmus von X
Log(X)Natürlicher Logarithmus von X
Min(X;Y;...)Mindestwert der mit Semikolons getrennten Werte
Max(X;Y;...)Maximalwert der mit Semikolons getrennten Werte
Not(X)Inverser Wert von X (entspricht -X-1)
Rdn(x)rundet die Zahl x mathematisch auf eine Ganzzahl  (siehe auch Fix, Frc und Int)
Rdn(X;n)rundet die Zahl x auf n Stellen
Rnd(X)Zufallszahl von 0 bis X
Rng(X;Min;Max) liefert 1, wenn Min<=X<=Max
Sec("X")liefert die Sekundenanzahl für die angegebene Zeit X (z.B. 60 für die Zeit "0:01")
Sgn(X)Vorzeichen von X: <0 ergibt -1, 0 ergibt 0, >0 ergibt 1
Sqr(X)Quadratwurzel aus X
Wahlweise kann als weiterer Parameter angegeben werden, die wievielte Wurzel zu berechnen ist, also rechnet Sqr(27;3) dir Kubikwurzel von 27 = 3 aus.
Sum(X;Y;...)Summe der in der Klammer aufgelisteten Werte
Val(X)Rohwert des Ausdrucks (Dezimalpunkt)

 

Sonstige Anmerkungen:

 

Außerdem kann eine hexadezimale Zahl mit Hilfe des Präfixes &H angegeben werden (z.B. ergibt &HF den Wert 15).

 

Texte können ebenfalls verglichen werden (=, <, <=, >, >=, <> bzw. !), indem sie in "" gesetzt werden (z.B.: [cX.Rechne("A"="B")]=0, [cX.Rechne("A"<"B")]=-1, [cX.Rechne("A"<="A")]=-1). Solche Ausdrücke sollten immer in Klammern gesetzt werden.

Ergänzend gibt es bei solchen Textvergleichen den Operator #, mit dem Ähnlichkeiten per Wildcards geprüft werden können. So ergibt z.B. ("ab" # "a*") den Wert -1, weil "ab" dem Vergleichsausdruck "a*" entspricht.

 

Hinweis: In dem "Platzhalter wählen"-Fenster (F6) können Berechnungen gestetet werden, indem der Berechne"-Button in den erweiterten Testoptionen unten eingeschaltet wird. Hier als Beispiel "7 XOR 2":

 

Manche werden sich fragen, wieso bei dem Beispiel [cX.Rechne("A"<"B")]=-1 der Buchstabe "A" kleiner ist als der Buchstabe "B". Nun, bei einem Textvergleich wird der ASCII-Wert der Zeichen verglichen. Das Zeichen "A" hat den ASCII-Wert 065 und das Zeichen "B" den Wert 066, also ist "A" kleiner als "B".

 

 

Beispiel "Grundrechenarten":

Als kleines Beispiel für die Grundrechenarten zählen wir die zwei Werte 6 und 1 zusammen, setzen das Ergebnis in die Variable [Summe] und geben den Inhalt der Variablen in einer Meldungsbox aus:

 

Setze  in [Summe]:  '6+1' (berechnen)

Meldung  "Die Summe = [Summe]" (Titel: 'Info', 'OK')

 

Wenn sie dieses Skript starten erhalten Sie als Ergebnis:

 

 

Beispiel "Erweiterte Grundrechenarten":

Als Beispiel für die erweiterten Grundrechenarten errechnen wir die Potenz von 4 und teilen diese durch die Zahl 2. Das Ergebnis setzen wir in die Variable [Ergebnis] und geben diese in einer Meldungsbox aus:

 

Setze  in [Ergebnis]:  '(4^2)\2' (berechnen)

Meldung  "Das Ergebnis lautet: [Ergebnis]" (Titel: 'Info', 'OK')

 

Wenn sie dieses Skript starten erhalten Sie als Ergebnis:

 

 

Beispiel "Vergleiche":

Vergleiche werden als Bedingung sehr oft bei der "Wenn-Abfrage" gebraucht. Aus diesem Grund setzen wir in unserem Beispiel den Wert 5 in die Variable [Anfang], den Wert 10 in die Variable [Ende] und steuern den weiteren Verlauf des Skripts durch eine "Wenn-Abfrage":

 

Setze  in [Anfang]:  '5'

Setze  in [Ende]:  '10'

Wenn  Wahr: '[Anfang]<[Ende]'

  Meldung  "Der Wert "Anfang" ist kleiner als der Wert "Ende"" (Titel: 'Info', 'OK')

Sonst

  Meldung  "Der Wert "Anfang" ist größer als der Wert "Ende"" (Titel: 'Info', 'OK')

Ende Wenn

 

Wenn sie dieses Skript starten erhalten Sie als Ergebnis:

 

Wenn Sie im Skript die Werte von [Anfang] und [Ende] vertauschen:

 

Setze  in [Anfang]:  '10'

Setze  in [Ende]:  '5'

Wenn  Wahr: '[Anfang]<[Ende]'

  Meldung  "Der Wert "Anfang" ist kleiner als der Wert "Ende"" (Titel: 'Info', 'OK')

Sonst

  Meldung  "Der Wert "Anfang" ist größer als der Wert "Ende"" (Titel: 'Info', 'OK')

Ende Wenn

 

ist die Bedingung [Anfang] < [Ende] der "Wenn-Abfrage" nicht wahr und das Skript wird nach "Sonst" fortgesetzt.

 

Als Ergebnis erhalten Sie in diesem Fall die Meldung:

 

 

Beispiel "Trigonometrische Funktionen":

Als Beispiel für die trigonometrischen Funktionen setzen wir in die Variable [Winkel] den Wert 55 und setzen dann den Sinuswert von [Winkel] in die Variable [Sinuswert]. Als Ausgabe für die Variable [Sinuswert] dient wieder die Meldungsbox:

 

Setze  in [Winkel]:  '55'

Setze  in [Sinuswert]:  'Sin([Winkel])' (berechnen)

Meldung  "Der Sinuswert von [Winkel] Grad = [Sinuswert]" (Titel: 'Info', 'OK')

 

Wenn sie dieses Skript starten erhalten Sie als Ergebnis:

 

 

Beispiel "Sonstige Funktionen":

Als Beispiel für die Sonstigen Funktionen nehmen wir die Funktion Rnd(X), welche eine Zufallszahl berechnet. In die Variable [Zufallszahl] setzen wir Rnd(100), das bedeutet, dass bei jedem Start des Skripts in der Variablen [Zufallszahl] ein zufälliger Wert zwischen 0 und 100 gesetzt wird:

 

Setze  in [Zufallszahl]:  'Rnd(100)' (berechnen)

Meldung  "Die Zufallszahl lautet: [Zufallszahl]" (Titel: 'Info', 'OK')

 

Wenn sie dieses Skript starten erhalten Sie "vielleicht" als Ergebnis:

"Vielleicht" deshalb, da ja bei jedem Start des Skripts eine neue, zufällige Zahl berechnet wird.

 

 

In den kurzen Beispielskripts auf dieser Seite haben wir immer mittels des Befehls Setze die Werte berechnet. Berechnungen können auch über den Platzhalter [cX.Rechne ] ermittelt werden. Als Beispiel nehmen wir das 1. Beispielskript auf dieser Seite, in dem wir die Zahlen 6 und 1 addiert haben:

 

Meldung  "Die Summe = [cX.Rechne(6+1)]" (Titel: 'Info', 'OK')

 

Wie Sie sehen, besteht dieses Skript nur aus einer Zeile, und wenn Sie es starten, erhalten Sie das gleiche Ergebnis wie beim 1. Skript:

 

 


 

Variablen/Platzhalter

Setze

Wenn

Bedingungen

 

 


cX-Webseite: http://www.clickexe.net