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_i_sca [2024-11-01 08:30] scagf_informatik:programmieren_i_sca [2025-01-07 11:01] (aktuell) – [Programmieren I: Programmieren mit TurtleGraphics] sca
Zeile 1: Zeile 1:
-====== Programmieren I: Programmieren mit TurtleGraphics ======+====== Programmieren I: Grundlagen der Programmierung ======
  
 ++++Lernziele| ++++Lernziele|
  
 +   * Grundsätzlich: Ich schreibe meinen **Code clever und elegant**. Es geht nicht nur darum, ob der Code das macht, was er soll, sondern auch darum, *wie* der Code geschrieben wurde.\\ \\
    * Ich kann erklären, was eine **Variable** ist und passende Analogien machen.    * Ich kann erklären, was eine **Variable** ist und passende Analogien machen.
    * Ich kann erklären, wann und warum man Variablen verwenden sollte.    * Ich kann erklären, wann und warum man Variablen verwenden sollte.
Zeile 14: Zeile 15:
      * (Beachte: Bei Prüfungen wird nicht nur bewertet *ob* der Code korrekt funktioniert, sondern auch, wie elegant er programmiert wurde.)      * (Beachte: Bei Prüfungen wird nicht nur bewertet *ob* der Code korrekt funktioniert, sondern auch, wie elegant er programmiert wurde.)
    * Ich kann von der Benutzerin eine **Eingabe** verlangen und diese in einer Variable speichern.    * Ich kann von der Benutzerin eine **Eingabe** verlangen und diese in einer Variable speichern.
 +   * Ich kann die wichtigsten **Vergleichsoperatoren** verwenden, um Zahlen miteinande zu vergleichen
    * Ich kann **Verzweigungen** (if,if-else,if-elif-else) programmieren.    * Ich kann **Verzweigungen** (if,if-else,if-elif-else) programmieren.
    * Ich kann einfache **Konsolenprogramme** (Programme mit Eingabe und/oder Ausgabe aber *ohne Turtle*).    * Ich kann einfache **Konsolenprogramme** (Programme mit Eingabe und/oder Ausgabe aber *ohne Turtle*).
    * (Optional): Ich kann in **farbige Bilder** erstellen mit TurtleGraphics.    * (Optional): Ich kann in **farbige Bilder** erstellen mit TurtleGraphics.
 +
 +   * Ich kann mit den wichtigsten **mathematischen Operatoren** rechnen (`+,-,*,/,//,%,**`).
 +   * Ich kann den Zuweisungsoperataor `=` mit dem Vergleichsoperator `==` vergleichen.
 +   * Ich kann mit **f-Strings** arbeiten, zum Beispiel:
 +     * Mehrere Strings zusammenhängen
 +     * Werte von Variablen am richtigen Ort im String einsetzen
 +   * Ich kann **komplexere Grafiken** mit der Turtle elegant mit Schleifen programmieren, zum Beispiel:
 +     * spiralförmige Muster
 +     * sich wiederholende Muster (gleiches Symbol mehrfach nebeneinander)
 +   * Ich kann mit **while-Schleifen** einen Codeblock wiederholen lassen, z.B.:
 +     * Fix vorgegebene Anzahl Wiederholungen.
 +     * Zahlen herauf / herunter zählen.
 +   * Ich verwende **KEIN REPEAT** mehr. Nie mehr!
 +   * Ich kann mit **break** aus einer "Endlosschleife" ausbrechen.
  
  
Zeile 804: Zeile 820:
 ==== Aufgaben I ==== ==== Aufgaben I ====
  
-Löse alle Aufgaben mit while-Schleifen und break.+Löse alle Aufgaben mit **while-Schleifen und break**.
  
 === Aufgabe I1 === === Aufgabe I1 ===
  
-Die Benutzerin soll solange aufgefordert, eine negative Zahl einzugeben, bis sie es geschafft hat. Gibt sie eine falsche Zahl ein, soll sie erneut aufgefordert werden.+**Negative Zahl:** Die Benutzerin soll solange aufgefordert, eine negative Zahl einzugeben, bis sie es geschafft hat. Gibt sie eine falsche Zahl ein, soll sie erneut aufgefordert werden.
  
 === Aufgabe I2 === === Aufgabe I2 ===
  
-Code für Geheimtür: Der Benutzer soll aufgefordert werden, das geheime Passwort ("spaghetti") einzugeben. Gibt er es falsch ein, wird ausgegeben "Zugang verweigert". Macht er es richtig, wird "Zugang gewährt" ausgegeben und der Code abgebrochen.+**Code für Geheimtür:** Der Benutzer soll aufgefordert werden, das geheime Passwort ("spaghetti") einzugeben. Gibt er es falsch ein, wird ausgegeben "Zugang verweigert". Macht er es richtig, wird "Zugang gewährt" ausgegeben und der Code abgebrochen.
  
 === Aufgabe I3 === === Aufgabe I3 ===
  
