2x2 - Theoretische Informatik - Universität Duisburg-Essen
2x2 - Theoretische Informatik - Universität Duisburg-Essen
2x2 - Theoretische Informatik - Universität Duisburg-Essen
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Loop-, While-, Goto-Berechenbarkeit<br />
Wir betrachten nun ein weiteres Berechnungsmodell, das im<br />
wesentlichen eine einfache Programmiersprache mit verschiedenen<br />
Konstrukten darstellt.<br />
Diese Programme haben Variablen, die mit natürlichen Zahlen<br />
belegt sind. Diesen Variablen dürfen arithmetische Ausdrücke<br />
(mit Konstanten, Variablen und Operatoren +, −) zugewiesen<br />
werden.<br />
Außerdem enthalten die Programme verschiedene<br />
Schleifenkonstrukte.<br />
Loop-Programme<br />
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Barbara König BeKo/TI 85<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Loop-, While-, Goto-Berechenbarkeit<br />
Insbesondere betrachten wir folgende Typen von Programmen:<br />
Loop-Programme<br />
Enthalten nur Loop- bzw. For-Schleifen, bei denen bereits bei<br />
Eintritt feststeht, wie oft sie durchlaufen werden.<br />
While-Programme<br />
Enthalten nur While-Schleifen mit einer immer wieder zu<br />
evaluierenden Abbruchbedingung.<br />
Goto-Programme<br />
Enthalten Gotos (unbedingte Sprünge) und<br />
If-Then-Else-Anweisungen.<br />
Wir interessieren uns vor allem für die Funktionen, die von solchen<br />
Programmen berechnet werden.<br />
Loop-Programme<br />
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Barbara König BeKo/TI 86<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Syntaktische Komponenten für Loop-Programme<br />
Variablen: x 0 x 1 x 2 . . .<br />
Konstanten: 0 1 2 . . .<br />
Trennsymbole: ; :=<br />
Operatorsymbole: + −<br />
Schlüsselwörter: Loop Do End<br />
Induktive Syntax-Definition<br />
Ein Loop-Programm ist von der Form<br />
Wertzuweisung: x i := x j + c bzw. x i := x j − c<br />
(mit c ∈ N 0 )<br />
Sequentielle Komposition: P 1 ; P 2<br />
(wobei P 1 , P 2 Loop-Programme sind)<br />
Loop: Loop x i Do P End<br />
(wobei P ein Loop-Programm ist)<br />
Barbara König BeKo/TI 87<br />
Barbara König BeKo/TI 88