While-True (WHILE, LOOP)
| Back to OverviewWHILE
WHILE ist das einfachere von beiden...
Die Programmiersprache WHILE ist sehr simple, sie besteht aus:
- Variablen:
- Konstanten:
- Symbolen:
- Schlüsselwörtern:
Die Syntax ist wie folgt definiert:
- ist eine Zuweisung
- Sind und Programme, so ist ein Programm, das zuerst und dann ausführt
- Ist ein Programm, so ist WHILE DO END ein Programm, das solange ausführt, bis ist
Weitere Semantik:
- Die Eingabe ist in den Variablen gespeichert. Der
default Wert = 0
- Die Ausgabe ist in den Variablen gespeichert
Guckt hier später vorbei ich liste dann die Programme auf die wir schon hatten (ich muss dringend lernen uff):
WHILE ist Turingmächtig
LOOP
LOOP ist das erste Berechnungsmodell, das nicht Turingmächtig ist, dafür garantiert es uns aber, dass eine Programm immer anhält.
Die Programmiersprache LOOP ist sehr ähnlich zu WHILE und besteht aus:
- Variablen:
- Konstanten:
- Symbolen:
- Schlüsselwörtern:
Die Syntax ist wie folgt definiert:
- ist eine Zuweisung
- Sind und Programme, so ist ein Programm, das zuerst und dann ausführt
- Ist ein Programm, so ist LOOP DO END ein Programm, das mal ausführt. WICHTIG: darf nicht in vorkommen!
Weitere Semantik:
- Die Eingabe ist in den Variablen gespeichert. Der
default Wert = 0
- Die Ausgabe ist in den Variablen gespeichert
Ackermannfunktion
Die Ackermannfunktion ist unser Beweis, dass LOOP nicht Turingmächtig ist. Da sie schneller wächst als jede Berechenbare LOOP Funktion.
Die Ackermannfunktion ist definiert als :
- für
- für
- für
Monotonie Eigenschaften der Ackermannfunktion sind:
- Strickte Monotonie in der zweiten Komponente: für alle
- Diagonale Monotonie: für alle
Falls ihr eine Monotonie Eigenschaft in der Klausur Beweisen müsst !vollständige Induktion! verwenden. (Falls ihrs Vergessen haben: (Induktionsanfang) (Induktionsvoraussetzung) (Induktionsschritt))