Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
gf_informatik:programmieren_zusatzaufgaben [2021-12-16 11:08] scagf_informatik:programmieren_zusatzaufgaben [2023-02-17 08:36] (aktuell) – [Lotto] sca
Zeile 1: Zeile 1:
 ====== Python Zusatzaufgaben ====== ====== Python Zusatzaufgaben ======
- 
- 
-===== Repetitionsaufgaben ===== 
  
 ==== Begrüssung ==== ==== Begrüssung ====
Zeile 8: Zeile 5:
 **Schwierigkeitsgrad:** Einfach **Schwierigkeitsgrad:** Einfach
  
-**Nötiges Vorwissen:** +**Nötiges Vorwissen:** Grundlagen
-   * Basics Bewegung Turtle +
-   * Input +
-   * Formattierter Output +
-   * Basics Berechnungen +
-   * Variablen+
  
 **Auftrag:** **Auftrag:**
Zeile 21: Zeile 13:
    - Nachname\\    - Nachname\\
    - Jahrgang\\    - Jahrgang\\
-   - aktuelle Uhrzeit (also nur Stunde davon). Falls jetzt 15:09 Uhr ist, soll `3` eingegeben werden.\\ \\ +   - aktuelle Uhrzeit (also nur Stunde davon). Falls jetzt 15:09 Uhr ist, soll `3` eingegeben werden. 
- +   1. Alle diese Eingaben sollen in passend benannten Variablen gespeichert werden. 
-   1. Alle diese Eingaben sollen in passend benannten Variablen gespeichert werden.\\ \\ +   1. Der Benutzer soll freundlich begrüsst werden. Zum Beispiel: "Guten Tag, Vreni Schneider." 
- +   1. Aus dem Jahrgang soll das aktuelle Alter berechnet werden und in einem Sätzli ausgegeben werden. Zum Beispiel: "Du bist 37 Jahre alt".
-   1. Der Benutzer soll freundlich begrüsst werden. Zum Beispiel: "Guten Tag, Vreni Schneider."\\ \\ +
- +
-   1. Aus dem Jahrgang soll das aktuelle Alter berechnet werden und in einem Sätzli ausgegeben werden. Zum Beispiel: "Du bist 37 Jahre alt".\\ \\+
    1. Mit einem Turtle soll, entsprechend einer analogen Uhr, die Zeit angegeben werden. Falls der Benutzer `3` eingegeben hat (es ist also z.B. 15:38 Uhr oder 03:16 Uhr), so soll die Turtle im Uhrzeigersinn eine 4tel Umdrehung ablaufen.    1. Mit einem Turtle soll, entsprechend einer analogen Uhr, die Zeit angegeben werden. Falls der Benutzer `3` eingegeben hat (es ist also z.B. 15:38 Uhr oder 03:16 Uhr), so soll die Turtle im Uhrzeigersinn eine 4tel Umdrehung ablaufen.
- 
-===== Zusatzaufgaben ===== 
  
 ==== Taschenrechner ==== ==== Taschenrechner ====
Zeile 36: Zeile 23:
 **Schwierigkeitsgrad:** Mittel **Schwierigkeitsgrad:** Mittel
  
-**Vorwissen:** Bis und mit Kapitel //While-Schlaufe//+**Vorwissen:** Grundwissen bis und mit //while-Schleife//
  
 **Name des Files:** //taschenrechner.py//  **Name des Files:** //taschenrechner.py// 
Zeile 52: Zeile 39:
 === Schritt 2 === === Schritt 2 ===
  
-Man soll beliebig viele Operationen hintereinander durchführen können. Stichwort: while-Schlaufe.+Man soll beliebig viele Operationen hintereinander durchführen können. Stichwort: while-Schleife.
  
-Man soll auch die Möglichkeit haben, das Programm zu verlassen, z.B. wenn man die //Q// (für Quit) eingibt. //Tipp:// Aus einer while-Schlaufe kann man mit dem Befehl `break` ausbrechen.+Man soll auch die Möglichkeit haben, das Programm zu verlassen, z.B. wenn man die //Q// (für Quit) eingibt. //Tipp:// Aus einer while-Schleife kann man mit dem Befehl `break` ausbrechen.
  
 === Schritt 3 === === Schritt 3 ===
  
-Schreibe nun den Multiplikationsblock und den Divisionsblock selbst. Du darfst **nur Additionen und Subtraktionen** verwendest!+Schreibe nun den Multiplikationsblock und den Divisionsblock selbst. Du darfst **nur Additionen und Subtraktionen** verwenden!
  
 === Schritt 4 === === Schritt 4 ===
Zeile 71: Zeile 58:
 ==== SBB-Uhr ==== ==== SBB-Uhr ====
  
-**Schwierigkeitsgrad:** Anspruchsvoll+**Schwierigkeitsgrad:** Mittel bis anspruchsvoll
  
