Operationen

Einleitung

Aus der Mathematik kennst du den Begriff der Operationen bereits. Operationen bei Zahlen sind z.B. die Addition, die Subtraktion, die Multiplikation und die Division.

Wenn man programmiert braucht man diese Operationen auch. Es gibt aber noch mehr!
Genau genommen gibt es für jeden Datentyp (also auch für Zeichenketten) genau definierte Operationen.

In diesem Kapitel lernst du die Operationen für Zahlen und Zeichenketten kennen und anwenden.
Du lernst auch, wie du aus einer Zeichenkette eine Zahl machen kannst und umgekehrt, wie du eine Zahl in eine Zeichenkette umwandeln kannst.
Ausserdem wirst du viele nützliche und interessante kleine Programme schreiben!

Inhalt:
Operationen mit Zahlen
Operationen mit Zeichenketten
Datentypumwandlung

Operationen mit Zahlen I

Du kannst die üblichen mathematischen Operatoren verwenden. Sie werden aber z.T. anders geschrieben als von Hand:

+ Addition
- Subtraktion
* Multipliktion
/ Division

Das Resultat der Operation kann entweder mit einer Zuweisung in eine Variable gespeichert werden oder direkt ausgegeben werden.

a = 3+5; b = a-4; c = a*b; d = c/2; //d hat den Wert 16 output(a*b); //gibt 32 aus

Du kannst auch mehrere Operatoren in einer Reihe notieren. Es gilt dann die übliche Punkt-vor-Strich-Regel. Du kannst auch Klammern setzen.

a = 2+6/2; //a hat den Wert 5 b = (2+6)/2; //h bat den Wert 4

Operationen mit Zahlen II

Wahrscheinlich kennst du die Modulo-Division nicht. Bei der Modulo-Division werden zwei Werte dividiert; das Ergebnis ist aber der Restwert der Division.
Dafür wird das Zeichen % verwendet - hat aber nichts mit Prozent zu tun!

d = 17/5; //d hat den Wert 3.4 r = 17%5; //r hat den Wert 2

Es gibt nützliche Abkürzungen für häufig verwendete Operationen. Oft kommt es vor, dass man eine Zahl um 1 erhöhen muss. Du kannst das so schreiben:

z = z+1; //erhöht z um 1 //oder auch abgekürzt: z++; //erhöht z um 1

Das selbe funktioniert auch mit der Verkleinerung um 1:

z = z-1; //verkleinert um 1 z--; //verkleinert auch um 1

Weitere nützliche Abkürzungen sind:

z = z+3; z += 3; //addiert die Zahl zu z z = z-5; z -= 5; //subtrahiert die Zahl von z

Operationen mit Zeichenketten

Für Zeichenketten gibt es nur eine Operation. Die Zeichenkettenverknüpfung. Dabei können zwei Zeichenketten mit dem +-Operator zusammengehängt werden.

a='Hallo '; b='Welt!'; satz = a+b; //satz hat nun den Wert 'Hallo Welt!' output(a+'du!'); //gibt 'Hallo du!' aus

Zeichenketten in Zahlen umwandeln

Das Problem von input() und von prompt() ist, dass sie eingegebene Zahlen als Zeichenketten zurückgeben.
Folgender Code führt deshalb zu einem Fehler:

z = input(); //Eingabe z.B. 3 z = z+z+z; output(z); //gibt 333 aus

Man muss die Zeichenkette zuerst in eine Zahl umwandeln.

s = '1234'; //s ist eine Zeichenkette s = Number(s); //s ist eine Zahl

Das obige Beispiel muss also so abgewandelt werden:

z = input(); //Eingabe z.B. 3 z = Number(z); //wandelt z in eine Zahl um z = z+z+z; output(z); //gibt 9 aus
Die Umwandlung funktioniert nur, wenn in der Zeichenkette nur Ziffern enthalten sind. Sonst gibt Number() den Wert NaN zurück, was "Not a Number" bedeutet - also "Keine Zahl".

Zahlen in Zeichenketten umwandeln

Auch umgekehrt kann es zu Problemen kommen. Deshalb kann man mit der Funktion String() Zahlen in Zeichenketten umwandeln:

z = 1234; s = String(z); //z ist die Zahl 1234, s der String '1234'