Programmieren Übung! Meine ersten Schritte als ProgrammiererIn! Stefan Podlipnig, TU Wien
Beispiel 1 Programmierung - Übung! 2 Geben Sie folgende Anweisungen ein size(300, 200); rect(100, 50, 100, 100); Ausgabe Erweitern sie den Sketch, damit Sie in etwa folgende Ausgabe erhalten size(300, 200); rect(100, 50, 100, 100); line(100, 50, 200, 150); line(200, 50, 100, 150);
Beispiel 2 Schreiben Sie einen Sketch, der in etwa folgende Ausgabe erzeugt Hinweise Fenstergröße: 400 200 Hilfreiche Befehle: fill, rect, ellipse Hilfreiche Variablen: width, height Programmierung - Übung! 3
Beispiel 2 Mögliche Lösungen Programmierung - Übung! 4 Einfach (fixe Werte) size(400, 200); fill(100); rect(100, 50, 200, 100); fill(255); ellipse(200, 100, 200, 100); Mit Variablen size(400, 200); fill(100); rect(width/4, height/4, width/2, height/2); fill(255); ellipse(width/2, height/2, width/2, height/2);
Beispiel 3 Schreiben Sie folgenden Sketch Vereinbaren Sie eine Integer-Variable value und initialisieren Sie diese Variable mit dem Wert 100 Zeichnen Sie ein Rechteck Der linke obere Eckpunkt wird durch (value, value) festgelegt Die Breite entspricht dem dreifachen Wert von value und die Höhe dem doppelten Wert von value Zeichnen Sie eine Ellipse Hinweise Mittelpunkt entspricht dem Mittelpunkt der Zeichenfläche Breite entspricht value Höhe entspricht dem doppelten Wert von value Fenstergröße z.b. 500 400 Hilfreiche Befehle: rect, ellipse Hilfreiche Variablen: width, height Programmierung - Übung! 5
Beispiel 3 Mögliche Lösung Programmierung - Übung! 6 size(500, 400); int value = 100; rect(value, value, value * 3, value * 2); ellipse(width/2, height/2, value, value * 2);
Beispiel 4 Erweitern Sie den Sketch aus Beispiel 3 um folgende Punkte Erzeugen von zwei ganzzahligen Zufallszahlen a und b im Intervall [0, 9] Wenn a > b, dann wird das Rechteck gezeichnet Ansonsten wird die Ellipse gezeichnet Hinweis: Lesen Sie die Beschreibung der Funktion random! Mögliche Lösung size(500, 400); int value = 100; int a = int(random(10)); int b = int(random(10)); if (a > b) { rect(value, value, value * 3, value * 2); else { ellipse(width/2, height/2, value, value * 2); Programmierung - Übung! 7
Beispiel 5 Schreiben Sie folgenden Sketch Erzeugen von drei ganzzahligen Zufallszahlen a, b, und c im Intervall [0, 9] Wenn a das Maximum der drei Zahlen ist, dann wird die Füllfarbe für Figuren auf die Graustufe 0 gesetzt Wenn b das Maximum der drei Zahlen ist, dann wird die Füllfarbe für Figuren auf die Graustufe 64 gesetzt Wenn c das Maximum der drei Zahlen ist, dann wird die Füllfarbe für Figuren auf die Graustufe 128 gesetzt Danach wird eine Ellipse mit Mittelpunkt in (100,100) und einer Breite und einer Höhe von 100 Punkten gezeichnet Hinweise Fenstergröße: 200 200 Hilfreiche Befehle: fill, ellipse Verwenden Sie nur > zum Vergleichen D.h. wenn zwei Zahlen gleich sind, dann wird die zweite als Maximum der zwei Zahlen betrachtet Programmierung - Übung! 8
Programmierung - Übung! 9 size(200, 200); int a = int(random(10)); int b = int(random(10)); int c = int(random(10)); if (a > b) { if (a > c) { fill(0); else { fill(128); else { if (b > c) { fill(64); else { fill(128); ellipse(100, 100, 100, 100); Beispiel 5 Mögliche Lösung size(200, 200); int a = int(random(10)); int b = int(random(10)); int c = int(random(10)); if (a > b) if (a > c) fill(0); else fill(128); else if (b > c) fill(64); else fill(128); ellipse(100, 100, 100, 100);
Beispiel 5 Alternative Lösung Programmierung - Übung! 10 size(200, 200); int a = int(random(10)); int b = int(random(10)); int c = int(random(10)); int maximum = max(a, b, c); if (maximum == a) fill(0); if (maximum == b) fill(64); if (maximum == c) fill(128); ellipse(100, 100, 100, 100); Funktion max verwenden. Maximum beinhaltet den Wert des Maximums! Jetzt mit == vergleichen.
Beispiel 6 Schreiben Sie folgenden Sketch Erzeugen Sie eine ganzzahlige Zufallszahl im Intervall [1, 10] Berechnen Sie die Summe der Zahlen von 1 bis einschließlich der Zufallszahl Geben Sie diese Summe in der Kommandozeile aus Mögliche Lösung int rand = int(random(1, 11)); int sum = 0; for (int i = 1; i <= rand; i++) { sum += i; print(sum); Programmierung - Übung! 11
Beispiel 7 Schreiben Sie einen Sketch der in etwa folgende Ausgabe produziert Hinweise Fenstergröße: 600 600 10 konzentrische Kreise Hilfreiche Befehle background, fill, ellipse Mögliche Lösung (einfach, fixe Werte) size(600, 600); int size = 50; background(0); for (int x = 10; x > 0; x--) { fill(255 - x * 20); ellipse(width/2, height/2, x * size, x * size); Programmierung - Übung! 12
Beispiel 8 Schreiben Sie einen Sketch der in etwa folgende Ausgabe produziert Hinweise zur Abbildung 480 240, erste Ellipse bei (30, 30) mit Länge und Breite von 30 Mögliche Lösung (einfach, fixe Werte) size(480, 240); for (int y = 30; y < height; y += 60) { for (int x = 30; x < width; x += 60) { ellipse(x, y, 30, 30); line(x, y, width/2, height/2); Programmierung - Übung! 13