-Unendliche Summe: Die Benutzerin soll unendlich oft hintereinander aufgefordert werden, eine Zahl einzugeben. Die neu eingegebene Zahl wird zu den bisherigen hinzuaddiert und das aktuelle Resultat ausgegeben.+**Unendliche Summe:** Die Benutzerin soll unendlich oft hintereinander aufgefordert werden, eine Zahl einzugeben. Die neu eingegebene Zahl wird zu den bisherigen hinzuaddiert und das aktuelle Resultat ausgegeben.
  
 Um das Programm abzubrechen, kann die Benutzerin "q" (für Quit) eingeben. Um das Programm abzubrechen, kann die Benutzerin "q" (für Quit) eingeben.
 +
 +
 +===== Zusatzaufgaben =====
 +
 +Löse die Aufgaben so elegant wie möglich. Verwende z.B. wann immer möglich Schleifen.
 +
 +==== Basic ====
 +
 +=== Aufgabe: Wiederholen ===
 +
 +Bart hat mal seine Carbonara wieder mit Rahm gekocht! Zur Strafe muss er 100x "Kein Rahm in die Carbonara!" schreiben. Da du ein Herz für Bart hast, möchtest du ihm helfen und ihm einen Code schreiben, der ihm die Arbeit abnimmt (auch wenn er seine Strafe eigentlich verdient hat).
 +
 +{{:gf_informatik:carbonara_bart.png?400|}}
 +
 +
 +=== Aufgabe: 5er-Reihe ===
 +
 +Gib alle Zahlen der 5er Reihe aus im Bereich $5,10,...,500$.
 +
 +=== Aufgabe: Summe gerader Zahlen ===
 +
 +Berechne die Summe aller gerader Zahlen von $2$ bis und mit $100$.
 +
 +=== Aufgabe: Unendlicher Zähler ===
 +
 +Im Sekundentakt soll herauf gezählt werden: $1,2,3,4,5,...$.
 +Um einen Delay von 1s einzubauen, gehe wie folgt vor:
 +<code python>
 +import time # importiere ganz oben im Code
 +...
 +time.sleep(1) # Befehl, dass für 1s soll pausieren
 +</code>
 +
 +
 +==== Anspruchsvoll ====
 +
 +=== Aufgabe: Lord of the Rings ===
 +
 +Erzeuge das folgende Bild auf clevere Art und Weise.
 +
 +{{:gf_informatik:the_rings.png?400|}}
 +
 +*Tipp:* Verwende zwei ineinander verschachtelte Schleifen.
  
  
Zeile 1302: Zeile 1361:
 ++++ ++++
  
-<nodisp 2> 
  
 ++++Lösungen G| ++++Lösungen G|
Zeile 1438: Zeile 1496:
 ++++ ++++
  
-</nodisp> 
- 
-<nodisp 2> 
  
 ++++Aufgaben H| ++++Aufgaben H|
Zeile 1510: Zeile 1565:
 </code> </code>
  
 +++++
  
-=== Aufgabe Hx ===+++++Aufgaben I|
  
-<code python> +=== Aufgabe I1 ===
-</code> +
- +
- +
-=== Aufgabe Hx ===+
  
 <code python> <code python>
-</code>+while True: 
 +    number = input("Gib eine negative Zahl ein."
 +    if number 0: 
 +        break 
 +    else: 
 +        print("Falsch. Try again!")
  
- +print("Korrekt!")
-=== Aufgabe Hx === +
- +
-<code python>+
 </code> </code>
  
- +=== Aufgabe I2 ===
-=== Aufgabe Hx ===+
  
 <code python> <code python>
 +while True:
 +    eingabe = input("Gib das geheime Passwort ein")
 +    if eingabe == "Spaghetti":
 +        print("Korrekt. Zutritt gewährt")
 +        break
 +    else:
 +        print("Falsch. Zugang verweigert. Try again!")
 </code> </code>
  
- +=== Aufgabe I3 ===
-=== Aufgabe Hx ===+
  
 <code python> <code python>
 +summe = 0
 +
 +while True:
 +    eingabe = input("Gib Zahl ein, die dazu addiert werden soll. Abbrechen mit 'q'.")
 +    if eingabe == 'q':
 +        break
 +    summe = summe + eingabe
 +    print(f"Die Summe bisher ist: {summe}")
 +    
 +print(f"Die finale Summe ist: {summe}")
 </code> </code>
  
Zeile 1543: Zeile 1612:
 ++++ ++++
  
-</nodisp>+ 
  
  • gf_informatik/programmieren_i_sca.1730449807.txt.gz
  • Zuletzt geändert: 2024-11-01 08:30
  • von sca