Fragen
- Welcher Code ist korrekt? (Mehrere Antworten korrekt)
if(a != c){ }
if(true){ }
if(a <= b){ }
if(a % b = 0){ }
if(){ }
- Gegeben ist folgender Code. Welche(s) Zeichen muss an die Stelle ???, damit das Programm die richtige Ausgabe liefert?
int alter = 16;
if (alter ??? 18) {
println("Volljährig");
} else {
println("Minderjährig");
}
- Welchen Datentyp muss die BEDINGUNG haben? Warum?
- Warum ist es wichtig die Zeilen innerhalb einen Code-Blocks einzurücken?
- Wie viele else-Teile kann ein if-Teil haben?
Aufgaben
1. Einfaches If
Schreibe jeweils kurze Programme (statischer Modus) für folgende Bedingungen und teste die Programme mit verschiedenen Variablenwerten:
- Gegeben sei eine int-Variable foo. Wenn diese größer als 50 ist, soll "OK" ausgegeben werden.
- Gegeben seien zwei int-Variablen a und b. Wenn a um mindestens 10 größer ist als b, soll "a gewinnt" ausgegeben werden.
- Gegeben seien vier float-Variablen a, b, c, d. Wenn die Summe von a und b größer ist als die Summe von c und d, dann soll "a/b gewinnen" ausgegeben werden
2. If und Else
Schreibe jeweils kurze Programme (statischer Modus) für folgende Bedingungen und teste die Programme mit verschiedenen Variablenwerten:
- Gegeben seien zwei int-Variablen z1 und z2. Wenn die zwei Zahlen gleich sind, soll "gleich" ausgegeben werden, sonst "ungleich".
- Löse die obige Aufgabe, indem du im ersten If-Teil "ungleich" ausgibst und im Else-Teil "gleich". Passe dazu die Bedingung an.
- Gegeben sei die int-Variable zahl. Wenn die Zahl gerade ist, soll "gerade" ausgegeben werden, sonst "ungerade".
3. Verschachteltes If
Gegeben seien drei int-Variablen a, b und x. Wenn x zwischen den Zahlen a und b liegt, sollst du "drin" auf der Konsole ausgeben. Geh davon aus, dass a kleiner als b ist!
Schreibe zunächst eine If-Anweisung und dann eine zweite innerhalb der ersten.
4. Klausurnoten
Du hast eine Punktzahl gegeben:
Schreibe ein Programm, dass bei einer Punktzahl von mindestens 5 ausgibt:
Bestanden!
Auf Wiedersehen.
Bei 4 oder weniger Punkten, wird ausgegeben:
Leider durchgefallen :(
Auf Wiedersehen.
Hinweis: Verwende if-else und vermeide, dass Code-Zeilen mit der gleichen Anweisung zwei Mal auftreten.
Im nächsten Schritt erweitere dein Programm, so dass bei verschiedenen Punktständen jeweils folgendes ausgegeben wird:
0 - 4: Durchgefallen
5 - 9: Bestanden
10 - 15: Bestanden mit Auszeichnung
Teste dein Programm mit den Werten 0, 15 und 25.
5. Stehenbleiben
Ändere das folgende Programm derart, dass der Ball stehenbleibt, sobald er die Mitte erreicht.
int x = 0;
void draw() {
background(255);
ellipse(x, 50, 20, 20);
x++;
if (x > width) {
x = 0;
}
}
6. Wachsen
Ein mittig platzierter Kreis wird stetig größer, bis er den Rand des Fensters erreicht, dann beginnt er wieder als ein kleiner Kreis zu wachsen.
7. Mutierender Mousezeiger
Folgendes Programm erzeugt einen Mauszeiger in Form eines Kreises. Verändere das Programm derart, dass in der rechten Bildschirmhäfte der Mauszeiger zur gefüllten, schwarzen Box wird (mittig zum Mauszeiger) und in der linken wieder zum leeren Kreis.
void draw() {
background(255);
ellipse(mouseX, mouseY, 20, 20);
}
8. Timer
Du möchtest ein Programm schreiben, dass jede Sekunde einen Punkt auf die Konsole schreibt (verwende print statt println), d.h. nach 10 Sekunden siehst du:
Schreibe zunächst ein Programm, das alle 60 "Zyklen" einen Punkt schreibt. Ein Zyklus bedeutet, dass ein Mal draw() aufgerufen wurde. Verwende eine Zählervariable:
Hinweis: Je nach Rechner und aktueller Rechnerbelastung wir draw() auch seltener als 60 Mal aufgerufen. Die Systemvariable frameRate (float) gibt an, wie oft draw() aktuell pro Sekunde aufgerufen wird. Mithilfe der Funktion frameRate() kannst du eine bestimmte Framerate einstellen. Nutze dies, um 1x pro Sekunde einen Punkt zu malen.
9. Klausurnoten (if-else-if)
Löse eine ähnliche Aufgabe wie die oben mit if-else-if. Du hast eine Punktzahl gegeben:
Schreibe den Code, so dass bei verschiedenen Punktständen ausgegeben wird, wie die Klausur ausfällt:
0 - 10: Durchgefallen
11 - 20: Naja
21 - 30: Mittelgut
31 - 40: Gut
41 - 50: Super
Teste dein Programm mit den Werten 0, 15, 25, 35, 45.