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 [2023-10-31 08:17] – [Verzweigungen im Detail] hof | gf_informatik:programmieren_ii [2024-11-14 14:15] (aktuell) – hof | ||
---|---|---|---|
Zeile 115: | Zeile 115: | ||
==Teil III== | ==Teil III== | ||
- | Probiere deine Lösungen (eine nach der anderen) am Computer in **TigerJython** aus: Tippe deinen Code ab, verwende für **Einrückungen** die *Tabulator* Taste (oben links). Führe dann den Code aus (grüner Pfeil oder F5) | + | Probiere deine Lösungen (eine nach der anderen) am Computer in **TigerPython** aus: Tippe deinen Code ab, verwende für **Einrückungen** die *Tabulator* Taste (oben links). Führe dann den Code aus (grüner Pfeil oder F5) |
=== Aufgabe A2 === | === Aufgabe A2 === | ||
Zeile 127: | Zeile 127: | ||
=== Aufgabe A3 === | === Aufgabe A3 === | ||
- | Übersetze alle Teilaufgaben aus der [[gf_informatik: | + | Übersetze alle Teilaufgaben aus der [[gf_informatik: |
=== Zusatzaufgaben A === | === Zusatzaufgaben A === | ||
Zeile 133: | Zeile 133: | ||
Übersetze die Struktogramme der [[gf_informatik: | Übersetze die Struktogramme der [[gf_informatik: | ||
- | < | + | < |
++++Lösungen Aufgaben A| | ++++Lösungen Aufgaben A| | ||
Zeile 206: | Zeile 206: | ||
===== Python Grundlagen ===== | ===== Python Grundlagen ===== | ||
- | < | + | < |
++++Gruppenpuzzle| | ++++Gruppenpuzzle| | ||
Zeile 286: | Zeile 286: | ||
| Division (Nachkommastellen) | `5/2` | `2.5` | | | Division (Nachkommastellen) | `5/2` | `2.5` | | ||
| Ganzzahldivision | `5//2` | `2` | | | Ganzzahldivision | `5//2` | `2` | | ||
- | | Hoch (z.B. 2 hoch 5) | `5**2` | `25` | | + | | Hoch (z.B. 5 hoch 2) | `5**2` | `25` | |
| Wurzel (z.B. Wurzel von 2, sqrt für square-root) | `sqrt(2)` | `1.4142135...` | | | Wurzel (z.B. Wurzel von 2, sqrt für square-root) | `sqrt(2)` | `1.4142135...` | | ||
| Modulo (Rest der Ganzzahl-Division) | `5%2`| `1` | | | Modulo (Rest der Ganzzahl-Division) | `5%2`| `1` | | ||
+ | |||
+ | **Achtung: | ||
+ | <code python> | ||
+ | from math import * | ||
+ | </ | ||
++++Leitfragen| | ++++Leitfragen| | ||
Zeile 344: | Zeile 349: | ||
Beachte, dass die Zufallsfunktion **randint** heisst. Dies steht für ' | Beachte, dass die Zufallsfunktion **randint** heisst. Dies steht für ' | ||
+ | <nodisp 2> | ||
+ | ++++Debugger: | ||
==== Debugger ==== | ==== Debugger ==== | ||
Verwende den Debugger (Breakpoints in VSCode), um deinen Code anzuhalten resp. verlangsamt durchlaufen zu lassen. Dies ist sehr nützlich um **Bugs**, also Fehler im Code, zu identifizieren. Daher auch der Name **Debugger**. | Verwende den Debugger (Breakpoints in VSCode), um deinen Code anzuhalten resp. verlangsamt durchlaufen zu lassen. Dies ist sehr nützlich um **Bugs**, also Fehler im Code, zu identifizieren. Daher auch der Name **Debugger**. | ||
+ | ++++ | ||
+ | </ | ||
==== Verzweigungen im Detail ==== | ==== Verzweigungen im Detail ==== | ||
Zeile 408: | Zeile 417: | ||
=== Aufgabe B4: Kettenrechnung === | === Aufgabe B4: Kettenrechnung === | ||
- | Weise der Variablen `x` der Wert $7$ zu. Verändere nun die Variable nacheinander wie folgt: | + | Weise der Variablen `x` den Wert $7$ zu. Verändere nun die Variable nacheinander wie folgt: |
- verdopple sie | - verdopple sie | ||
- multipliziere mit 100 | - multipliziere mit 100 | ||
Zeile 440: | Zeile 449: | ||
Effekte wie Schaltjahre oder Schaltsekunden darfst du bei der Berechnung nicht berücksichtigen. | Effekte wie Schaltjahre oder Schaltsekunden darfst du bei der Berechnung nicht berücksichtigen. | ||
- | Jeder Wert soll in einer Variablen mit passendem Namen, z.B. `my_age_in_seconds` gespeichert werden. Gib nun die Berechneten | + | Jeder Wert soll in einer Variablen mit passendem Namen, z.B. `my_age_in_seconds` gespeichert werden. Gib nun die berechneten |
- "I am 14 years old." | - "I am 14 years old." | ||
- "I am ... days old." | - "I am ... days old." | ||
Zeile 455: | Zeile 464: | ||
Beispiel: Werden $23$ und $5$ eingegeben, so ist die Ausgabe: "23 : 5 = 4 Rest 3" | Beispiel: Werden $23$ und $5$ eingegeben, so ist die Ausgabe: "23 : 5 = 4 Rest 3" | ||
- | < | + | < |
++++Lösungen Aufgaben B| | ++++Lösungen Aufgaben B| | ||
Zeile 551: | Zeile 560: | ||
=== Aufgabe C2 === | === Aufgabe C2 === | ||
- | Kannst du auch eine Spirale zeichnen? Zeichne erst eine Spirale. Zeichne dann ein zweite Spirale ähnlich wie im Bild. Zeichne dazu mit einer while-Schleife die eine. Versetze dann die Position deiner Turtle mit `setX` und `setY` (oder `setPos`) und zeichne die Zweite Spirale mit einer neuen while-Schleife. | + | Kannst du auch eine Spirale zeichnen? |
+ | |||
+ | Zeichne erst eine Spirale. Zeichne dann ein zweite Spirale ähnlich wie im Bild. Zeichne dazu mit einer while-Schleife die eine. Versetze dann die Position deiner Turtle mit `setX` und `setY` (oder `setPos`) und zeichne die Zweite Spirale mit einer neuen while-Schleife. | ||
{{ : gf_informatik: | {{ : gf_informatik: | ||
Zeile 582: | Zeile 593: | ||
Schicke das Endresultat per Teams der Lehrperson. | Schicke das Endresultat per Teams der Lehrperson. | ||
- | < | + | < |
++++Lösungen Aufgaben C| | ++++Lösungen Aufgaben C| | ||
Zeile 688: | Zeile 699: | ||
Erweitere nun deinen Code wie folgt: | 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:// `askColor(...)`). Mehr zu Farben findest du [[gf_informatik: | + | 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 ... | + | 1. Der Stift wird auf die entsprechende Farbe gesetzt: `t.color(farbe)`. |
- | | + | |
=== Aufgabe D4 === | === Aufgabe D4 === | ||
Zeile 734: | Zeile 744: | ||
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. | 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. | ||
- | < | + | < |
++++Lösungen Aufgaben D| | ++++Lösungen Aufgaben D| | ||
Zeile 768: | Zeile 778: | ||
<code python> | <code python> | ||
- | from gturtle | + | from turtle |
turi = Turtle() | turi = Turtle() | ||
- | turi.setPos(-100, | + | turi.hideturtle() |
- | turi.hideTurtle() | + | |
shape = str(input(" | shape = str(input(" | ||
- | pen_color = askColor(" | + | pen_color = str(input(" |
- | fill_color = askColor(" | + | fill_color = str(input(" |
- | turi.setPenColor(pen_color) | + | turi.color(pen_color) |
- | turi.setPenWidth(10) | + | turi.fillcolor(fill_color) |
- | turi.setFillColor(fill_color) | + | turi.width(10) |
+ | turi.begin_fill() | ||
if shape == " | if shape == " | ||
Zeile 788: | Zeile 798: | ||
turi.right(90) | turi.right(90) | ||
i = i + 1 | i = i + 1 | ||
- | turi.setPos(30, | ||
- | turi.fill() | ||
elif shape == " | elif shape == " | ||
- | turi.rightCircle(100) | + | turi.circle(100, 360) |
- | turi.setPos(30,30) | + | |
- | turi.fill() | + | |
elif shape == " | elif shape == " | ||
i = 0 | i = 0 | ||
Zeile 802: | Zeile 808: | ||
turi.right(90) | turi.right(90) | ||
i = i + 1 | i = i + 1 | ||
- | turi.setPos(30, | ||
- | turi.fill() | ||
else: | else: | ||
- | print(" | + | print(" |
+ | |||
+ | turi.end_fill() | ||
</ | </ | ||