15.09.2014 Aufrufe

2x2 - Theoretische Informatik - Universität Duisburg-Essen

2x2 - Theoretische Informatik - Universität Duisburg-Essen

2x2 - Theoretische Informatik - Universität Duisburg-Essen

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!