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 [2022-12-04 15:00] scagf_informatik:programmieren_zusatzaufgaben [2023-02-17 08:36] (aktuell) – [Lotto] sca
Zeile 1: Zeile 1:
 ====== Python Zusatzaufgaben ====== ====== Python Zusatzaufgaben ======
  
-===== Begrüssung =====+==== Begrüssung ====
  
 **Schwierigkeitsgrad:** Einfach **Schwierigkeitsgrad:** Einfach
  
-**Nötiges Vorwissen:** +**Nötiges Vorwissen:** Grundlagen
-   * Basics Bewegung Turtle +
-   * Input +
-   * Formattierter Output +
-   * Basics Berechnungen +
-   * Variablen+
  
 **Auftrag:** **Auftrag:**
Zeile 18: 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.
  
-===== Taschenrechner =====+==== Taschenrechner ====
  
 **Schwierigkeitsgrad:** Mittel **Schwierigkeitsgrad:** Mittel
  
-**Vorwissen:** Bis und mit Kapitel //While-Schleife//+**Vorwissen:** Grundwissen bis und mit //while-Schleife//
  
 **Name des Files:** //taschenrechner.py//  **Name des Files:** //taschenrechner.py// 
Zeile 47: 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 64: Zeile 56:
  
  
-===== 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 97: Zeile 89:
 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 109: Zeile 101:
 Die aktuelle Uhrzeit kannst du mit dem //datetime// Modul abrufen. Mehr Info dazu findest du bei der Aufgabe //SBB-Uhr//. Die aktuelle Uhrzeit kannst du mit dem //datetime// Modul abrufen. Mehr Info dazu findest du bei der Aufgabe //SBB-Uhr//.
  
-===== 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 137: Zeile 130:
 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.
  
-===== Kandinsky =====+==== Kandinsky ====
  
 **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 157: Zeile 150:
 Speichere das Bild unter dem Namen `kandinsky_2.py` Speichere das Bild unter dem Namen `kandinsky_2.py`
  
-===== einfache Funktionen =====+==== einfache Funktionen ====
  
 **Schwierigkeitsgrad:** Einfach **Schwierigkeitsgrad:** Einfach
Zeile 183: Zeile 176:
 Teste die Funktion anhand von drei unterschiedlichen Beispielen. Teste die Funktion anhand von drei unterschiedlichen Beispielen.
  
-===== 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 ====
  
 **Ziel**: ein Konsolen-Spiel, das den Benutzer eine geheime Zahl erraten lässt. Der Benutzer rät solange, bis er die Zahl erraten hat. Der Computer antwortet nach jedem Versuch, ob die gesuchte Zahl kleiner oder grösser ist. **Ziel**: ein Konsolen-Spiel, das den Benutzer eine geheime Zahl erraten lässt. Der Benutzer rät solange, bis er die Zahl erraten hat. Der Computer antwortet nach jedem Versuch, ob die gesuchte Zahl kleiner oder grösser ist.
Zeile 201: Zeile 198:
   * ... gibt es auch eine Lösung, wenn der mögliche Wertebereich der geheimen Zahl (-∞, ∞) ist?   * ... gibt es auch eine Lösung, wenn der mögliche Wertebereich der geheimen Zahl (-∞, ∞) ist?
  
-===== Hangman =====+==== Hangman ==== 
 + 
 +**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:**
  
-Implementiere [[https://de.wikipedia.org/wiki/Galgenm%C3%A4nnchen|Hangman]] mit Turtle und Python.+   * 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.1670166009.txt.gz
  • Zuletzt geändert: 2022-12-04 15:00
  • von sca