Dokumentation · Version 0.2 · Kapitel 02

Rechnen und Vergleichen

Klarsatz rechnet mit ausgeschriebenen Wörtern statt mit Symbolen: plus statt +, mal statt *. Vergleiche liest man ebenso — größer als, mindestens, durch 3 teilbar.

Grundrechenarten

Punkt vor Strich, hoch bindet am stärksten

Die sechs Rechenarten
Merke 7 als a.
Merke 3 als b.

Zeige a plus b.
Zeige a minus b.
Zeige a mal b.
Zeige a geteilt durch b.
Zeige a hoch b.
Zeige den Rest von a geteilt durch b.

Zeige -5 plus 2.              Anmerkung: negative Zahl, direkt vor der Ziffer
Zeige minus a.                Anmerkung: Vorzeichen vor einem Namen
Zeige 2 plus 3 mal 4.         Anmerkung: Punkt vor Strich, also 14
Zeige (2 plus 3) mal 4.       Anmerkung: mit Klammern 20
Geteilt durch bleibt ganz, wenn es aufgeht

10 geteilt durch 2 ergibt 5, nicht 5,0. Erst wenn die Teilung nicht aufgeht, entsteht eine Kommazahl. Das Teilen durch 0 ist ein Fehler, der sich mit Versuche abfangen lässt.

Umwandeln und Runden

Wurzel, Betrag, Länge, Rundung, Zufall

SchreibweiseErgebnis
die Wurzel von xQuadratwurzel
der Betrag von xWert ohne Vorzeichen
die Länge von Text_oder_ListeAnzahl Zeichen bzw. Einträge
Kleinbuchstaben von Textalles klein
Großbuchstaben von Textalles groß
Abgerundet von xganze Zahl, abwärts
Aufgerundet von xganze Zahl, aufwärts
Gerundet von xganze Zahl, kaufmännisch (2.53)
Gerundet von x auf n StellenZahl, auf n Nachkommastellen
Zahlenwert von tText → Zahl, auch mit Komma ("3,5")
Formatiert von x auf 2 StellenText: 3.14159"3,14"
Zufallszahl von 1 bis 10ganze Zahl, beide Grenzen inklusive
Umwandlungen in der Praxis
Merke für immer 3.14159 als Pi.
Merke 5 als Radius.
Merke Pi mal Radius hoch 2 als Fläche.

Zeige "Fläche genau:    " und Fläche.
Zeige "Auf 2 Stellen:   " und Formatiert von Fläche auf 2 Stellen.
Zeige "Gerundet:        " und Gerundet von Fläche.
Zeige "Wurzel von 144:  " und die Wurzel von 144.
Zeige "Betrag von -8:   " und den Betrag von minus 8.
Zeige "Länge von Hallo: " und die Länge von "Hallo".
Zeige "Auf 2 Stellen:   " und Gerundet von Fläche auf 2 Stellen.
Zeige "Text zu Zahl:    " und Zahlenwert von "3,5" plus 1.
Zeige "Ein Würfelwurf:  " und Zufallszahl von 1 bis 6.
Argumente sind einfache Werte

Wurzel von, Länge von und Aufgaben nehmen einen einfachen Wert — eine Zahl, einen Namen, einen Text. Steht dort eine Rechnung, gehört sie in Klammern: Wurzel von (a plus b).

Spalten ausrichten

Damit Tabellen untereinander stehen

Formatiert bestimmt, wie viele Nachkommastellen eine Zahl hat — nicht, wie breit sie wird. Sobald Werte unterschiedlich lang sind (7 neben 1234, oder ein Minuszeichen), verrutschen die Spalten. Dafür gibt es das Auffüllen:

Eine Tabelle, die stimmt
Erstelle eine Liste namens Messwerte mit 7 und 42.5 und -1234 und 0.75.

Zeige Rechtsbündig von "Wert" auf 12 Zeichen.
Zeige "------------".
Für jeden Wert in Messwerte:
    Zeige Rechtsbündig von (Formatiert von Wert auf 2 Stellen) auf 12 Zeichen.
Ende.
Rechtsbündig von x auf n Zeichenfüllt links mit Leerzeichen auf — für Zahlen
Linksbündig von x auf n Zeichenfüllt rechts auf — für Wörter

Ist der Wert länger als die angegebene Breite, bleibt er vollständig stehen — abgeschnitten wird nie.

Winkelfunktionen

In Grad, nicht im Bogenmaß

Sinus, Kosinus und Tangens rechnen mit Grad — derselben Einheit, in der auch gezeichnet wird (Drehe dich um 90 Grad). Kein Umrechnen, kein Bogenmaß.

Die sechs Funktionen
Zeige den Sinus von 30.
Zeige den Kosinus von 60.
Zeige den Tangens von 45.

Zeige den Arkussinus von 0.5.
Zeige den Arkuskosinus von 1.
Zeige den Arkustangens von 1.

Cosinus darf man auch mit C schreiben. Die drei Umkehrfunktionen liefern wieder Grad zurück.

Glatte Werte statt Rechenrauschen