-**Vorwissen:** Bis und mit Kapitel //While-Schlaufe//+**Vorwissen:** Grundwissen bis und mit //while-Schleife//
  
 **Name des Files:** //sbb_uhr.py//  **Name des Files:** //sbb_uhr.py// 
Zeile 101: Zeile 88:
 </code> </code>
 Wichtig: Bild muss in gleichem Ordner abgelegt werden, wie sich das Projekt befindet. Wichtig: Bild muss in gleichem Ordner abgelegt werden, wie sich das Projekt befindet.
 +
 ==== Digitale Uhr ==== ==== Digitale Uhr ====
  
-**Schwierigkeitsgrad:** Anspruchsvoll+**Schwierigkeitsgrad:** Mittel bis anspruchsvoll
  
-**Vorwissen:** Bis und mit Kapitel //While-Schlaufe//+**Vorwissen:** Grundwissen, bis und mit //while-Schleife//
  
 **Name des Files:** //digitale_uhr.py//  **Name des Files:** //digitale_uhr.py// 
Zeile 114: Zeile 102:
  
 ==== Euklidischer Algorithmus ==== ==== Euklidischer Algorithmus ====
 +
 **Schwierigkeitsgrad:** Anspruchsvoll **Schwierigkeitsgrad:** Anspruchsvoll
  
-**Vorwissen:** Bis und mit Kapitel //While-Schlaufe//+**Vorwissen:** Grundwissen bis und mit //while-Schleife//
  
 **Name des Files:** //euklid.py//  **Name des Files:** //euklid.py// 
Zeile 129: Zeile 118:
 1. Der Divisor bei dieser Rechnung ist der ggT der Zahlen a und b. 1. Der Divisor bei dieser Rechnung ist der ggT der Zahlen a und b.
  
-=== Beispiel mit Zahlen ===+==== Beispiel mit Zahlen ====
 Es ist der ggT von 544 und 391 gesucht. \\ Es ist der ggT von 544 und 391 gesucht. \\
 $544:391 = 1$;  Rest 153 \\ $544:391 = 1$;  Rest 153 \\
Zeile 138: Zeile 127:
 Die Divison geht auf, der ggT von 544 und 391 ist 17. Die Divison geht auf, der ggT von 544 und 391 ist 17.
  
-=== Auftrag ===+==== Auftrag ====
 Versuche ein Programm zu schreiben, bei welchem mithilfe des Euklidischen Algorithmus' der ggT von zwei Zahlen berechnet wird. Versuche ein Programm zu schreiben, bei welchem mithilfe des Euklidischen Algorithmus' der ggT von zwei Zahlen berechnet wird.
  
Zeile 145: Zeile 134:
 **Schwierigkeitsgrad:** Mittel **Schwierigkeitsgrad:** Mittel
  
-**Vorwissen:** Bis und mit Kapitel //Farben//+**Vorwissen:** TurtleGraphics inkl. Kapitel //Farben//
  
 **Name des Files:** //kandinsky.py//  **Name des Files:** //kandinsky.py// 
Zeile 167: Zeile 156:
 **Vorwissen:** Funktionen **Vorwissen:** Funktionen
  
-=== Bueno ===+==== Bueno ====
  
 Definiere die Funktion `bueno(n)`. Ein Kinder-Bueno kostet am KSR Selecta-Automat 1.30 Fr. Die Funktion soll zurückgeben, wieviel n Buenos kosten. Definiere die Funktion `bueno(n)`. Ein Kinder-Bueno kostet am KSR Selecta-Automat 1.30 Fr. Die Funktion soll zurückgeben, wieviel n Buenos kosten.
Zeile 173: Zeile 162:
 Wieviel kosten: 3, 7 und 1200 Buenos? Wieviel Geld gibst du pro Monat oder Jahr etwa für Buenos aus? Wieviel kosten: 3, 7 und 1200 Buenos? Wieviel Geld gibst du pro Monat oder Jahr etwa für Buenos aus?
  
-=== BMI ===+==== BMI ====
  
 Definiere eine Funktion `bmi(m,l)`, die die Masse $m$ (in kg) und die Grösse $l$ (in Metern) entgegen nimmt und den entsprechenden Body Mass Index (BMI) zurückgibt. Die Formel für diesen ist $m/l^2$. Definiere eine Funktion `bmi(m,l)`, die die Masse $m$ (in kg) und die Grösse $l$ (in Metern) entgegen nimmt und den entsprechenden Body Mass Index (BMI) zurückgibt. Die Formel für diesen ist $m/l^2$.
Zeile 180: Zeile 169:
 Welchen BMI haben Fritz (110kg, 1.72m) und Monika (65kg, 1.64m)? Welchen BMI haben Fritz (110kg, 1.72m) und Monika (65kg, 1.64m)?
  
