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:variablen_verzweigungen_schleifen [2022-11-16 17:00] – [Tabelle] gra | gf_informatik:programmieren_ii:variablen_verzweigungen_schleifen [2023-10-22 10:21] (aktuell) – [Tabelle] hof | ||
---|---|---|---|
Zeile 6: | Zeile 6: | ||
Neben Turtlegrafik kann man in TigerJython und Python auch noch andere Dinge machen, die Spass machen, wie z.B. Mathe. | Neben Turtlegrafik kann man in TigerJython und Python auch noch andere Dinge machen, die Spass machen, wie z.B. Mathe. | ||
- | *Tipp:* Möchtest du nur z.B. etwas berechnen, ohne dabei eine Turtle zu gebrauchen? Dann kannst du die zuvor immer benötigte Zeile Code `from gturtle | + | *Tipp:* Möchtest du nur z.B. etwas berechnen, ohne dabei eine Turtle zu gebrauchen? Dann kannst du die zuvor immer benötigte Zeile Code `from turtle |
Zeile 49: | Zeile 49: | ||
Einige wichtige **mathematischen Operatoren** sind: | Einige wichtige **mathematischen Operatoren** sind: | ||
- | ^ Funktion ^ Python-Code ^ | + | ^ Funktion ^ Python-Code |
- | | Addition | `7+3` | | + | | Addition | `5+2` | `7` | |
- | | Subtraktion | `7-3` | | + | | Subtraktion | `5-2` | `3` | |
- | | Multiplikation | `7*3` | | + | | Multiplikation | `5*2` | `10` | |
- | | Division (Nachkommastellen) | `7/3` | | + | | Division (Nachkommastellen) | `5/2` | `2.5` | |
- | | Ganzzahldivision | `7//3` | | + | | Ganzzahldivision | `5//2` | `2` | |
- | | Hoch (z.B. 2 hoch 5) | `2**5` | | + | | Hoch (z.B. 2 hoch 5) | `5**2` | `25` | |
- | | Wurzel (z.B. Wurzel von 2, sqrt für square-root) | `sqrt(2)` | | + | | Wurzel (z.B. Wurzel von 2, sqrt für square-root) | `sqrt(2)` | `1.4142135...` | |
- | | Modulo (Rest der Ganzzahl-Division, Bsp. `17%5 = 2`) | `17%2`| | + | | Modulo (Rest der Ganzzahl-Division) | `5%2`| `1` | |
==== - Input ==== | ==== - Input ==== | ||
Zeile 84: | Zeile 83: | ||
==== - Aufgaben D ==== | ==== - Aufgaben D ==== | ||
- | Von nun an arbeiten wir nur noch selten mit TurtleGraphics. Die Zeile `from gturtle | + | Von nun an arbeiten wir nur noch selten mit TurtleGraphics. Die Zeile `from turtle |
=== Aufgabe D1 === | === Aufgabe D1 === | ||
Zeile 108: | Zeile 107: | ||
=== Aufgabe D3 === | === Aufgabe D3 === | ||
- | |||
Mache eine Kopie einer deiner bereits gelösten Aufgaben aus den Aufgaben A und B und speichere diese unter dem Namen `aufgabe_D3.py`. Suche einen möglichst langen und komplizierten Code aus. Füge nun überall wo es möglich ist, Variablen ein. Anstelle, dass du also immer `fritz.left(90)` schreibst, definiere eine Variable `winkel = 90` und schreibe nachher immer `fritz.left(winkel)`. | Mache eine Kopie einer deiner bereits gelösten Aufgaben aus den Aufgaben A und B und speichere diese unter dem Namen `aufgabe_D3.py`. Suche einen möglichst langen und komplizierten Code aus. Füge nun überall wo es möglich ist, Variablen ein. Anstelle, dass du also immer `fritz.left(90)` schreibst, definiere eine Variable `winkel = 90` und schreibe nachher immer `fritz.left(winkel)`. | ||
Zeile 119: | Zeile 117: | ||
* Breite des Rechtecks | * Breite des Rechtecks | ||
* Höhe des Rechtecks | * Höhe des Rechtecks | ||
+ | |||
+ | |||
+ | === Aufgabe D5 === | ||
+ | |||
+ | Die Schildkröte soll eine Spirale aus mehreren (unterschiedlich grossen) Halbkreisen zeichnen. Die Benutzer:in soll dazu folgende Werte eingeben (alle mit einem seperatern `input`-Statement): | ||
+ | * Anzahl Halbkreise | ||
+ | * Start-Radius: | ||
+ | * Zunahme: Um diesen Wert wird der Radius jedes Halbkreises grösser als der vorherige. | ||
===== - Logik: if-else ===== | ===== - Logik: if-else ===== | ||
Zeile 141: | Zeile 147: | ||
| `x == 4` | x ist Zahl und hat Wert von genau 4 | | | `x == 4` | x ist Zahl und hat Wert von genau 4 | | ||
| `s == " | | `s == " | ||
- | | `x != 4` | x ist NICHT eine Zahl vom Wert | + | | `x != 4` | x ist NICHT eine Zahl vom Wert 4 | |
| `x > 5` | x ist Zahl grösser als 5 | | | `x > 5` | x ist Zahl grösser als 5 | | ||
| `x >= 5` | x ist Zahl grösser gleich 5 | | | `x >= 5` | x ist Zahl grösser gleich 5 | | ||
Zeile 236: | Zeile 242: | ||
import random # schreibe dies ganz oben in deinem Code | import random # schreibe dies ganz oben in deinem Code | ||
... | ... | ||
- | x = random.randint(0, | + | zahl1 = random.randint(0, |
... | ... | ||
</ | </ | ||
Zeile 255: | Zeile 261: | ||
</ | </ | ||
- | Die Bedingungen schreibt man gleich wie für for-Schleifen, also `==, >, >=, ...` | + | Die Bedingungen schreibt man gleich wie für if-Verzweigungen, also `==, >, >=, ...` |
**Beispiel: | **Beispiel: | ||
Zeile 314: | Zeile 320: | ||
Gleich wie Aufgabe F3. Es sollen aber neben der Addition auch Subtraktionen und Multiplikationen vorkommen. 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. | Gleich wie Aufgabe F3. Es sollen aber neben der Addition auch Subtraktionen und Multiplikationen vorkommen. 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. | ||
- | |||
- | //Tipp:// Verwende eine Endlosschleife. | ||
=== Aufgabe F5 === | === Aufgabe F5 === | ||
Zeile 330: | Zeile 334: | ||
Man soll solange spielen können, bis man drei Fehler gemacht hat. Dann ist Game Over. | Man soll solange spielen können, bis man drei Fehler gemacht hat. Dann ist Game Over. | ||
+ | === Aufgabe F6 === | ||
+ | Schreibe eine Programm, das wie folgt funktioniert: | ||
+ | * Die Benutzer:in muss eine positive, zweistellige Zahl eingeben. Hierzu wird sie solange aufgefordert, | ||
+ | * Dann macht das Programm Folgendes: | ||
+ | * Wenn die eingegebene Zahl gerade (also restlos durch 2 teilbar) ist, dann gibt das Programm alle geraden Zahlen von 0 bis zur eingegeben Zahl aus. | ||
+ | * Wenn die eingegebene Zahl ungerade ist, dann gibt das Programm alle Zahlen der Fünfer-Reihe von 0 bis (in etwa) zur eingegeben Zahl aus. | ||