CUBE.CODES: Besondere (Rechen-)Ausdrücke

Aus MINT.lentner.net
Zur Navigation springen Zur Suche springen

Zuweisungen

Bei einer einfachen Zuweisung steht rechts ein Rechenausdruck und links eine Variable:

i=x+2;

Die Zuweisung speichert einfach das Ergebnis des rechten Rechenausdrucks in der linken Variablen ab.

Häufig wird die Zahl in einer Variablen durch eine Rechnung verändert und danach in derselben Variablen wieder abgespeichert.

i=i+3;

... hier wird also der Inhalt von i um 3 erhöht. Diese Anwendung kommt so häufig vor, dass sich dafür eine Abkürzung eingebürgert hat:

i+=3;

Insbesondere bei langen Variablennamen ist dies für Programmierer sehr angenehm. Insbesondere ist sie auch auf andere Rechenoperationen übertragbar:

RechteObergrenze = RechteObergrenze + 0.1;
RechteObergrenze += 0.1;
Rechteck.Umfang.Strichdicke -= 1;
Flaeche*=2;
Nenner /=2;

vergleiche ...

Rechteck.Umfang.Strichdicke = Rechteck.Umfang.Strichdicke - 1;
Flaeche = Flaeche*2;
Nenner = Nenner/2;

Die Anweisung ...

x = x + 1;
x+=1;

... wird sooft gebraucht, dass sich dafür eine eigene Formulierung eingebürgert hat:

++x;

oder auch ...

x++;

Zuweisungen als Werte wieder in anderen Formeln verwenden

Grundsätzlich kann man Zuweisungen in JavaScript jederzeit wieder als Rechenausdrücke in anderen Termen verwenden:

x = (i=i+3) * 2;

Der Inhalt von i wird also um 3 erhöht und dieser Wert wird auch gleich in der Rechnung benutzt, die x berechnet!

An dieser Stelle unerscheiden sich auch die beiden Zuweisungen ++i und i++.

Bei ...

++i;

wird i zuerst erhöht und dann verwendet.

Bei ...

i++;

wird i zuerst verwendet und dann erhöht.

i=56;
UI.log(++i);
UI.log(i++);
UI.log(i);

führt zu folgender Ausgabe:

[09:25:39] Program starting ...
[09:25:39] Program running ...
57
57
58
[09:25:39] Program finished successfully

Rechenoperationen

Die üblichen Rechenoperationen decken sich mit den Schreibweisen der Tabellenkalkulation ...

Besonders in JavaScript sind:

rest = z % 3;

% ermittelt den ganzzahligen Rest bei Teilung z durch 3.

Mit ...

zahl = (i==2)?3:i+1;

formuliert man Fallunterscheidungen. Falls die Bedingung (i==2) erfüllt ist, ist der Wert des Ausdrucks 3 sonst i+1.

Typisch für ein "Zählen im Kreis" ist die Zeile:

player = (player==4)?1:player+1;

Betrachte:

player = 1;
for(runde=1; runde<=100; ++runde)
  {
   UI.log("Runde: " + runde + ", Spieler: " + player);
   player=(player==4)?1:player+1;
  }

führt zur Ausgabe ...

[11:47:27] Program starting ...
[11:47:27] Program running ...
Runde: 1, Spieler: 1
Runde: 2, Spieler: 2
Runde: 3, Spieler: 3
Runde: 4, Spieler: 4
Runde: 5, Spieler: 1
Runde: 6, Spieler: 2
Runde: 7, Spieler: 3
Runde: 8, Spieler: 4
Runde: 9, Spieler: 1
Runde: 10, Spieler: 2
[11:47:27] Program finished successfully

Vergleiche, logische Verknüpfungen

Da das einfache = für die Zuweisung benutzt wird, muss für mathematische Vergleiche ein anderes Symbol verwendet werden:

player == 4

ist also der Vergleich, "ob in player der Wert 4 abgespeichert ist".

player!=4

bedeutet: Ist player ungleich 4.

i<=3

bedeutet i kleiner oder gleich 3.

Die logischen Verknüpfungen und und oder lauten in JavaScript-Slang:

i<3 || i>10

bedeutet i<3 oder i>10, also das Intervall R\[3;10].

i>0 && i<3

bedeutet i>0 und i<3, also das Intervall ]0; 3[.