-=== Kleinere Zahl ===+==== Kleinere Zahl ====
  
 Definiere die Funktion `nimm_kleinere(a,b)`. Definiere die Funktion `nimm_kleinere(a,b)`.
Zeile 188: Zeile 177:
  
 ==== Lotto ==== ==== Lotto ====
 +
 Das Ziel dieser Aufgabe ist es, einen Generator für Lottozahlen zu erstellen. Im Schweizer Lotto werden 6 aus 42 Zahlen gezogen plus eine Zusatzzahl zwischen 1 und 6. Schreibt diese 6 Zahlen in eine Liste und an der letzten Stelle dieser Liste soll die Zusatzzahl stehen. \\ Das Ziel dieser Aufgabe ist es, einen Generator für Lottozahlen zu erstellen. Im Schweizer Lotto werden 6 aus 42 Zahlen gezogen plus eine Zusatzzahl zwischen 1 und 6. Schreibt diese 6 Zahlen in eine Liste und an der letzten Stelle dieser Liste soll die Zusatzzahl stehen. \\
-TippHier: https://sca.ksr.ch/doku.php?id=gf_informatik_1m_20_21:python_grundlagen#aufgabe_f3 wird erklärt, wie man Zufallszahlen generiert.+Zufallszahlen generierst du wie folgt: 
 +<code python> 
 +import random 
 +random.randint(1,6) 
 +</code>
  
-  - In einem ersten Teil sollen einfach 6 Zufallszahlen zwischen 1 und 42 erzeugt werden und in eine Liste geschrieben werden. Diese Liste soll zum Schluss ausgegeben werden. +   1. In einem ersten Teil sollen einfach 6 Zufallszahlen zwischen 1 und 42 erzeugt werden und in eine Liste geschrieben werden. Diese Liste soll zum Schluss ausgegeben werden. 
-  Füge zu den 6 Zufallszahlen jetzt noch die Zusatzzahl (Zufallszahl zwischen 1 und 6) am Ende der Liste hinzu. +   1. Füge zu den 6 Zufallszahlen jetzt noch die Zusatzzahl (Zufallszahl zwischen 1 und 6) am Ende der Liste hinzu. 
-  - (anspruchsvoll) Im Lotto kommt bei den 6 Lottozahlen keine Zahl zweimal vor, d.h. Zahlen dürfen nicht wiederholt werden. Ergänze deinen Code entsprechend.+   1. Knacknuss: Im Lotto kommt bei den 6 Lottozahlen keine Zahl zweimal vor, d.h. Zahlen dürfen nicht wiederholt werden. Ergänze deinen Code entsprechend.
  
 ==== Zahlenraten ==== ==== Zahlenraten ====
Zeile 206: Zeile 200:
 ==== Hangman ==== ==== Hangman ====
  
-Implementiere [[https://de.wikipedia.org/wiki/Galgenm%C3%A4nnchen|Hangman]] mit Turtle und Python.+**Ziel**:  
 +   Implementiere das Spiel [[https://de.wikipedia.org/wiki/Galgenm%C3%A4nnchen|Hangman]] mit TurtleGraphics. 
 +   * Anstelle eines Galgens darf natürlich auch eine andere, gewaltfreie Zeichnung angefertigt werden. 
 + 
 +**Varianten**:  
 +   * **Variante 1:** Spieler:in 1 tippt ein geheimes Wort (z.B. "Schiff") ein. Spieler:in 2 kennt dieses nicht und muss Buchstaben erraten, die im Wort vorkommen. Beim Erfolg werden die richtigen Buchstaben mit angezeigt ausgegeben. Kommt der geratene Buchstabe nicht vor, wird fortlaufend ein Galgen gezeichnet. Ist der Galgen fertig, hat der Spieler verloren. 
 +   * **Variante 2:** Im Code gibt es eine sehr lange Liste mit möglichen Wörtern. Der Computer wählt das geheimes Wort aus dieser Liste zufällig aus. Der Rest des Spiels ist wie in Variante 1.  
 + 
 + 
 +**Tipps:** 
 + 
 +   * Wandle alle Buchstaben und Wörter mit `upper()` in Grossbuchstaben um, damit du dich nicht mit Gross-/Kleinschreibweise herumschlagen musst.
  
-**Ziel**: Der Computer wählt ein geheimes Wort aus einer langen Liste von Möglichkeiten. Der Benutzer muss Buchstaben erraten, die im Wort vorkommen. Beim Erfolg werden die richtigen Buchstaben mit `turtle.write()` ausgegeben. Kommt der geratene Buchstabe nicht vor, wird fortlaufend ein Galgen gezeichnet. Ist der Galgen fertig, hat der Spieler verloren. 
  
  • gf_informatik/programmieren_zusatzaufgaben.1639652921.txt.gz
  • Zuletzt geändert: 2021-12-16 11:08
  • von sca