-
Notifications
You must be signed in to change notification settings - Fork 0
Die "Alman"‐Sprache
definiere f(i: ganzzahl, j: ganzzahl) : ganzzahl{
gib zurueck i + j;
}
Hier steht definiere
für den Anfang einer Funktion. f
ist der Name der Funktion. (i: ganzzahl, j: ganzzahl)
steht
für die Liste an Argumenten, die die Funktion bekommen soll. : ganzzahl
definiert den Rückgabwert. gib zurueck
gibt
einen Wert aus der Funktion zurück. i + j
sind zum einen Variablenzugriffe auf die Variablen i und j. Die beiden Werte
werden durch das +
addiert.
konstante h: ganzzahl = 100;
definiere haupt(): ganzzahl {
lasse temp = h + h;
gib zurueck 0;
}
konstante h = 100
definiert eine globale unveränderbare Variable h mit dem Wert 100 vom Typ dezimalzahl. Die haupt
-Funktion ist der Haupteinstiegspunkt. Wenn die kompilierte Datei ausgeführt wird, fängt das Programm hier mit der
Ausführung an. Die Hauptfunktion muss eine Ganzzahl zurückgeben (0, wenn alles gut gelaufen ist, sonst eine andere
Zahl). lasse temp = h + h;
definiert eine lokale veränderbare Variable temp
mit dem Wert h+h
, was zu 200
evaluieren würde.
definiere haupt(): ganzzahl {
lasse i: ganzzahl = 20;
waehrend(i > 0) {
wenn (i % 2 == 0) {
drucke("%g\n", i);
i = i - 1;
fahre fort;
} ansonsten wenn (i % 3 == 0) {
drucke("%g\n", i);
breche;
}
drucke("%g\n", i);
i = i - 1;
}
}
waehrend(i > 0)
definiert eine While-Schleife, die so lange läuft, bis i kleiner gleich 0 ist. drucke("%g\n, i)
gibt
den Wert von i zusammen mit einem Linebreak auf der Konsole aus. breche
bricht die Schleife ab, fahre fort
überspringt den derzeitigen Schleifendurchlauf und fängt den nächsten an.
definiere ifElse(n: ganzzahl): nichts {
wenn (n == 1) {
drucke("1");
} ansonsten wenn (n == 2) {
drucke("2");
} ansonsten wenn (n == 3) {
drucke("3");
} ansonsten {
drucke("Ich kenne keine anderen Zahlen");
}
}
Das wenn
, ansonsten wenn
, ansonsten
ist ein if-else-if-else Konstrukt.
definiere haupt(): ganzzahl {
ifElse(3);
}
Hier wird die in 4. definierte Funktion aufgerufen, mit dem 1. Parameter gesetzt wird auf 3
. Eine Funktion kann
beliebig viele Argumente definieren, die dann in genau der definierten Anzahl und entsprechendem Typ bei einem
Funktionsaufruf übergeben werden müssen.
definiere haupt(): ganzzahl {
ifElse("Test"); // Falscher Type
}
Das würde nicht gehen. Hier sieht man auch noch, wie ein Inline-Kommentar geschrieben wird. Für Mulitline-Kommentare schreibt man:
/*
Text
der
nicht
kompiliert
wird.
*/
definiere rightAngledTriangle(n: ganzzahl): nichts {
lasse i: ganzzahl = 0;
lasse j: ganzzahl = 0;
waehrend(i < n) {
j = 0;
waehrend(j <= i) {
drucke("*");
j = j + 1;
}
drucke("\n");
i = i + 1;
}
}
Verschachtelte Schleifen sind auch möglich.
Es sind viele bekannte Operanden verfügbar:
-
+
Addition -
-
Subtraktion -
*
Multiplikation -
/
Division -
%
Modulo -
==
Gleichheit -
!=
Ungleichheit -
>
Größer als -
<
Kleiner als -
>=
Größer gleich -
<=
Kleiner gleich -
und
Und -
oder
Oder
Es gibt keinen not
Operator.
Die Operator Precedence ist wie hier
beschrieben.