Kapitel-Fortschritt: 0/2 Aufgaben gelöst

Kapitel 11

Kapitel 11: Variablen

Eine Variable ist ein Name für einen Wert. In Karel-Programmen ist das besonders hilfreich, wenn du dir merken möchtest, wie oft etwas passiert ist: Wie viele Schritte ist Karel gelaufen? Wie viele Beeper wurden eingesammelt? Wie oft soll eine Schleife später laufen?

Variablen verändern nicht direkt Karels Welt. Sie liegen im Programm und helfen dir, Entscheidungen und Wiederholungen genauer zu steuern.

Werte speichern

Mit einer Zuweisung gibst du einem Wert einen Namen. Links steht der Name, rechts steht der Wert, der gespeichert wird.

steps = 0

Wenn Karel später einen Schritt macht, kannst du den gespeicherten Wert erhöhen:

move()
steps = steps + 1

Die rechte Seite wird zuerst ausgerechnet. Danach wird das Ergebnis wieder unter demselben Namen gespeichert.

Zählen in einer Schleife

Eine Variable wird oft als Zähler benutzt. Dieses Programm merkt sich, wie viele Felder Karel bis zur Wand läuft:

def main():
    steps = 0

    while front_is_clear():
        move()
        steps = steps + 1

Variablen wiederverwenden

Der gespeicherte Wert kann danach eine weitere Schleife steuern. So kann Karel auf dem Rückweg genau so viele Felder bearbeiten, wie er vorher gelaufen ist.

turn_around()

for i in range(steps):
    put_beeper()
    if front_is_clear():
        move()

Vergleichen

In Bedingungen vergleichst du Werte mit zwei Gleichheitszeichen. Ein einzelnes = speichert, zwei Gleichheitszeichen vergleichen.

if steps == 3:
    put_beeper()

Ausprobieren

Aufgabe

Rückweg mit Variable markieren

medium

Karel soll bis zur Wand laufen, die Anzahl der Schritte in einer Variable speichern und auf dem Rückweg jedes gelaufene Feld mit einem Beeper markieren.

Ziel

  • Karel soll am Ende in Spalte 1, Zeile 1 stehen.
  • Karel soll nach Westen schauen.
  • In der Welt sollen 3 Beeper liegen.
  • Karel soll keine Beeper in der Tasche haben.

Karel-Welt

Aktuelle Welt

4 x 1
Blick nach Osten

1,1
2,1
3,1
4,1

Karel-Welt

Zielwelt

4 x 1
Blick nach Westen

1,1
2,1
3,1
4,1

Aktuell unterstützt der Runner Karel-Befehle, eigene Funktionen und einfache for- und while-Schleifen.

Feedback

Schritte: 0

Status: Noch nicht gelöst

Aufgabe

Jedes zweite Feld markieren

challenge

Karel soll nach Osten bis zur Wand laufen und dabei jedes zweite besuchte Feld mit einem Beeper markieren: Feld 2, Feld 4, Feld 6 und so weiter. Verwende eine Variable als Zähler.

Ziel

  • Karel soll am Ende in Spalte 7, Zeile 1 stehen.
  • Karel soll nach Osten schauen.
  • In der Welt sollen 3 Beeper liegen.
  • Karel soll keine Beeper in der Tasche haben.

Karel-Welt

Aktuelle Welt

7 x 1
Blick nach Osten

1,1
2,1
3,1
4,1
5,1
6,1
7,1

Karel-Welt

Zielwelt

7 x 1
Blick nach Osten

1,1
2,1
3,1
4,1
5,1
6,1
7,1

Aktuell unterstützt der Runner Karel-Befehle, eigene Funktionen und einfache for- und while-Schleifen.

Feedback

Schritte: 0

Status: Noch nicht gelöst