Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
gf_informatik:programmieren_i [2025-08-22 11:50] – [Aufgabe C1] hof | gf_informatik:programmieren_i [2025-09-07 17:13] (aktuell) – [5. Lösungen] hof | ||
---|---|---|---|
Zeile 22: | Zeile 22: | ||
Die heruntergeladene Datei muss noch in den richtigen Ordner verschoben werden, z.B. `1M/ | Die heruntergeladene Datei muss noch in den richtigen Ordner verschoben werden, z.B. `1M/ | ||
+ | |||
+ | Alternativ dazu kann ein Link kopiert werden und z.B. in einem Notiz-Dokument hinzugefügt werden. | ||
Zeile 53: | Zeile 55: | ||
* In jedem Kapitel gibt es ein **Set an Aufgaben**. Jedes Set ist mit einem Buchstaben gekennzeichnet. | * In jedem Kapitel gibt es ein **Set an Aufgaben**. Jedes Set ist mit einem Buchstaben gekennzeichnet. | ||
* Erstelle an einem Ort auf deinem Computer, der mit OneDrive synchronisiert wird, einen Ordner für die Informatik und darin einen Unterordner für dieses Thema, z.B.: `Informatik\Programmieren 1\` | * Erstelle an einem Ort auf deinem Computer, der mit OneDrive synchronisiert wird, einen Ordner für die Informatik und darin einen Unterordner für dieses Thema, z.B.: `Informatik\Programmieren 1\` | ||
- | * Erstelle für **jede Aufgabe eine eigene Datei**. Benenne diese nach dem folgenden Schema: Aufgabe B2 in Datei `aufgabe_B_2` | + | * Erstelle für **jede Aufgabe eine eigene Datei**. Benenne diese nach dem folgenden Schema: Aufgabe B2 in Datei `B2.py` |
* Für einige Aufgaben wird es **Musterlösungen** geben, aber nicht für alle. Falls du dir unsicher bist: Frage bei der Lehrperson nach. | * Für einige Aufgaben wird es **Musterlösungen** geben, aber nicht für alle. Falls du dir unsicher bist: Frage bei der Lehrperson nach. | ||
* Du bist **selbst verantwortlich**, | * Du bist **selbst verantwortlich**, | ||
Zeile 61: | Zeile 63: | ||
* Im Dossier gibt es viele kleine **Code-Beispiele**. Tippe diese jeweils //von Hand ab// und versuche, alles zu // | * Im Dossier gibt es viele kleine **Code-Beispiele**. Tippe diese jeweils //von Hand ab// und versuche, alles zu // | ||
* Verwende **Shortcuts**: | * Verwende **Shortcuts**: | ||
- | * Ctrl+S: Speichern | + | * Ctrl+Enter: Programm ausführen |
* Generell: Benutze die Maus so wenig wie möglich! | * Generell: Benutze die Maus so wenig wie möglich! | ||
Zeile 82: | Zeile 84: | ||
| `right(w)` | | `right(w)` | ||
| `left(w)` | | `left(w)` | ||
- | | `home()` | + | | `home()` |
| `hideturtle()` | | `hideturtle()` | ||
Zeile 88: | Zeile 90: | ||
^ Befehl ^ Erklärung^ | ^ Befehl ^ Erklärung^ | ||
- | | `teleport(-100, | + | | `teleport(-100, |
- | | `setpos(-100, | + | | `setpos(-100, |
- | | `setx(30)` | + | | `setx(30)` |
- | | `sety(30)` | + | | `sety(30)` |
| `up()` | Hebt den Stift, es wird also **nicht gezeichnet** | | | `up()` | Hebt den Stift, es wird also **nicht gezeichnet** | | ||
| `down()` | Setzt Stift wieder ab, es wird also wieder **gezeichnet** | | | `down()` | Setzt Stift wieder ab, es wird also wieder **gezeichnet** | | ||
Zeile 187: | Zeile 189: | ||
Just for fun: | Just for fun: | ||
- | * Kopiere den folgenden Code nach TigerPython (oder folge [[https:// | + | * Kopiere den folgenden Code nach TigerPython (oder folge [[https:// |
* Überlege dir bei jedem Codeblock, was dieser tut, und dokumentiere in einem Kommentar! | * Überlege dir bei jedem Codeblock, was dieser tut, und dokumentiere in einem Kommentar! | ||
* Vergleicht eure Voraussagen zu zweit. | * Vergleicht eure Voraussagen zu zweit. | ||
Zeile 197: | Zeile 199: | ||
# Turtle wird importiert und eine neue Turtle mit | # Turtle wird importiert und eine neue Turtle mit | ||
# dem Namen ' | # dem Namen ' | ||
- | from turtle | + | # TODO import |
fritz = Turtle() | fritz = Turtle() | ||
Zeile 236: | Zeile 238: | ||
{{: | {{: | ||
- | < | + | < |
++++Lösung| | ++++Lösung| | ||
Zeile 251: | Zeile 253: | ||
{{: | {{: | ||
- | < | + | < |
++++Lösung| | ++++Lösung| | ||
- | <code python c2.py> | + | <html><iframe src=" |
- | from turtle import* | + | </ |
- | + | </ | |
- | t = Turtle() | + | |
- | t.hideturtle() | + | |
- | # Hintergrund-, | ||
- | Screen().bgcolor(" | ||
- | t.fillcolor(" | ||
- | t.pencolor(" | ||
- | t.width(4) | ||
- | |||
- | # Sechs Ecken | ||
- | t.begin_fill() | ||
- | repeat 6: | ||
- | t.forward(40) | ||
- | t.right(120) | ||
- | t.forward(40) | ||
- | t.left(60) | ||
- | t.end_fill() | ||
- | </ | ||
++++ | ++++ | ||
</ | </ | ||
Zeile 282: | Zeile 267: | ||
{{: | {{: | ||
- | < | + | < |
++++Lösung| | ++++Lösung| | ||
< | < | ||
Zeile 294: | Zeile 279: | ||
===== - Lösungen ===== | ===== - Lösungen ===== | ||
- | < | + | < |
- | ++++Lösungen| | + | ++++Lösungen |
==== Aufgaben A ==== | ==== Aufgaben A ==== | ||
+ | ===== A2 ===== | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
- | <code python aufgabe_A2.py> | + | ===== A3 ===== |
- | from turtle import * | + | <html>< |
- | + | </ | |
- | fritz = Turtle() | + | </ |
- | fritz.forward(100) | + | ===== A4 ===== |
- | fritz.left(90) | + | |
- | fritz.forward(100) | + | |
- | fritz.left(90) | + | |
- | fritz.forward(100) | + | |
- | fritz.left(90) | + | |
- | fritz.forward(100) | + | |
- | fritz.left(90) | + | |
- | </ | + | |
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | ++++ | ||
+ | </ | ||
- | <code python aufgabe_A3.py> | + | <nodisp 1> |
- | from turtle import * | + | ++++Lösungen B| |
- | + | ||
- | fritz = Turtle() | + | |
- | + | ||
- | # Buchstabe: K | + | |
- | fritz.up() | + | |
- | fritz.setpos(-200, | + | |
- | fritz.down() | + | |
- | fritz.forward(200) | + | |
- | fritz.up() | + | |
- | fritz.setpos(-200, | + | |
- | fritz.down() | + | |
- | fritz.right(45) | + | |
- | fritz.forward(141) | + | |
- | fritz.up() | + | |
- | fritz.setpos(-200, | + | |
- | fritz.down() | + | |
- | fritz.right(90) | + | |
- | fritz.forward(141) | + | |
- | + | ||
- | # Buchstabe: S | + | |
- | fritz.up() | + | |
- | fritz.setpos(-50, | + | |
- | fritz.down() | + | |
- | fritz.left(45) | + | |
- | fritz.forward(100) | + | |
- | fritz.left(90) | + | |
- | fritz.forward(100) | + | |
- | fritz.left(90) | + | |
- | fritz.forward(100) | + | |
- | fritz.right(90) | + | |
- | fritz.forward(100) | + | |
- | fritz.right(90) | + | |
- | fritz.forward(100) | + | |
- | + | ||
- | # Buchstabe: R | + | |
- | fritz.up() | + | |
- | fritz.setpos(100, | + | |
- | fritz.down() | + | |
- | fritz.left(90) | + | |
- | fritz.forward(200) | + | |
- | fritz.right(90) | + | |
- | fritz.forward(100) | + | |
- | fritz.right(90) | + | |
- | fritz.forward(100) | + | |
- | fritz.right(90) | + | |
- | fritz.forward(100) | + | |
- | fritz.left(135) | + | |
- | fritz.forward(141) | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | <code python aufgabe_A4.py> | + | |
- | from turtle import * | + | |
- | + | ||
- | fritz = Turtle() | + | |
- | + | ||
- | repeat 4: | + | |
- | fritz.forward(100) | + | |
- | fritz.left(90) | + | |
- | </ | + | |
==== Aufgaben B ==== | ==== Aufgaben B ==== | ||
+ | ===== B1 ===== | ||
- | <code python aufgabe_B1.py> | + | <html>< |
- | from turtle import* | + | </ |
+ | </ | ||
- | matteo | + | ===== B2 ===== |
- | repeat 2: | + | < |
- | matteo.dot(20) | + | </ |
- | matteo.right(45) | + | </html> |
- | | + | |
- | matteo.dot(20) | + | |
- | matteo.right(90) | + | |
- | matteo.forward(150) | + | |
- | matteo.left(90+45) | + | |
- | matteo.dot(20) | + | |
- | </code> | + | |
+ | ===== B3 ===== | ||
- | <code python aufgabe_B2.py> | + | <html>< |
- | from turtle import * | + | </ |
+ | </ | ||
- | matteo = Turtle() | ||
- | fritz.up() | + | ===== B4 ===== |
- | matteo.setX(-300) | + | |
- | fritz.down() | + | |
- | matteo.circle(-300, | + | < |
- | matteo.circle(-150, 180) | + | </iframe> |
- | matteo.circle(-150, 180) | + | </html> |
- | </code> | + | |
+ | ===== B5 ===== | ||
- | <code python aufgabe_B3.py> | + | <html>< |
- | from turtle import * | + | </ |
+ | </ | ||
- | matteo = Turtle() | ||
- | |||
- | matteo.circle(-100, | ||
- | matteo.circle(-200, | ||
- | matteo.circle(-400, | ||
- | matteo.home() | ||
- | matteo.circle(100, | ||
- | matteo.circle(200, | ||
- | matteo.circle(400, | ||
- | </ | ||
- | |||
- | <code python aufgabe_B4.py> | ||
- | from turtle import * | ||
- | |||
- | anna = Turtle() | ||
- | anna.hideturtle() | ||
- | |||
- | # 1 | ||
- | fritz.up() | ||
- | anna.setpos(-350, | ||
- | fritz.down() | ||
- | |||
- | repeat 3: | ||
- | anna.forward(200) | ||
- | anna.right(120) | ||
- | |||
- | # 2 | ||
- | fritz.up() | ||
- | anna.setpos(-100, | ||
- | fritz.down() | ||
- | |||
- | repeat 6: | ||
- | anna.forward(100) | ||
- | anna.right(60) | ||
- | |||
- | # 3 | ||
- | fritz.up() | ||
- | anna.setpos(150, | ||
- | fritz.down() | ||
- | |||
- | repeat 2: | ||
- | anna.forward(100) | ||
- | anna.right(90) | ||
- | repeat 3: | ||
- | anna.forward(100) | ||
- | anna.left(90) | ||
- | </ | ||
- | |||
- | <code python aufgabe_B5.py> | ||
- | from turtle import * | ||
- | |||
- | josef = Turtle() | ||
- | # | ||
- | fritz.up() | ||
- | josef.setpos(350, | ||
- | fritz.down() | ||
- | |||
- | |||
- | m = 200 | ||
- | l = m*sqrt(2) | ||
- | s = m/sqrt(2) | ||
- | |||
- | josef.left(45) | ||
- | josef.forward(l) | ||
- | repeat 2: | ||
- | josef.right(90) | ||
- | josef.forward(s) | ||
- | josef.right(90) | ||
- | josef.forward(l) | ||
- | josef.right(135) | ||
- | josef.forward(m) | ||
- | repeat 3: | ||
- | josef.right(90) | ||
- | josef.forward(m) | ||
- | </ | ||
++++ | ++++ | ||
</ | </ | ||