Lernpfad:Einführung in Processing/3: Unterschied zwischen den Versionen
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 8: | Zeile 8: | ||
Wir definieren einen Algorithmus durch seine Eingabe und die erwartete Ausgabe. Zum Beispiel | Wir definieren einen Algorithmus durch seine Eingabe und die erwartete Ausgabe. Zum Beispiel | ||
< | <syntaxhighlight lang="java"> | ||
Eingabe: zwei ganze Zahlen (a und b) | Eingabe: zwei ganze Zahlen (a und b) | ||
Ausgabe: die Summe der Zahlen | Ausgabe: die Summe der Zahlen | ||
</ | </syntaxhighlight> | ||
Dieser Algorithmus lässt sich in einer ersten Version in {{Processing}} so programmieren: | Dieser Algorithmus lässt sich in einer ersten Version in {{Processing}} so programmieren: | ||
Zeile 30: | Zeile 30: | ||
Die ist sicher aufgefallen, dass sich beim Start ein kleines Fenster geöffnet hat. {{Processing}} ist auf Grafikprogrammierung ausgelegt. In dieses Fenster kannst du mit den Befehlen von {{Processing}} zeichnen und so "grafische Algorithmen" programmieren. Hier ist ein Beispiel: | Die ist sicher aufgefallen, dass sich beim Start ein kleines Fenster geöffnet hat. {{Processing}} ist auf Grafikprogrammierung ausgelegt. In dieses Fenster kannst du mit den Befehlen von {{Processing}} zeichnen und so "grafische Algorithmen" programmieren. Hier ist ein Beispiel: | ||
< | <syntaxhighlight lang="java"> | ||
Eingabe: keine | Eingabe: keine | ||
Ausgabe: Zeichne ein Quadrat der Kantenlänge vierzig | Ausgabe: Zeichne ein Quadrat der Kantenlänge vierzig | ||
</ | </syntaxhighlight> | ||
<syntaxhighlight lang="java" line="1"> | <syntaxhighlight lang="java" line="1"> | ||
Zeile 45: | Zeile 45: | ||
# Probier den Algorithmus in {{Processing}} aus. | # Probier den Algorithmus in {{Processing}} aus. | ||
# Mach dir klar, was die Zahlen in den <code>line</code>-Befehlen bedeuten. Wofür stehen die Zahlenpaare? | # Mach dir klar, was die Zahlen in den <code>line</code>-Befehlen bedeuten. Wofür stehen die Zahlenpaare? | ||
# Erstelle einen Algorithmus zu dieser Definition: | # Erstelle einen Algorithmus zu dieser Definition: <syntaxhighlight lang="java"> | ||
< | Eingabe: zwei Zahlen | ||
Ausgabe: ein Rechteck mit den angegebenen Kantenlängen</ | Ausgabe: ein Rechteck mit den angegebenen Kantenlängen | ||
</syntaxhighlight> | |||
{{Aufgabe:End}} | {{Aufgabe:End}} | ||
{{Lösung:Start}} | {{Lösung:Start}} |
Version vom 21. November 2021, 22:19 Uhr
- Grundstruktur eines Processing-Programms.
- Verwendung von Befehlen in Java.
Wir definieren einen Algorithmus durch seine Eingabe und die erwartete Ausgabe. Zum Beispiel
Eingabe: zwei ganze Zahlen (a und b)
Ausgabe: die Summe der Zahlen
Dieser Algorithmus lässt sich in einer ersten Version in Processing so programmieren:
int a = 5;
int b = 3;
print(a + b);
Du siehst die Ausgabe der Summe im Textfenster unten. Verändere die Zahlen für a
und b
und starte das Programm erneut.
Die ist sicher aufgefallen, dass sich beim Start ein kleines Fenster geöffnet hat. Processing ist auf Grafikprogrammierung ausgelegt. In dieses Fenster kannst du mit den Befehlen von Processing zeichnen und so "grafische Algorithmen" programmieren. Hier ist ein Beispiel:
Eingabe: keine
Ausgabe: Zeichne ein Quadrat der Kantenlänge vierzig
line(0,0, 40,0);
line(40,0, 40,40);
line(40,40, 0,40);
line(0,40, 0,0);
- Probier den Algorithmus in Processing aus.
- Mach dir klar, was die Zahlen in den
line
-Befehlen bedeuten. Wofür stehen die Zahlenpaare? - Erstelle einen Algorithmus zu dieser Definition:
Eingabe: zwei Zahlen Ausgabe: ein Rechteck mit den angegebenen Kantenlängen
Die Zahlenpaare stehen für die Anfangs- und Endkoordinaten der zu zeichnenden Linie. Das Zeichenfenster besitzt also ein Koordinatensystem, in dem die Koordinaten Punkte im Fenster darstellen.
Mit diesem Wissen lässt sich das Programm umschreiben, indem die passenden Koordinaten gegen die Eingaben a
bzw. b
getauscht werden.
int a = 40;
int b = 80;
line(0,0, a,0);
line(a,0, a,b);
line(a,b, 0,b);
line(0,b, 0,0);
int a = 40;
int b = 80;
int x = 10;
int y = 20;
line(x,y, x+a,y);
line(x+a,y, x+a,y+b);
line(x+a,y+b, x,y+b);
line(x,y+b, x,y);