🐹 Programmieren lernen mit dem Hamster (Teil 2)

Wieder 45 Minuten · wieder ganz einfach

🐹 Rückblick

  • Letztes Mal habt ihr den Hamster über das Territorium laufen lassen.

🐹 Rückblick

  • Der Hamster hat Mauern umlaufen
  • Körner eingesammelt
  • und wieder abgelegt.

🐹 Rückblick

  • Ihr habt dafür viele Befehle eingeben müssen.

🐹 Rückblick

  • Warum?

🐹 Rückblick

  • Weil der Hamster nicht besonders intelligent war
  • Er hat einfach jeden Befehl nacheinander ausgeführt
  • Wir mussten wissen...
    • auf welchem Feld eine Mauer steht
    • auf welchem Feld Korn liegt

Der Hamster voll im Stress

Der Hamster rennt, sammelt alles ein - aber es gibt ein kleines Problem - weißt Du, welches?

🐹 Heute machen wir alles etwas intelligenter

  • Wir sagen dem Hamster wie oft er nach vorne laufen soll

🐹 Heute machen wir alles etwas intelligenter

  • Wir sagen dem Hamster wie oft er nach vorne laufen soll
  • Wir lassen den Hamster testen, ob vor ihm eine Mauer ist

🐹 Heute machen wir alles etwas intelligenter

  • Wir sagen dem Hamster wie oft er nach vorne laufen soll
  • Wir lassen den Hamster testen, ob vor ihm eine Mauer ist
  • Wir lassen den Hamster testen, ob sich auf dem Feld ein Korn befindet

Warum machen wir das?

  • Programme sollen überall funktionieren - nicht nur in einem Territorium

Warum machen wir das?

  • Programme sollen überall funktionieren - nicht nur in einem Territorium
  • Nicht nur einmal, sondern immer wieder

Wie machen wir das?

  • Über Entscheidungen (die Befehle if und else)

Wie machen wir das?

  • Über Entscheidungen (die Befehle if und else)
  • Über Wiederholungen (die Befehle for und while)

Wie machen wir das?

  • Über Entscheidungen (die Befehle if und else)
  • Über Wiederholungen (die Befehle for und while)
  • Mit Variablen - damit merkt sich ein Programm einen Wert

1️⃣ Entscheidungen: TRUE/FALSE

Der Hamster kann Fragen selber beantworten.

# Ist auf dem nächsten Feld keine Mauer?
vornFrei()
# Gibt es auf dem Feld ein Korn?
kornDa()

➡️ beide Befehle liefern immer nur TRUE oder FALSE

2️⃣ Die Befehle if und else

  • Für Entscheidungen kennt der Hamster die Befehle if und else
  • Beide kommen von der Programmiersprache Python
if vornFrei():
    vor()
else:
    linksUm()
  • Was passiert hier?

📌 Wichtige Kleinigkeiten

  • Doppelpunkt nach if und else
  • Einrücken ist Pflicht (im ALlgemeinen zwei Leerzeichen)
  • Die richtige Groß-/Kleinschreibung ist wichtig

🎯 Merksatz: Python erkennt Blöcke an der Einrückung

3️⃣ Wiederholungen mit for

  • der Befehl for wiederholt andere Befehle mehrmals 👉 ich nehme for, wenn ich weiß, wie oft wiederholt werden soll
# Wiederhole den Befehl vor 5 Mal
for i in range(5):
    vor()

🧠 Bedeutung: Laufe 5 Schritte nach vorne. (range() ein Python-Befehl) 🎯 Merksatz: for = Ich sage dem Hamster, wie oft.

  • Und wenn der Hamster 10 Mal laufen soll?

4️⃣ Wiederholungen mit while

  • der Befehl while wiederholt andere Befehle mehrmals 👉 ich nehme while, wenn ich nicht weiß wie oft
while vornFrei():
    vor()

🧠 Bedeutung: Laufe weiter, solange es geht. 🎯 Merksatz: while = Der Hamster entscheidet selbst.

🆚 for versus while

Situation Schleife
5 Schritte laufen for
Bis zur Wand laufen while
Anzahl bekannt for
Anzahl unbekannt while

😥 Der Hamster war bislang nicht sehr schlau

„Beim letzten Mal habt ihr alles ohne if und while gemacht"

Und das bedeutete:

➡️ viele Befehle eintippen -> mühsam 😫 ➡️ viele unnötige Wiederholungen ➡️ Der Hamster läuft gegen Mauern und findet kein Korn

🤓 Der Hamster ist jetzt ein richtiger Computer

Der Hamster ist schlauer geworden.

Und das bedeutet:

➡️ er läuft gegen keine Mauer mehr, da er vorher testet, ob es eine Mauer gibt ➡️ er findet jedes Korn, da er vorher testet, ob es ein Korn gibt ➡️ er kann einen Befehl wiederholen ➡️ er kann entscheiden, wie oft ein Befehl wiederholt werden soll

💡 Das ist echte Programmierung.

🐹 Mini-Beispiel (für den Python-Hamster)

while vornFrei():
    vor()
linksUm()
linksUm()
while vornFrei():
    vor()

➡️ funktioniert in jedem Territorium ➡️ kein Zählen ➡️ kein Raten

5️⃣ Variablen (Python-Hamster)

Über eine Variable merkt sich ein Programm Werte

🧠 Eine Variable ist ein Merkzettel im Kopf des Hamsters.

schritte = 0

Eine Variable ist einfach ein Name und ein Wert.

Der for-Befehl mit einer Variablen

anzahlSchritte = 5
for i in range(anzahlSchritte):
    vor()
  • Die Variable heißt anzahlSchritte und ihr Wert ist 5
  • Den Namen könnt ihr euch ausdenken (es gibt aber Regeln)

🏁 Fazit für die Stunde

🤔 if/else = entscheiden

🔁 for = feste Wiederholung

🔁 while = kluge Wiederholung

🧠 Variable = merken

Merksatz: Gute ProgrammiererInnen schreiben weniger Code und nicht mehr.

Jetzt seid ihr wieder dran

  • Aufgabe 1: Auf dem Territorium steht eine (!) Mauer - der Hamster soll links starten und um die Mauer herum laufen

  • Aufgabe 2: Auf dem Territorium liegt ein Korn - der Hamster soll links loslaufen und das Korn nehmen

  • Aufgabe 3: Der Hamster soll links oben starten und alle Zeilen ablaufen bis zum letzten Feld und alle Körner einsammeln

  • Aufgabe 4: Wie Aufgabe 3, nur soll der Hamster auch alle Mauern umlaufen - das ist bereits "etwas" schwerer

** Viel Erfolg **

🧠 Jetzt lassen wir KI für uns programmieren

  • Ruft https://itgirlscamp.xyz/ auf
  • Klickt auf Hamster-Translator
  • Gebt ein, was der Hamster tun soll
  • KI gibt euch Hamster-Befehle zurück
  • Wie schlau sind diese Befehle? Probiert es aus.

🐹 Programmieren lernen mit dem Hamster (Teil 2)

By Peter Monadjemi

🐹 Programmieren lernen mit dem Hamster (Teil 2)

Eine Einführung in die Hamster-Programmierung - der Hamster wird schlau

  • 53