Graphic Coding — Variablen & Bedingungen — Woche 2

Zurück zur Übersicht, Aufgaben

Variablen

Eine Variable ist Zeiger zu einer Speicherstelle im Computer. Man kann sich eine Variable als Platzhalter vorstellen, als eine Schublade, in der Daten zwischen gelagert werden. Computer verarbeiten immer nur eine Anweisung pro Zeit; mit Hilfe von Variablen können wir also Informationen an einem Schritt im Programm speichern, und an einem späteren wieder benutzen.

Eine Variable hat

Datentypen

Jede Variable hat einen bestimmten Typ, den wir vor der Benutzung explizit festlegen müssen. Dieser ist unveränderbar und bestimmt darüber, welche Daten wir in der Variable speichern können.
Wir werden am häufigsten int, float und boolean verwenden. Alle hier genannten Typen sind sogenannte primitive Datentypen. Später werden wir noch andere Datentypen kennen lernen.

In Processing wird eine Variable definiert, in dem zunächst der Typ, dann der Name und schließlich der Anfangswert angegeben werden.

	byte i = -14;                 // byte: Ganze Zahlen von -128 bis 127
	int count = 0;                // int: Ganze Zahlen von -2.147.483.648 bis 2.147.483.647
	float x = 0.4;                // float: Gleitkommazahlen
	boolean niceWeather = true;   // boolean: wahr (true) oder falsch (false)
	char letter = 'a';            // char: Ein Zeichen

Nachdem wir eine Variable deklariert (also Typ und Name festgelegt) haben, können wir die Variable im Programm beliebig oft verwenden und auch ändern.
Hierzu muss man nur noch den Namen angeben, zum Beispiel:

	int x = 0;
	line(x, 100, x, 200);
	x = 50;
	line(x, 100, x, 200);

Die Änderung einer Variable geschieht über eine Zuweisung: variable = neuer Wert, z.B. x = 20; Dabei muss der neue Wert immer vom gleichen Typ wie die Variable sein.

Ausdrücke

Computer wurden ursprünglich dafür erfunden, um uns Menschen Rechenarbeit abzunehmen (daher auch "Rechner"). Auch heute sind Berechnungen die grundlegende und in der Programmierung eine der wichtigsten Aufgaben. Um arithmetische Aufgaben zu berechnen, verwenden wir Ausdrücke.

	int a = 3;                    // a wird als int definiert, und der Anfangswert 3 zugewiesen
	int b = 5;                    // b wird der Wert 5 zugewiesen
	int c = a + b;                // c ist nach dieser Anweisung 8
	a = b * 2;                    // a ist hiernach 10
	c = a + b;                    // c ist hiernach 15

Ausdrücke können auch direkt in Anweisungen eingesetzt werden:

	int a = 100;
	int b = -20;
	line(a * 2, 50, a + b, a);

Bedingungen

Um den Programmfluß zu steuern, sind Bedingungen notwendig. Eine Prüfung entscheidet, ob eine Bedingung erfüllt ist und bestimmte Anweisungen ausgeführt werden sollen, oder nicht. Die Bedingung kann entweder wahr oder falsch (true oder false) sein.

	if (3 > 5) {                         // Wenn 3 größer als 5 ist,
		line(10, 10, 100, 100);      // dann zeichne die Linie.
	}

Mit Hilfe dieser if-Abfrage prüfen wir also bestimmte Bedingungen. Die Anweisungen innerhalb der geschweiften Klammern werden abhängig von der Prüfung ausgeführt.
Sollen im Falle, dass die Bedingung falsch ist andere Anweisungen ausgeführt werden, so können wir else verwenden:

	int x = 10;
	x = x + 5;
	if (x > 12) {                        // Wenn x größer als 12 ist,
		ellipse(100, 100, 50, 50);   // dann zeichne eine Ellipse
	}
	else {                               // ansonsten (also wenn x kleiner oder gleich 12 ist)
		rect(100, 100, 150, 150);    // zeichne ein Rechteck.
	}

Im Folgenden die relationalen Operatoren:

< (kleiner als)
> (größer als)
<= (kleiner gleich)
>= (größer gleich)
== (gleich), Vorsicht: Hier müssen zwei Gleichheitszeichen stehen, nicht nur eins (denn das wird bereits für die Zuweisung verwendet)
!= (ungleich)

Processing-Variablen

Processing definiert einige spezielle Variablen, die wir direkt verwenden können, ohne sie selbst deklarieren zu müssen. Dadurch hilft Processing uns einige häufig wiederkehrende Aufgaben zu vereinfachen.

Variablen in draw()

Um eine Variable fortlaufend zu verändern, muss diese Zuweisung in der draw-Funktion stehen. Die Deklaration der Variable aber muss außerhalb von setup und draw stehen.

Wie können einer Variable auch einen Ausdruck zuweisen, in der der Wert der Variable selbst verwendet wird (wie im Summenbeispiel aus der Vorlesung: sum = sum + 3)

	int y = 0;
	
	void setup() {
		size(200, 200);
	}
	
	void draw() {
		line(0, y, width, y);
		y = y + 1;
	}

Der obige Code ist die Lösung für Aufgabe B6.