Drei Wege, mehrere Werte zusammenzuhalten: Listen sammeln der Reihe nach, Tabellen ordnen jedem Schlüssel einen Wert zu, Dinge fassen zusammengehörige Felder unter einem Namen.
Listen anlegen und füllen
Erstelle, Füge hinzu, Entferne, Sortiere
Erstelle eine Liste namens Einkauf. Erstelle eine Liste namens Zahlen mit 3 und 1 und 2. Füge "Milch" zur Einkauf hinzu. Füge "Brot" zur Einkauf hinzu. Füge "Äpfel" zur Einkauf hinzu. Entferne "Brot" aus Einkauf. Sortiere Einkauf. Sortiere Zahlen absteigend. Zeige Einkauf. Zeige Zahlen.
| Satz | Wirkung |
|---|---|
Erstelle eine Liste namens L. | legt eine leere Liste an |
Erstelle eine Liste namens L mit a und b. | legt sie gleich gefüllt an |
Füge Wert zur L hinzu. | hängt hinten an |
Entferne Wert aus L. | nimmt den Wert heraus |
Entferne Element n aus L. | nimmt den n-ten Eintrag heraus |
Entferne das erste / das letzte Element aus L. | nimmt vorne bzw. hinten weg |
Sortiere L. · Sortiere L absteigend. | auf- bzw. absteigend |
Kopiere L als N. | echte Kopie — siehe Hinweis unten |
die Länge von L | Anzahl der Einträge |
L enthält Wert | Prüfung, ob der Wert vorkommt |
Merke Einkauf als Zweitname. gibt derselben Liste einen zweiten Namen — wer über den einen etwas hinzufügt, sieht es auch über den anderen. Eine eigenständige zweite Liste entsteht mit Kopiere Einkauf als Sicherung.
Auf Einträge zugreifen
Gezählt wird ab 1
Erstelle eine Liste namens Einkauf
mit "Milch" und "Brot" und "Äpfel" und "Kaffee".
Zeige das erste Element von Einkauf.
Zeige das letzte Element von Einkauf.
Zeige Element 2 von Einkauf.
Merke 3 als Nr.
Zeige Element Nr von Einkauf.
Zeige Element (Nr minus 1) von Einkauf.
Zeige Elemente 2 bis 3 von Einkauf.
Zeige ein zufälliges Element von Einkauf.
Zeige die Länge von Einkauf.
Die Nummer darf eine Zahl, ein Name oder eine Rechnung in Klammern sein.
Ein Zugriff außerhalb der Liste ist immer ein Fehler mit klarer Meldung — nie ein stiller Fehlgriff und nie ein leerer Wert. Wer damit rechnen muss, fängt ihn mit Versuche ab oder prüft vorher die Länge.
Tabellen
Schlüssel zeigt auf Wert
Eine Tabelle ordnet jedem Schlüssel — einem Text oder einer Zahl — einen Wert zu. Die Reihenfolge, in der eingetragen wurde, bleibt erhalten.
Erstelle eine Tabelle namens Preise mit "Apfel" als 3 und "Birne" als 2.
Trage "Kiwi" mit 5 in Preise ein.
Zeige Wert für "Apfel" in Preise.
Wenn Preise enthält "Kiwi", zeige "Kiwi ist eingetragen.".
Entferne "Birne" aus Preise.
Zeige "Es sind " und die Länge von Preise und " Sorten:".
Für jede Frucht in Preise:
Zeige " " und Frucht und ": " und Wert für Frucht in Preise.
Ende.
| Satz | Wirkung |
|---|---|
Erstelle eine Tabelle namens T. | legt eine leere Tabelle an |
Erstelle eine Tabelle namens T mit "a" als 1. | legt sie gefüllt an |
Trage Schlüssel mit Wert in T ein. | einträgt oder überschreibt |
Wert für Schlüssel in T | liest den Wert |
T enthält Schlüssel | prüft, ob es den Schlüssel gibt |
Entferne Schlüssel aus T. | nimmt den Eintrag heraus |
die Länge von T | Anzahl der Einträge |
Für jedes S in T: … Ende. | geht durch die Schlüssel |
Überall dort, wo etwas nachgeschlagen wird: Preise je Ware, Punkte je Spieler, Anzahl je Wort. Was mit zwei Listen und einer Suchschleife mühsam wäre, ist mit einer Tabelle ein Satz.
Texte zerlegen und zusammensetzen
Teile, Verkettet, Zeichen, Ersetze
Merke "Klarsatz liest sich wie ein Satz" als Satz.
Teile Satz bei " " zu Woerter.
Zeige "Der Satz hat " und die Länge von Woerter und " Wörter:".
Für jedes Wort in Woerter:
Zeige " " und Wort.
Ende.
Anmerkung: Der Rückweg — eine Liste zu einem Text verbinden.
Zeige Verkettet von Woerter mit ", ".
Anmerkung: Ausschnitte und Ersetzungen.
Zeige Zeichen 1 bis 9 von Satz.
Merke "Hallo Welt" als Gruss.
Ersetze "Welt" durch "Klarsatz" in Gruss.
Zeige Gruss.
Anmerkung: Text zu Zahl — versteht auch das deutsche Komma.
Zeige Zahlenwert von "3,5" plus 1.
| Schreibweise | Ergebnis |
|---|---|
Teile t bei "…" zu L. | Text → Liste von Texten |
Verkettet von L mit ", " | Liste → Text |
Zeichen a bis b von t | Ausschnitt eines Textes, ab 1 gezählt |
Elemente a bis b von L | Ausschnitt einer Liste |
Ersetze "alt" durch "neu" in N. | ersetzt im Text unter dem Namen N |
Zahlenwert von t | Text → Zahl ("3,5" → 3.5) |
"\n" steht für den Zeilenumbruch — damit zerlegt Teile Inhalt bei "\n" zu Zeilen. einen mehrzeiligen Text in seine Zeilen.
Dinge
Eigene Strukturen mit Feldern
Ein Ding fasst mehrere Werte unter einem Namen zusammen. Zuerst wird die Bauart beschrieben, dann werden einzelne Exemplare erschaffen.
Ein Hund hat einen Namen und ein Alter. Erschaffe einen Hund mit Name "Rocco" und Alter 5 als Waldi. Zeige den Namen von Waldi. Zeige das Alter von Waldi. Setze das Alter von Waldi auf 6. Zeige "Nach dem Geburtstag: " und das Alter von Waldi.
Beim Erschaffen ist jedes Feld anzugeben — ein Wert ist in Klarsatz nie „einfach leer“. Das erspart die halbfertigen Datensätze, an denen Programme später scheitern.
Feldnamen dürfen leicht gebeugt werden: Name und Namen meinen dasselbe, ebenso Zahl und Zahlen. Beim Anzeigen eines ganzen Dings erscheint der Feldname allerdings so, wie er in der Definition stand.
Ein Hund hat einen Namen und ein Alter und eine Rasse.
Anmerkung: Lange Sätze darf man umbrechen — Einrückung ist bedeutungslos.
Erschaffe einen Hund mit Name "Rocco" und Alter 5
und Rasse "Mischling" als Waldi.
Erschaffe einen Hund mit Name "Luna" und Alter 2
und Rasse "Beagle" als Nachbarhund.
Erstelle eine Liste namens Heim.
Füge Waldi zur Heim hinzu.
Füge Nachbarhund zur Heim hinzu.
Für jeden Hund in Heim:
Zeige den Namen von Hund und " (" und die Rasse von Hund und ")".
Zeige " " und das Alter von Hund und " Jahre alt".
Ende.