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_ii [2026-04-28 17:44] – hof | gf_informatik:programmieren_ii [2026-04-28 18:02] (aktuell) – hof | ||
|---|---|---|---|
| Zeile 531: | Zeile 531: | ||
| < | < | ||
| i = 0 | i = 0 | ||
| - | while i < 10: | + | while i < 10: # oder 100 |
| print(i) | print(i) | ||
| i = i + 1 | i = i + 1 | ||
| Zeile 569: | Zeile 569: | ||
| print(f" | print(f" | ||
| - | print(f" | + | print(f" |
| print(f" | print(f" | ||
| print(f" | print(f" | ||
| Zeile 603: | Zeile 603: | ||
| === Aufgabe C1 === | === Aufgabe C1 === | ||
| - | Lasse eine Turtle ein Quadrat ablaufen, diesmal aber mithilfe der **while**-Schleife. | + | < |
| + | <div slot=" | ||
| + | Lasse eine Turtle ein Quadrat ablaufen, diesmal aber mithilfe der < | ||
| + | </ | ||
| + | < | ||
| + | from turtle import * | ||
| + | turi = Turtle() | ||
| + | turi.hideturtle() | ||
| + | |||
| + | sides = 4 | ||
| + | while sides > 0: | ||
| + | turi.forward(100) | ||
| + | turi.left(90) | ||
| + | sides = sides - 1 | ||
| + | </ | ||
| + | </ | ||
| === Aufgabe C2 === | === Aufgabe C2 === | ||
| Zeile 620: | Zeile 636: | ||
| ++++ | ++++ | ||
| </ | </ | ||
| - | === Aufgabe C3 === | ||
| - | Zeichne folgende Figur: | + | <bottom-exercise |
| - | + | <template data-type="solution"> | |
| - | {{ : gf_informatik: | + | |
| - | + | ||
| - | === Aufgabe C4 (optional) === | + | |
| - | + | ||
| - | Zeichne folgende Figur: | + | |
| - | + | ||
| - | {{ : gf_informatik: | + | |
| - | + | ||
| - | === Zusatzaufgabe C (Uhr) === | + | |
| - | + | ||
| - | Nutze TurtleGraphics, | + | |
| - | * SBB-Uhr: https:// | + | |
| - | * Digitaluhr: https:// | + | |
| - | + | ||
| - | Schicke das Endresultat per Teams der Lehrperson. | + | |
| - | + | ||
| - | <nodisp 1> | + | |
| - | ++++Lösungen Aufgaben C| | + | |
| - | + | ||
| - | ==== Aufgaben C ==== | + | |
| - | + | ||
| - | === Aufgabe C1 === | + | |
| - | + | ||
| - | < | + | |
| - | from turtle import * | + | |
| - | turi = Turtle() | + | |
| - | turi.hideturtle() | + | |
| - | + | ||
| - | sides = 4 | + | |
| - | while sides > 0: | + | |
| - | turi.forward(100) | + | |
| - | turi.left(90) | + | |
| - | sides = sides - 1 | + | |
| - | </bottom-editor> | + | |
| - | + | ||
| - | === Aufgabe C2 === | + | |
| - | + | ||
| - | < | + | |
| from turtle import * | from turtle import * | ||
| Zeile 680: | Zeile 657: | ||
| monika.left(90) | monika.left(90) | ||
| length = length - 2 | length = length - 2 | ||
| - | </ | + | </ |
| + | </ | ||
| === Aufgabe C3 === | === Aufgabe C3 === | ||
| - | < | + | Zeichne folgende Figur: |
| + | |||
| + | {{ : gf_informatik: | ||
| + | |||
| + | <bottom-exercise id=" | ||
| + | < | ||
| from turtle import * | from turtle import * | ||
| t = Turtle() | t = Turtle() | ||
| Zeile 693: | Zeile 676: | ||
| t.circle(radius, | t.circle(radius, | ||
| radius = radius - 4 | radius = radius - 4 | ||
| - | </ | + | </ |
| + | </ | ||
| - | === Aufgabe C4 === | + | === Aufgabe C4 (optional) |
| - | < | + | Zeichne folgende Figur: |
| + | |||
| + | {{ : gf_informatik: | ||
| + | |||
| + | <bottom-exercise id=" | ||
| + | < | ||
| from turtle import * | from turtle import * | ||
| Zeile 713: | Zeile 702: | ||
| kurt.left(90) | kurt.left(90) | ||
| side = side - step_size | side = side - step_size | ||
| - | </ | + | </ |
| - | ++++ | + | </ |
| - | </nodisp> | + | |
| + | === Zusatzaufgabe C (Uhr) === | ||
| + | |||
| + | Nutze TurtleGraphics, | ||
| + | * SBB-Uhr: https:// | ||
| + | * Digitaluhr: https:// | ||
| + | |||
| + | Schicke das Endresultat per Teams der Lehrperson. | ||
| ==== Aufgaben D ==== | ==== Aufgaben D ==== | ||
| Zeile 728: | Zeile 725: | ||
| === Aufgabe D1 === | === Aufgabe D1 === | ||
| - | Das Programm soll: | ||
| - | * den Benutzer nach dem Alter fragen | ||
| - | * Ausgeben, ob der Benutzer Schnaps, Bier oder Sirup trinken darf. | ||
| - | Programmiere die Schnaps, Bier & Sirup Aufgabe mit einer if-elif-else-Verzweigung. | + | <bottom-exercise id="d1"> |
| - | + | <div slot="prompt"> | |
| - | === Aufgabe D2 === | + | Das Programm |
| - | + | <ul> | |
| - | Die Benutzerin wird aufgefordert, | + | < |
| - | === Aufgabe D3 === | + | <li>Ausgeben, ob der Benutzer Schnaps, Bier oder Sirup trinken darf. |
| - | + | </ul> | |
| - | == Teil I == | + | < |
| - | + | </div> | |
| - | Der Benutzer wird aufgeforder, | + | <template data-type=" |
| - | + | ||
| - | | + | |
| - | * "k" | + | |
| - | * " | + | |
| - | * " | + | |
| - | + | ||
| - | Die Turtle zeichnet dann die entsprechende Figur. Vermeide Code-Repetitionen, | + | |
| - | + | ||
| - | Wird etwas anderes eingegeben, so soll eine der folgenden Varianten zum Zug kommen (entscheide selbst): | + | |
| - | + | ||
| - | * Variante 1: einfach eine Rückmeldung, | + | |
| - | * Variante 2: Turtle läuft ein Fragezeichen ab | + | |
| - | + | ||
| - | == Teil II == | + | |
| - | + | ||
| - | Erweitere nun deinen Code wie folgt: | + | |
| - | + | ||
| - | 1. Nach der Eingabe für die Form soll der Benutzer die Farbe für den Stift und die Füllfarbe auswählen können (//Tipp:// `farbe = str(input(" | + | |
| - | 1. Der Stift wird auf die entsprechende Farbe gesetzt: `t.color(farbe)`. | + | |
| - | 1. Flächen füllen mit `t.begin_fill()` und `t.end_fill()`. | + | |
| - | + | ||
| - | === Aufgabe D4 === | + | |
| - | + | ||
| - | == Schritt 1 == | + | |
| - | + | ||
| - | Schreibe ein kleines **Mathe-Quiz-Spiel**. Der Benutzer | + | |
| - | + | ||
| - | == Schritt 2 == | + | |
| - | + | ||
| - | Erweitere nun dein Mathe-Quiz. In diesem soll die Aufgabe per Zufall generiert werden. Nutze den [[# | + | |
| - | + | ||
| - | Dazu musst du das // | + | |
| - | + | ||
| - | <code python> | + | |
| - | import random # schreibe dies ganz oben in deinem Code | + | |
| - | ... | + | |
| - | x = random.randint(0,10) # wählt zufällig eine Zahl aus den Zahlen 0,1,2,3,...,9,10 aus | + | |
| - | ... | + | |
| - | </code> | + | |
| - | + | ||
| - | == Schritt 3 == | + | |
| - | + | ||
| - | Erweitere nun dein Spiel wie folgt: Insgesamt sollen 10 Runden gespielt werden, wobei in jeder Runde eine Zufallsaufgabe generiert wird (wie in Schritt 2). Es soll mitgezählt werden, wie viele Aufgaben richtig gelöst wurden. Am Schluss soll der Spieler eine entsprechende Rückmeldung erhalten, z.B.: | + | |
| - | '' | + | |
| - | + | ||
| - | == Schritt 4 == | + | |
| - | + | ||
| - | Gleich wie Schritt 3, die Rückmeldung soll aber erweitert werden. Je nach erreichter Anzahl Punkte soll eine andere Meldung erscheinen: | + | |
| - | + | ||
| - | |**Erreichte Punkte**|**Meldung**| | + | |
| - | |10|Perfekt, du hast alle Aufgaben richtig gelöst!| | + | |
| - | |8-9|Sehr gut, du hast fast alle Aufgaben richtig gelöst!| | + | |
| - | |6-7|Nicht schlecht, du hast mehr als die Hälfte der Aufgaben richtig gelöst!| | + | |
| - | |5|Genügend, | + | |
| - | |1-4|Ungenügend, | + | |
| - | |0|Leider hast du alle Aufgaben falsch gelöst. Zurück in die Primarschule!| | + | |
| - | + | ||
| - | + | ||
| - | === Aufgabe D5 (optional) === | + | |
| - | + | ||
| - | Mache eine Kopie von deinem Mathe-Quiz. Erweitere deinen Code nun so, dass neben der Addition auch Subtraktionen und Multiplikationen vorkommen können. Die Division sollte weggelassen werden, da es dort schnell Aufgaben gibt, die man kaum lösen kann. Welche der drei Operationen an der Reihe ist, soll ebenfalls der Zufall entscheiden. | + | |
| - | + | ||
| - | <nodisp 1> | + | |
| - | ++++Lösungen Aufgaben D| | + | |
| - | + | ||
| - | ==== Aufgaben D ==== | + | |
| - | + | ||
| - | === Aufgabe D1 === | + | |
| - | + | ||
| - | <bottom-editor> | + | |
| age = int(input(" | age = int(input(" | ||
| Zeile 820: | Zeile 744: | ||
| else: | else: | ||
| print(" | print(" | ||
| - | </ | + | </ |
| + | </ | ||
| === Aufgabe D2 === | === Aufgabe D2 === | ||
| - | <bottom-editor> | + | <bottom-exercise id=" |
| + | <div slot=" | ||
| + | Die Benutzerin wird aufgefordert, | ||
| + | </ | ||
| + | < | ||
| x = int(input(" | x = int(input(" | ||
| Zeile 833: | Zeile 762: | ||
| else: | else: | ||
| print(" | print(" | ||
| - | </ | + | </ |
| + | </ | ||
| === Aufgabe D3 === | === Aufgabe D3 === | ||
| - | <bottom-editor | + | == Teil I == |
| + | |||
| + | <bottom-exercise id=" | ||
| + | <div slot=" | ||
| + | Der Benutzer wird aufgefordert, | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | |||
| + | < | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | < | ||
| from turtle import * | from turtle import * | ||
| Zeile 873: | Zeile 825: | ||
| turi.end_fill() | turi.end_fill() | ||
| - | </ | + | </ |
| + | </ | ||
| + | |||
| + | == Teil II == | ||
| + | |||
| + | Erweitere nun deinen Code wie folgt: | ||
| + | |||
| + | 1. Nach der Eingabe für die Form soll der Benutzer die Farbe für den Stift und die Füllfarbe auswählen können (//Tipp:// `farbe = str(input(" | ||
| + | 1. Der Stift wird auf die entsprechende Farbe gesetzt: `t.color(farbe)`. | ||
| + | 1. Flächen füllen mit `t.begin_fill()` und `t.end_fill()`. | ||
| === Aufgabe D4 === | === Aufgabe D4 === | ||
| - | <bottom-editor> | + | == Schritt 1 == |
| + | |||
| + | Schreibe ein kleines **Mathe-Quiz-Spiel**. Der Benutzer soll eine Additionsrechnung erhalten, die er lösen soll. Nachdem er das Resultat eingegeben hat, soll er die Rückmeldung erhalten, ob das Resultat korrekt war oder nicht. | ||
| + | |||
| + | == Schritt 2 == | ||
| + | |||
| + | Erweitere nun dein Mathe-Quiz. In diesem soll die Aufgabe per Zufall generiert werden. Nutze den [[# | ||
| + | |||
| + | Dazu musst du das // | ||
| + | |||
| + | <code python> | ||
| + | import random # schreibe dies ganz oben in deinem Code | ||
| + | ... | ||
| + | x = random.randint(0, | ||
| + | ... | ||
| + | </ | ||
| + | |||
| + | == Schritt 3 == | ||
| + | |||
| + | Erweitere nun dein Spiel wie folgt: Insgesamt sollen 10 Runden gespielt werden, wobei in jeder Runde eine Zufallsaufgabe generiert wird (wie in Schritt 2). Es soll mitgezählt werden, wie viele Aufgaben richtig gelöst wurden. Am Schluss soll der Spieler eine entsprechende Rückmeldung erhalten, z.B.: | ||
| + | '' | ||
| + | |||
| + | == Schritt 4 == | ||
| + | |||
| + | Gleich wie Schritt 3, die Rückmeldung soll aber erweitert werden. Je nach erreichter Anzahl Punkte soll eine andere Meldung erscheinen: | ||
| + | |||
| + | |**Erreichte Punkte**|**Meldung**| | ||
| + | |10|Perfekt, | ||
| + | |8-9|Sehr gut, du hast fast alle Aufgaben richtig gelöst!| | ||
| + | |6-7|Nicht schlecht, du hast mehr als die Hälfte der Aufgaben richtig gelöst!| | ||
| + | |5|Genügend, | ||
| + | |1-4|Ungenügend, | ||
| + | |0|Leider hast du alle Aufgaben falsch gelöst. Zurück in die Primarschule!| | ||
| + | |||
| + | <bottom-exercise id=" | ||
| + | < | ||
| import random | import random | ||
| Zeile 894: | Zeile 890: | ||
| print(f' | print(f' | ||
| - | </ | + | </ |
| + | </ | ||
| + | |||
| + | === Aufgabe D5 (optional) === | ||
| + | |||
| + | Mache eine Kopie von deinem Mathe-Quiz. Erweitere deinen Code nun so, dass neben der Addition auch Subtraktionen und Multiplikationen vorkommen können. Die Division sollte weggelassen werden, da es dort schnell Aufgaben gibt, die man kaum lösen kann. Welche der drei Operationen an der Reihe ist, soll ebenfalls der Zufall entscheiden. | ||
| - | ++++ | ||
| - | </ | ||