Der Kosinus von 90 Grad ist in Klarsatz glatt 0 — nicht 0,0000000000000000612, wie es ein Taschenrechner oft zeigt. Ebenso ist der Tangens von 45 Grad genau 1. Das Rauschen wird weggerundet, damit die Zahlen so aussehen, wie sie gemeint sind.

Der Tangens von 90 oder 270 Grad ist nicht bestimmt — dort meldet Klarsatz einen Fehler, statt eine riesige Zahl zu liefern.

Wozu das gut ist: eine Linie in beliebige Richtung
Anmerkung: Länge und Richtung von einem Punkt zum anderen ausrechnen.
Merke 40 als Rechts.
Merke 30 als Hinauf.

Merke die Wurzel von (Rechts mal Rechts plus Hinauf mal Hinauf) als Strecke.
Merke 90 minus den Arkustangens von (Hinauf geteilt durch Rechts) als Richtung.

Zeige "Strecke:  " und Strecke.
Zeige "Richtung: " und Richtung und " Grad".

Nimm die Farbe "gold".
Drehe dich um Richtung Grad nach rechts.
Gehe Strecke Schritte vor.

Genau so zeichnet das Beispiel 20 Sinus und Kosinus im Spielplatz seine Wellenlinien.

Vergleichen

Größer, kleiner, mindestens, teilbar

Das Wörtchen ist darf vor oder hinter dem Vergleich stehen — beides ist richtig: Wenn a größer als 10 ist: und Wenn a ist größer als 10:.

Gleichheit braucht das Wort gleich

So natürlich es klingt — Wenn Befehl "fertig" ist: versteht Klarsatz nicht. Zwischen die beiden Werte gehört immer ein Vergleichswort:

Wenn Befehl gleich "fertig" ist:   oder   Wenn Befehl ist gleich "fertig":

Das ist der häufigste Anfängerfehler in Klarsatz. Der Prüfmodus zeigt ihn sofort: python3 -m klarsatz --pruefe programm.klar

VergleichBedeutung
a gleich bgleich
a nicht gleich bungleich
a größer als b · a kleiner als becht größer / kleiner
a mindestens bgrößer oder gleich
a höchstens bkleiner oder gleich
a durch 3 teilbarRest ist null
a nicht durch 3 teilbarRest ist nicht null
Liste enthält Wertkommt in der Liste vor
Text enthält Textstückkommt im Text vor
Vergleiche lesen sich vor
Merke 17 als Zahl.

Wenn Zahl größer als 10 ist, zeige "größer als zehn".
Wenn Zahl mindestens 17 ist, zeige "mindestens siebzehn".
Wenn Zahl nicht durch 2 teilbar ist, zeige "ungerade".

Merke "aeiou" als Vokale.
Wenn Vokale enthält "e", zeige "e ist ein Vokal".
Wenn nicht Vokale enthält "z" ist, zeige "z ist keiner".

Anmerkung: Texte werden nach deutscher Reihenfolge verglichen.
Wenn "Äpfel" kleiner als "Birnen" ist, zeige "Äpfel kommen zuerst".

Typ prüfen

Zahl, Text oder Liste?

Besonders nach Frage ist wichtig, was man bekommen hat: Antworten, die wie Zahlen aussehen, sind Zahlen, alles andere ist Text.

Typprüfungen
Frage "Zahl oder Wort?" und merke die Antwort als Eingabe.

Wenn Eingabe eine Zahl ist:
    Zeige "Das Doppelte wäre " und Eingabe mal 2.
Sonst wenn Eingabe ein Text ist:
    Zeige "Das Wort hat " und die Länge von Eingabe und " Zeichen.".
Ende.

Erstelle eine Liste namens Zahlen mit 1 und 2 und 3.
Wenn Zahlen eine Liste ist, zeige "Ja, eine Liste.".
PrüfungTrifft zu, wenn …
Wert eine Zahlder Wert eine Zahl ist
Wert keine Zahlder Wert keine Zahl ist
Wert ein Textder Wert ein Text ist
Wert eine Listeder Wert eine Liste ist
Wert eine Tabelleder Wert eine Tabelle ist

Verknüpfen

und, oder, nicht

Mehrere Bedingungen lassen sich mit und, oder und nicht verbinden. und bindet stärker als oder — wie Punkt vor Strich.

Zusammengesetzte Bedingungen
Merke 25 als Alter.
Merke wahr als Mitglied.

Wenn Alter mindestens 18 ist und Alter höchstens 67 ist:
    Zeige "Im erwerbsfähigen Alter.".
Ende.

Wenn Alter kleiner als 18 ist oder Alter größer als 67 ist:
    Zeige "Ermäßigt.".
Ende.

Wenn Mitglied gleich wahr ist und nicht Alter kleiner als 18 ist:
    Zeige "Vollmitglied.".
Ende.

Reicht die feste Reihenfolge nicht, setzt man Klammern:

Klammern in Bedingungen
Merke 5 als a.
Merke 1 als b.
Merke 3 als c.

Wenn (a kleiner als 1 oder b gleich 1) und c gleich 3 ist:
    Zeige "Die Klammer entscheidet.".
Ende.
Ohne Klammern gilt: und vor oder

a oder b und c bedeutet a oder (b und c). Wer es anders meint, klammert — seit Version 0.2 geht das auch in Bedingungen, nicht nur beim Rechnen.