Dokumentation · Version 0.2 · Kapitel 03

Entscheiden und Wiederholen

Zwei Dinge unterscheiden ein Programm von einer Liste: Es kann entscheiden und es kann wiederholen. Klarsatz schreibt beides aus — Wenn … Sonst … Ende. und fünf Arten von Schleifen.

Bedingungen

Blockform mit Ende

Die Blockform beginnt mit einem Doppelpunkt und endet mit Ende.. Dazwischen dürfen beliebig viele Sätze stehen. Sonst wenn darf beliebig oft vorkommen, Sonst genau einmal am Schluss.

Blockform
Merke 17 als Zahl.

Wenn die Zahl größer als 10 ist:
    Zeige "groß".
    Zeige "genauer: " und Zahl.
Sonst wenn die Zahl gleich 10 ist:
    Zeige "genau zehn".
Sonst:
    Zeige "klein".
Ende.

Kurzform

Steht nur ein einziger Satz im Zweig, passt alles in eine Zeile — mit Komma statt Doppelpunkt und ohne eigenes Ende..

Kurzform
Zähle von 1 bis 30 mit i:
    Wenn i durch 15 teilbar ist, zeige "FizzBuzz".
    Sonst wenn i durch 3 teilbar ist, zeige "Fizz".
    Sonst wenn i durch 5 teilbar ist, zeige "Buzz".
    Sonst zeige i.
Ende.
Genau ein Satz

Die Kurzform führt einen Satz aus. Sollen es mehrere sein, ist die Blockform nötig. Das Ende. im Beispiel oben gehört zur Zähle-Schleife, nicht zur Bedingung.

Wiederhole

Eine feste Anzahl oder solange etwas gilt

Feste Anzahl
Wiederhole 3 Mal:
    Zeige "Klarsatz".
Ende.
Solange eine Bedingung gilt
Merke 1 als n.
Wiederhole solange n kleiner als 100 ist:
    Verdopple n.
    Zeige n.
Ende.

Zähle

Aufwärts, rückwärts, in Schritten

Zähle legt einen Namen an, der bei jedem Durchlauf den aktuellen Wert trägt. Läuft nur aufwärts, solange nichts anderes dabeisteht — ist der Startwert größer als das Ziel, läuft die Schleife gar nicht.

Die drei Zählformen
Zähle von 1 bis 5 mit i:
    Zeige i.
Ende.

Zähle von 5 bis 1 rückwärts mit i:
    Zeige i.
Ende.

Zähle von 0 bis 50 in Schritten von 10 mit i:
    Zeige i.
Ende.

Statt rückwärts darf auch abwärts stehen — beides bedeutet dasselbe.

Für jedes

Durch Listen und Texte gehen

Für jedes geht eine Liste Eintrag für Eintrag durch — und einen Text Zeichen für Zeichen. Der Laufname ist frei wählbar; jedes, jede und jeden sind gleichwertig, man nimmt, was zum Wort passt.

Über eine Liste
Erstelle eine Liste namens Einkauf mit "Milch" und "Brot" und "Äpfel".

Für jedes Element in Einkauf:
    Zeige "- " und Element.
Ende.

Merke 0 als Summe.
Erstelle eine Liste namens Zahlen mit 12 und 7 und 23.
Für jeden Wert in Zahlen:
    Setze Summe auf Summe plus Wert.
Ende.
Zeige "Summe: " und Summe.

Abbrechen und Überspringen

Höre auf, Mach weiter

SatzWirkung
Höre auf.Verlässt die Schleife sofort.
Mach weiter.Springt zum nächsten Durchlauf.
Beides im Einsatz
Anmerkung: Zeigt ungerade Zahlen, hört aber bei 9 auf.
Zähle von 1 bis 20 mit k:
    Wenn k durch 2 teilbar ist, mach weiter.
    Wenn k größer als 9 ist, höre auf.
    Zeige k.
Ende.

Anmerkung: Die erste Zahl suchen, die durch 7 und 11 teilbar ist.
Merke 1 als n.
Wiederhole solange wahr ist:
    Erhöhe n.
    Wenn n durch 7 teilbar ist und n durch 11 teilbar ist:
        Zeige "Gefunden: " und n.
        Höre auf.
    Ende.
Ende.
Endlosschleifen laufen nicht ewig

Wiederhole solange wahr ist: braucht ein Höre auf., sonst läuft die Schleife für immer. Der Interpreter bricht spätestens nach dem eingestellten Schrittlimit ab — dieses Limit lässt sich bewusst nicht mit Versuche abfangen.