Syntax von LOOP-Programmen

Größe: px
Ab Seite anzeigen:

Download "Syntax von LOOP-Programmen"

Transkript

1 LOOP-Berechenbarkeit Syntax von LOOP-Programmen Definition LOOP-Programme bestehen aus: Variablen: x 0, x 1, x 2, x 3,... Konstanten: 0, 1, 2, 3,... Trennsymbolen:; und := Operationen: + und Befehlen: LOOP, DO, END J. Rothe (HHU Düsseldorf) Informatik IV 1 / 30

2 LOOP-Berechenbarkeit Syntax von LOOP-Programmen Definition (Fortsetzung) Wir definieren die Syntax von LOOP-Programmen induktiv wie folgt: 1 x i := x j + c, x i := x j c und x i := c, für Konstanten c N, sind LOOP-Programme. 2 Falls P 1 und P 2 LOOP-Programme sind, so ist auch P 1 ; P 2 ein LOOP-Programm. 3 Falls P ein LOOP-Programm ist, so ist auch LOOP x i DO P END ein LOOP-Programm. Dabei darf in der LOOP-Anweisung die Wiederholvariable x i nicht im Schleifenkörper P vorkommen. J. Rothe (HHU Düsseldorf) Informatik IV 2 / 30

3 LOOP-Berechenbarkeit Semantik von LOOP-Programmen Um die Semantik von LOOP-Programmen zu beschreiben, stellen wir uns die Werte der Variablen in Registern gespeichert vor. Abstraktion: Es gibt unendlich viele Register unendlicher Kapazität, d.h., beliebig große Zahlen können in einem Register gespeichert werden. J. Rothe (HHU Düsseldorf) Informatik IV 3 / 30

4 LOOP-Berechenbarkeit Semantik von LOOP-Programmen Definition In einem LOOP-Programm, das eine k-stellige Funktion f berechnen soll, gehen wir davon aus, dass dieses mit den Startwerten n 1,...,n k N in den Variablen x 1,..., x k (und 0 in den restlichen) gestartet wird. 1 Die Zuweisungen x i := x j + c und x i := c werden wie üblich interpretiert. In x i := x j c wird x i auf 0 gesetzt, falls c x j ist. 2 Das Programm P 1 ; P 2 wird so interpretiert, dass zuerst P 1 und dann P 2 ausgeführt wird. J. Rothe (HHU Düsseldorf) Informatik IV 4 / 30

5 LOOP-Berechenbarkeit Semantik von LOOP-Programmen Definition (Fortsetzung) 3 Das Programm P in LOOP x i DO P END wird so oft ausgeführt, wie der Wert der Variablen x i zu Beginn angibt. Da x i nicht in P vorkommen darf, steht die Anzahl der Iterationen vor der ersten Ausführung der Schleife fest. J. Rothe (HHU Düsseldorf) Informatik IV 5 / 30

6 LOOP-Berechenbarkeit LOOP-Berechenbarkeit Definition Eine Funktion f : N k N heißt LOOP-berechenbar, falls es ein LOOP-Programm P gibt, das gestartet mit n 1,..., n k in den Variablen x 1,...,x k (und 0 in den restlichen) stoppt mit dem Wert f(n 1,..., n k ) in der Variablen x 0. J. Rothe (HHU Düsseldorf) Informatik IV 6 / 30

7 LOOP-Berechenbarkeit LOOP-Berechenbarkeit Bemerkung: Die Anweisung IF x 1 = 0THEN P ELSE P END lässt sich wie folgt mit dem obigen Befehlssatz ausdrücken: x 2 := 1; x 3 := 1; LOOP x 1 DO x 2 := 0END; LOOP x 2 DO P; x 3 := 0END; LOOP x 3 DO P END Die Anweisung IF x 1 = c THEN P ELSE P END lässt sich ähnlich mit LOOP-Befehlen ausdrücken (s. Übungen). J. Rothe (HHU Düsseldorf) Informatik IV 7 / 30

8 LOOP-Berechenbarkeit LOOP-Berechenbarkeit Es ist nicht möglich, mit einem LOOP-Programm unendliche Schleifen zu programmieren. Das heißt, jedes LOOP-Programm stoppt nach endlich vielen Schritten. Somit sind LOOP-berechenbare Funktionen stets total. Da es nicht totale, aber intuitiv berechenbare Funktionen gibt, z.b. f : N 2 N mit f(n 1, n 2 ) = n 1 div n 2, kann die Menge der LOOP-berechenbaren Funktionen nicht die Menge aller intuitiv berechenbaren Funktionen umfassen. Es gibt sogar total definierte intuitiv berechenbare Funktionen, die nicht LOOP-berechenbar sind (z.b. die Ackermann-Funktion). J. Rothe (HHU Düsseldorf) Informatik IV 8 / 30

9 LOOP-Berechenbarkeit LOOP-Berechenbarkeit: Addition Beispiel: Die Addition f : N 2 N mit ist LOOP-berechenbar. f(n 1, n 2 ) = n 1 + n 2 Idee: Berechne n 1 + n 2 = n 1 + } {{}. n 2 x 0 := x 1 + 0; LOOP x 2 DO x 0 := x END J. Rothe (HHU Düsseldorf) Informatik IV 9 / 30

10 LOOP-Berechenbarkeit LOOP-Berechenbarkeit: Multiplikation Beispiel: LOOP-berechenbar ist auch die Multiplikation f : N 2 N: f(n 1, n 2 ) = n 1 n 2. Idee: Berechne n 1 n 2 = 0+n 1 + n n }{{ 1. } n 2 x 0 := 0; LOOP x 2 DO x 0 := x 0 + x 1 END Dabei wird x 0 := x 0 + x 1 durch ein Unterprogramm gemäß dem Beispiel oben für die Addition berechnet, d.h., hier entstehen zwei ineinander geschachtelte LOOP-Schleifen. J. Rothe (HHU Düsseldorf) Informatik IV 10 / 30

11 WHILE-Berechenbarkeit Syntax von WHILE-Programmen Definition WHILE-Programme sind wie folgt definiert: 1 Jedes LOOP-Programm ist ein WHILE-Programm. 2 Falls P ein WHILE-Programm ist, so ist auch ein WHILE-Programm. WHILE x i 0DO P END J. Rothe (HHU Düsseldorf) Informatik IV 11 / 30

12 WHILE-Berechenbarkeit Semantik von WHILE-Programmen Definition 1 Die Semantik von LOOP-Programmen wurde bereits definiert. 2 Das Programm P in einer WHILE-Anweisung WHILE x i 0DO P END wird wiederholt, solange der Wert von x i ungleich 0 ist. J. Rothe (HHU Düsseldorf) Informatik IV 12 / 30

13 WHILE-Berechenbarkeit WHILE-Berechenbarkeit Definition Eine Funktion f : N k N heißt WHILE-berechenbar, falls es ein WHILE-Programm P gibt, das gestartet mit n 1,..., n k in den Variablen x 1,...,x k (und 0 in den restlichen) stoppt mit dem Wert f(n 1,..., n k ) in der Variablen x 0 sofern f(n 1,...,n k ) definiert ist, andernfalls stoppt P nicht. J. Rothe (HHU Düsseldorf) Informatik IV 13 / 30

14 WHILE-Berechenbarkeit LOOP- versus WHILE-Berechenbarkeit Folgerung: Jede LOOP-berechenbare Funktion f : N k N ist WHILE-berechenbar. Bemerkung: In WHILE-Programmen kann man auf LOOP-Schleifen verzichten, denn offensichtlich kann man LOOP x i DO P END simulieren durch: x j := x i + 0; WHILE x j 0DO x j := x j 1; P END J. Rothe (HHU Düsseldorf) Informatik IV 14 / 30

15 WHILE-Berechenbarkeit WHILE-Berechenbarkeit: Potenzfunktion Beispiel: Die Potenz f : N N mit f(n) = 2 n ist WHILE-berechenbar. Idee: Berechne 2 n = }{{}. n x 0 := 1; WHILE x 1 0DO x 0 := x 0 + x 0 ; x 1 := x 1 1 END J. Rothe (HHU Düsseldorf) Informatik IV 15 / 30

16 WHILE-Berechenbarkeit LOOP- versus WHILE-Berechenbarkeit Beispiel: Das WHILE-Programm x 3 := x 1 4; WHILE x 3 0DO x 1 := x 1 + 1END; LOOP x 1 DO x 0 := x 0 + 1END; LOOP x 2 DO x 0 := x 0 + 1END berechnet die Funktion f : N 2 N mit n 1 + n 2 falls n 1 4 f(n 1, n 2 ) = undefiniert sonst. f ist aber nicht LOOP-berechenbar, da f nicht total ist. Es gibt also WHILE-berechenbare Funktionen, die nicht LOOP-berechenbar sind. J. Rothe (HHU Düsseldorf) Informatik IV 16 / 30

17 WHILE-Berechenbarkeit WHILE- versus Turing-Berechenbarkeit Theorem Jedes WHILE-Programm kann durch eine Turingmaschine simuliert werden, d.h., jede WHILE-berechenbare Funktion ist auch Turing-berechenbar. ohne Beweis J. Rothe (HHU Düsseldorf) Informatik IV 17 / 30

18 GOTO-Berechenbarkeit Syntax von GOTO-Programmen Definition GOTO-Programme bestehen aus Folgen von markierten Anweisungen: M 1 : A 1 ; M 2 : A 2 ;...; M m : A m ; Anweisungen A i dürfen dabei sein: Zuweisung: x i := x j + c, x i := x j c und x i := c, für Konstanten c N unbedingter Sprung:GOTO M i bedingter Sprung:IF x i = c THEN GOTO M j Abbruchanweisung: HALT J. Rothe (HHU Düsseldorf) Informatik IV 18 / 30

19 GOTO-Berechenbarkeit Semantik von GOTO-Programmen Definition Mit dergoto Anweisung springt man zu der Anweisung mit der angegebenen Marke. DieHALT Anweisung beendet ein GOTO Programm, d.h., die letzte Anweisung sollte entweder GOTO oder HALT sein. Bemerkung: GOTO-Programme können auch unendliche Schleifen enthalten, z.b.: M 1 :GOTO M 1 J. Rothe (HHU Düsseldorf) Informatik IV 19 / 30

20 GOTO-Berechenbarkeit GOTO-Berechenbarkeit Definition (GOTO-Berechenbarkeit) Eine Funktion f : N k N heißt GOTO-berechenbar, falls es ein GOTO-Programm P gibt, das gestartet mit n 1,..., n k in den Variablen x 1,...,x k (und 0 in den restlichen) stoppt mit dem Wert f(n 1,..., n k ) in der Variablen x 0 sofern f(n 1,...,n k ) definiert ist, andernfalls stoppt P nicht. J. Rothe (HHU Düsseldorf) Informatik IV 20 / 30

21 GOTO-Berechenbarkeit GOTO-Berechenbarkeit: Addition Beispiel: Die Addition f : N 2 N, f(n 1, n 2 ) = n 1 + n 2 ist GOTO-berechenbar. Idee: Berechne n 1 + n 2 = n 1 + } {{}. n 2 M 1 : x 0 := x 1 + 0; M 2 : IF x 2 = 0THEN GOTO M 6 ; M 3 : x 0 := x 0 + 1; M 4 : x 2 := x 2 1; M 5 : GOTO M 2 ; M 6 : HALT; J. Rothe (HHU Düsseldorf) Informatik IV 21 / 30

22 GOTO-Berechenbarkeit GOTO-Berechenbarkeit: Multiplikation Beispiel: Die Multiplikation f : N 2 N, definiert durch f(n 1, n 2 ) = n 1 n 2, ist GOTO-berechenbar (s. Übungen). J. Rothe (HHU Düsseldorf) Informatik IV 22 / 30

23 GOTO-Berechenbarkeit WHILE- versus GOTO-Berechenbarkeit Theorem Jedes WHILE-Programm kann durch ein GOTO-Programm simuliert werden, d.h., jede WHILE-berechenbare Funktion ist auch GOTO-berechenbar. Beweis: Wir simulieren die Schleife WHILE x i 0DO P END durch M 1 : IF x i = 0THEN GOTO M 2 ;... P;... GOTO M 1 ; M 2 :... J. Rothe (HHU Düsseldorf) Informatik IV 23 / 30

24 GOTO-Berechenbarkeit GOTO- versus WHILE-Berechenbarkeit Theorem Jedes GOTO-Programm kann durch ein WHILE-Programm mit einer WHILE-Schleife simuliert werden, d.h., jede GOTO-berechenbare Funktion ist auch WHILE-berechenbar. J. Rothe (HHU Düsseldorf) Informatik IV 24 / 30

25 GOTO-Berechenbarkeit GOTO- versus WHILE-Berechenbarkeit Beweis: Wir betrachten das GOTO-Programm P: M 1 : A 1 ; M 2 : A 2 ;...; M k : A k ; Wir simulieren P durch folgendes WHILE-Programm mit einer zusätzlichen Variablen x Sprung zur Simulation der Sprungmarken: x Sprung := 1; WHILE x Sprung 0DO IF x Sprung = 1THEN B 1 END; IF x Sprung = k THEN B k END END J. Rothe (HHU Düsseldorf) Informatik IV 25 / 30

26 GOTO-Berechenbarkeit GOTO- versus WHILE-Berechenbarkeit Dabei ist B i, 1 i k, wie folgt definiert: A i ; x Sprung := x Sprung + 1 falls A i eine Zuweisung ist B i = x Sprung := n IF x j = c THEN x Sprung := n falls A i =GOTO M n ist ELSE x Sprung := x Sprung + 1END falls A i =IF x j = c THENGOTO M n ist x Sprung := 0 falls A i =HALT ist Die Anweisung IF x = c THEN P ELSE P END kann, wie wir wissen, durch LOOP-Schleifen und somit auch durch WHILE-Schleifen simuliert werden. J. Rothe (HHU Düsseldorf) Informatik IV 26 / 30

27 GOTO-Berechenbarkeit Kleenesche Normalform für WHILE-Programme Folgerung: Jede WHILE-berechenbare Funktion f : N k N kann durch ein WHILE-Programm mit nur einer WHILE-Schleife (und mehreren IF-THEN-ELSE-Anweisungen) berechnet werden. J. Rothe (HHU Düsseldorf) Informatik IV 27 / 30

28 GOTO-Berechenbarkeit Kleenesche Normalform für WHILE-Programme Beweis: Es sei P ein beliebiges WHILE-Programm, das eine Funktion f berechnet. Nach dem vorletzten Satz gibt es ein GOTO-Programm P, das f berechnet. Nach dem letzten Satz gibt es ein WHILE-Programm P mit nur einer WHILE-Schleife und mehreren IF-THEN-ELSE-Anweisungen, das f berechnet. J. Rothe (HHU Düsseldorf) Informatik IV 28 / 30

29 GOTO-Berechenbarkeit Turing- versus GOTO-Berechenbarkeit Theorem Jede Turingmaschine kann durch ein GOTO-Programm simuliert werden, d.h., jede Turing-berechenbare Funktion ist auch GOTO-berechenbar. ohne Beweis J. Rothe (HHU Düsseldorf) Informatik IV 29 / 30

30 GOTO-Berechenbarkeit LOOP- vs. Turing-, WHILE-, GOTO-Berechenbarkeit Bemerkung: Aus den bisherigen Sätzen ergibt sich: GOTO-berechenbar = WHILE-berechenbar = Turing-berechenbar LOOP-berechenbar Es gibt WHILE-berechenbare Funktionen, die nicht LOOP-berechenbar sind (z.b. die Ackermann-Funktion). J. Rothe (HHU Düsseldorf) Informatik IV 30 / 30

1.2 LOOP-, WHILE- und GOTO-Berechenbarkeit

1.2 LOOP-, WHILE- und GOTO-Berechenbarkeit Die Programmiersprache LOOP (i) Syntaktische Komponenten: Variable: x 0, x 1, x 2,... Konstanten: 0, 1, 2,... Trennsymbole: ; := Operationszeichen: + Schlüsselwörter: LOOP DO END (ii) LOOP-Programme: Wertzuweisungen:

Mehr

LOOP-Programme: Syntaktische Komponenten

LOOP-Programme: Syntaktische Komponenten LOOP-Programme: Syntaktische Komponenten LOOP-Programme bestehen aus folgenden Zeichen (syntaktischen Komponenten): Variablen: x 0 x 1 x 2... Konstanten: 0 1 2... Operationssymbole: + Trennsymbole: ; :=

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2011/12 Die Registermaschine (random access machine, RAM) 0 I 0 1 I 1 2 I 2 m I m Programm

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 13. LOOP-, WHILE- und GOTO-Berechenbarkeit Malte Helmert Gabriele Röger Universität Basel 9. April 2014 Überblick: Vorlesung Vorlesungsteile I. Logik II. Automatentheorie und formale

Mehr

LOOP-Programme: Syntaktische Komponenten

LOOP-Programme: Syntaktische Komponenten LOOP-Programme: Syntaktische Komponenten LOOP-Programme bestehen aus folgenden Zeichen (syntaktischen Komponenten): Variablen: x 0 x 1 x 2... Konstanten: 0 1 2... Operationssymbole: + Trennsymbole: ; :=

Mehr

Berechenbarkeits- und Komplexitätstheorie

Berechenbarkeits- und Komplexitätstheorie Berechenbarkeits- und Komplexitätstheorie Verschiedene Berechenbarkeitsbegriffe, Entscheidbarkeit von Sprachen, Wachstumsordnungen und Komplexitätsklassen Inhaltsübersicht und Literatur Verschiedene Berechenbarkeitsbegriffe:

Mehr

Mächtigkeit von WHILE-Programmen

Mächtigkeit von WHILE-Programmen Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 23 Turingmaschine (TM) M = (Q, Σ, Γ, B, q 0, q, δ) Unendliches Band... 0 c

Mehr

Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier. Henning Fernau Universität Trier

Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier. Henning Fernau Universität Trier Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik 2 Gesamtübersicht Organisatorisches; Einführung Ersetzungsverfahren:

Mehr

Grundlagen der Theoretischen Informatik: Übung 10

Grundlagen der Theoretischen Informatik: Übung 10 Grundlagen der Theoretischen Informatik: Übung 10 Joachim Selke Fachgebiet Theoretische Informatik Universität Hannover 20. Januar 2005 Turing-Maschinen als Rechenmaschinen gegeben sei eine Funktion f

Mehr

Berechenbarkeit. Script, Kapitel 2

Berechenbarkeit. Script, Kapitel 2 Berechenbarkeit Script, Kapitel 2 Intuitiver Berechenbarkeitsbegriff Turing-Berechenbarkeit WHILE-Berechenbarkeit Church sche These Entscheidungsprobleme Unentscheidbarkeit des Halteproblems für Turingmaschinen

Mehr

Theoretische Informatik SS 03 Übung 3

Theoretische Informatik SS 03 Übung 3 Theoretische Informatik SS 03 Übung 3 Aufgabe 1 a) Sind die folgenden Funktionen f : partiell oder total: f(x, y) = x + y f(x, y) = x y f(x, y) = x y f(x, y) = x DIV y? Hierbei ist x DIV y = x y der ganzzahlige

Mehr

Berechenbarkeit und Komplexität Vorlesung 11

Berechenbarkeit und Komplexität Vorlesung 11 Berechenbarkeit und Komplexität Vorlesung 11 Prof. Dr. Wolfgang Thomas Lehrstuhl Informatik 7 RWTH Aachen 7. Dezember 2014 Wolfgang Thomas, Informatik 7 () Vorlesung Berechenbarkeit und Komplexität 7.

Mehr

Theoretische Informatik SS 03 Übung 4

Theoretische Informatik SS 03 Übung 4 Fakten aus Übung 3 Theoretische Informatik SS 03 Übung 4 In Übung 3 wurden einigen Fakten bewiesen, die für diese Übung benötigt werden. Folgende Konstrukte können mit LOOP-Programmen simuliert werden:

Mehr

Berechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP-Programme

Berechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP-Programme Berechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP-Programme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 29. November 2007 Turing-mächtige

Mehr

Berechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP Programme

Berechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP Programme Berechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP Programme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 13. November 2006 Turing-mächtige

Mehr

Berechenbarkeits- und Komplexitätstheorie

Berechenbarkeits- und Komplexitätstheorie Berechenbarkeits- und Komplexitätstheorie Verschiedene Berechenbarkeitsbegriffe, Entscheidbarkeit von Sprachen, Wachstumsordnungen und Komplexitätsklassen Inhaltsübersicht und Literatur Verschiedene Berechenbarkeitsbegriffe:

Mehr

Mitschrift BFS WS 13/14

Mitschrift BFS WS 13/14 Mitschrift BFS WS 13/14 Stand: 4. Juni 2014 Dieses Skript zum Teil Primitive und µ-rekursion der Vorlesung Berechenbarkeit und Formale Sprachen im Wintersemester 2013/14 bei Prof. Wanka wurde von untenstehenden

Mehr

2. Imperative Programmierung und Berechenbarkeit - Registermaschinen -

2. Imperative Programmierung und Berechenbarkeit - Registermaschinen - 2. Imperative Programmierung und Berechenbarkeit - Registermaschinen - 2.1 Definition 2.2 Loop-Programme 2.3 While Programme 2.4 While Programme und rekursive Funktionen Im Wesentlichen: Tafel! Maschinenmodell

Mehr

VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger VL-11: LOOP und WHILE Programme I (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger WS 2017, RWTH BuK/WS 2017 VL-11: LOOP und WHILE Programme I 1/46 Organisatorisches Nächste Vorlesung: Mittwoch,

Mehr

Wiederholung. Organisatorisches. VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

Wiederholung. Organisatorisches. VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger Organisatorisches VL-11: LOOP und WHILE Programme I (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger Nächste Vorlesung: Mittwoch, November 29, 14:15 15:45 Uhr, Roter Hörsaal Webseite: http://algo.rwth-aachen.de/lehre/ws1718/buk.php

Mehr

Proseminar Theoretische Informatik - WS07/08 - Prof. Helmut Alt. I. Einleitung Berechnungsmodelle LOOP, WHILE, GOTO, rekursive Funktionen

Proseminar Theoretische Informatik - WS07/08 - Prof. Helmut Alt. I. Einleitung Berechnungsmodelle LOOP, WHILE, GOTO, rekursive Funktionen Proseminar Theoretische Informatik - WS07/08 - Prof. Helmut Alt I. Einleitung Berechnungsmodelle LOOP, WHILE, GOTO, rekursive Funktionen Berechenbarkeitsmodelle Welchen Sinn haben diese? Wie kann man effizient

Mehr

(Prüfungs-)Aufgaben zur Berechenbarkeits- und Komplexitätstheorie

(Prüfungs-)Aufgaben zur Berechenbarkeits- und Komplexitätstheorie (Prüfungs-)Aufgaben zur Berechenbarkeits- und Komplexitätstheorie 1) Schreiben Sie ein LOOP-Programm, das die Funktion f: N \ {0} N, f (n) = n n berechnet. Sie dürfen in Ihrem Programm die Multiplikation

Mehr

Mächtigkeit von WHILE-Programmen

Mächtigkeit von WHILE-Programmen Mächtigkeit von WHILE-Programmen und rekursive Funktionen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 16. November 2010 Berthold Vöcking, Informatik 1 () Vorlesung

Mehr

GTI. Hannes Diener. 18. Juni. ENC B-0123,

GTI. Hannes Diener. 18. Juni. ENC B-0123, GTI Hannes Diener ENC B-0123, diener@math.uni-siegen.de 18. Juni 1 / 32 Als Literatur zu diesem Thema empfiehlt sich das Buch Theoretische Informatik kurzgefasst von Uwe Schöning (mittlerweile in der 5.

Mehr

Primitiv rekursive und µ-rekursive Funktionen

Primitiv rekursive und µ-rekursive Funktionen Primitiv rekursive und µ-rekursive Funktionen Loop-, While- und Goto-Programme sind vereinfachte imperative Programme und stehen für imperative Programmiersprachen, bei denen Programme als Folgen von Befehlen

Mehr

Turing-Maschinen: Ein abstrakes Maschinenmodell

Turing-Maschinen: Ein abstrakes Maschinenmodell Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar? Intuitiv: Wenn es einen Algorithmus gibt, der sie berechnet! Was heißt, eine Elementaroperation ist maschinell ausführbar? Was verstehen

Mehr

Mächtigkeit von WHILE-Programmen

Mächtigkeit von WHILE-Programmen Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 26. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Primitiv rekursive und µ-rekursive Funktionen

Primitiv rekursive und µ-rekursive Funktionen Primitiv rekursive und µ-rekursive Funktionen Slide 1 Primitiv rekursive und µ-rekursive Funktionen Hans U. Simon (RUB) Email: simon@lmi.rub.de Homepage: http://www.ruhr-uni-bochum.de/lmi Primitiv rekursive

Mehr

Dank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung

Dank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung Dank Vorlesung Theoretische Informatik II Bernhard Beckert Institut für Informatik Diese Vorlesungsmaterialien basieren zum Teil auf den Folien zu den Vorlesungen von Katrin Erk (gehalten an der Universität

Mehr

Theoretische Informatik SS 03 Übung 5

Theoretische Informatik SS 03 Übung 5 Theoretische Informatik SS 03 Übung 5 Aufgabe 1 Im Buch von Schöning ist auf S. 106-108 beschrieben, wie eine Turing-Maschine durch ein GOTO-Programm simuliert werden kann. Zeigen Sie, wie dabei die Anweisungen

Mehr

THEORETISCHE INFORMATIK UND LOGIK

THEORETISCHE INFORMATIK UND LOGIK Was bisher geschah... Grundbegriffe, die wir verstehen und erklären können: DTM, NTM, Entscheider, Aufzähler, berechenbar/entscheidbar, semi-entscheidbar, unentscheidbar, Church-Turing-These THEORETISCHE

Mehr

Mächtigkeit von LOOP-Programmen. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen

Mächtigkeit von LOOP-Programmen. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Mächtigkeit von LOOP-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 23 Die Programmiersprache LOOP Syntax Elemente eines LOOP-Programms Variablen

Mehr

Berechenbarkeit und Komplexität Vorlesung 10

Berechenbarkeit und Komplexität Vorlesung 10 Berechenbarkeit und Komplexität Vorlesung 10 Prof. Dr. Wolfgang Thomas Lehrstuhl Informatik 7 RWTH Aachen 27. November 2014 Wolfgang Thomas, Informatik 7 () Vorlesung Berechenbarkeit und Komplexität 27.

Mehr

THEORETISCHE INFORMATIK UND LOGIK

THEORETISCHE INFORMATIK UND LOGIK THEORETISCHE INFORMATIK UND LOGIK 3. Vorlesung: WHILE und LOOP Markus Krötzsch Lehrstuhl Wissensbasierte Systeme TU Dresden, 12. April 2017 Was bisher geschah... Grundbegriffe, die wir verstehen und erklären

Mehr

Primitiv rekursive Funktionen

Primitiv rekursive Funktionen Primitiv rekursive Funktionen Primitiv rekursive Funktionen Historisch: Die Einführung der primitiven Rekursivität war ein erster (und erfolgloser) Versuch, den Begriff der Berechenbarkeit (oft synonym

Mehr

1 falls n ein Anfangsabschnitt der Dezimalbruchentwicklung von π ist, f(n) = 0 sonst

1 falls n ein Anfangsabschnitt der Dezimalbruchentwicklung von π ist, f(n) = 0 sonst 21 2 Berechenbarkeit Dieses Kapitel entspricht im Wesentlichen dem Kapitel 2 (Berechenbarkeitstheorie) in [9] Jeder, der programmieren kann, weiß, dass es so etwas wie einen intuitiven Berechenbarkeitsbegriff

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2011 Lösungsblatt 9 25. Juli 2011 Einführung in die Theoretische Informatik

Mehr

Typen von Programmiersprachen

Typen von Programmiersprachen Typen von Programmiersprachen Berechenbarkeitstheorie: Formalisierung des intuitiven Berechenbarkeitsbegriffs man kann vier Typen von Programmiersprachen zum Berechnen von Zahlenfunktionen unterscheiden:

Mehr

Übung zur Vorlesung Berechenbarkeit und Komplexität

Übung zur Vorlesung Berechenbarkeit und Komplexität RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 7 26.11.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T15 Entwickeln Sie ein

Mehr

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Theoretische Informatik für Wirtschaftsinformatik und Lehramt Theoretische Informatik für Wirtschaftsinformatik und Lehramt Höhere Programmiermodelle Priv.-Doz. Dr. Stefan Milius stefan.milius@fau.de Theoretische Informatik Friedrich-Alexander Universität Erlangen-Nürnberg

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 15. primitive Rekursion und µ-rekursion Malte Helmert Gabriele Röger Universität Basel 22. April 2015 Überblick: Vorlesung Vorlesungsteile I. Logik II. Automatentheorie und formale

Mehr

Die Ackermannfunktion

Die Ackermannfunktion Die Ackermannfunktion Slide 1 Die Ackermannfunktion Hans U. Simon (RUB) Email: simon@lmi.rub.de Homepage: http://www.ruhr-uni-bochum.de/lmi Die Ackermannfunktion Slide 2 Eine Frage zu Anfang Ist jede intuitiv

Mehr

Theoretische Informatik II. WS 2007/2008 Jun.-Prof. Dr. Bernhard Beckert Ulrich Koch. 1. Teilklausur Vorname:... Nachname:...

Theoretische Informatik II. WS 2007/2008 Jun.-Prof. Dr. Bernhard Beckert Ulrich Koch. 1. Teilklausur Vorname:... Nachname:... Theoretische Informatik II WS 2007/2008 Jun.-Prof. Dr. Bernhard Beckert Ulrich Koch 1. Teilklausur 11. 12. 2007 Persönliche Daten bitte gut leserlich ausfüllen! Vorname:... Nachname:... Matrikelnummer:...

Mehr

Wir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen?

Wir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen? Einige Fragen Ziel: Wir suchen Antworten auf die folgenden Fragen: Wie kann man das intuitiv Berechenbare formal fassen? Was ist ein Algorithmus? Welche Indizien hat man dafür, dass ein formaler Algorithmenbegriff

Mehr

Def.: Die Menge der LOOP-Programme ist induktiv wie folgt definiert:

Def.: Die Menge der LOOP-Programme ist induktiv wie folgt definiert: 3. LOOP-, WHILE- und GOTO-Berechenbarkeit 3.1 LOOP-Programme Komponenten: Variablen: x 0, x 1, x 2,, y, z, Konstanten: 0, 1, 2, Trennsymbole: ; := Operationszeichen: +, - Schlüsselwörter: LOOP, DO, END

Mehr

GOTO simuliert Turingmaschinen

GOTO simuliert Turingmaschinen GOTO simuliert Turingmaschinen Wir wissen bisher: LOOP ( GOTO = WHILE TM Jetzt zeigen wir, dass auch WHILE = TM gilt: Die Turingmaschine M =(Z,,,,z 1,, E) berechne f. Wir simulieren M mit einem GOTO-Programm

Mehr

1.4 Die Ackermannfunktion

1.4 Die Ackermannfunktion a : N 2 N : Beispiele: a(0, y) = y + 1, a(x, 0) = a(x 1, 1), x > 0, a(x, y) = a(x 1, a(x, y 1)), x, y > 0. Beh.: a(1, y) = y + 2 Bew. durch Induktion über y: a(1, 0) = a(0, 1) = 2 = 0+2. a(1, y + 1) =

Mehr

Alternative Berechnungsmodelle

Alternative Berechnungsmodelle Proseminar Theoretische Informatik 01.12.2015 Alternative Berechnungsmodelle Andreas Berg, Pascal Müller, Marius Schidlack Wolfgang Mulzer 1 Der Berechenbarkeitsbegriff 1.1 intuitive Berechenbarkeit Als

Mehr

1.5 Turing-Berechenbarkeit

1.5 Turing-Berechenbarkeit A.M. Turing (1937): Maschinenmodell zur exakten Beschreibung des Begriffs effektiv berechenbar Stift Mensch a c b b Rechenblatt a b b c Lese-/Schreibkopf endliche Kontrolle Turingmaschine Eine Turingmaschine

Mehr

S. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then"

S. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort then S. d. I.: Programieren in C Folie 4-1 4 Anweisungen 4.1 if-anweisung 1) if (Ausdruck) 2) if (Ausdruck) } else im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then" es wird nur der numerische Wert

Mehr

Der Satz von Rice. Dann ist C(S) eine unentscheidbare Menge.

Der Satz von Rice. Dann ist C(S) eine unentscheidbare Menge. Der Satz von Rice Satz: Sei R die Klasse der (Turing-) berechenbaren Funktionen, S eine nichttriviale Teilmenge von R und C(S) ={w Mw berechnet eine Funktion aus S}. Dann ist C(S) eine unentscheidbare

Mehr

1.5 Turing-Berechenbarkeit

1.5 Turing-Berechenbarkeit A.M. Turing (1937): Maschinenmodell zur exakten Beschreibung des Begriffs effektiv berechenbar Stift Mensch a c b b Rechenblatt a b b c Lese-/Schreibkopf endliche Kontrolle Turingmaschine Eine Turingmaschine

Mehr

Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier. Henning Fernau Universität Trier

Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier. Henning Fernau Universität Trier Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik 2 Gesamtübersicht Organisatorisches; Einführung Ersetzungsverfahren:

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I LOOP Programme, rekursive Funktionen und der Turm von Hanoi Prof. Dr. Nikolaus Wulff Berechenbarkeit Mitte des 20. Jahrhunderts beantworteten Pioniere, wie Alan M. Turing

Mehr

Berechenbarkeit. Serie 4. Die Seminaraufgaben werden in den Übungen vom bis besprochen.

Berechenbarkeit. Serie 4. Die Seminaraufgaben werden in den Übungen vom bis besprochen. Universität Leipzig Institut für Informatik Sommersemester 2018 Prof. Dr. Andreas Maletti Gustav Grabolle Mirko Schulze Aufgaben zur Lehrveranstaltung Berechenbarkeit Serie 4 Hinweise: Abgabeschluss für

Mehr

Rekursive und primitiv rekursive Funktionen. Ein maschinenunabhängiges formales Berechnungsmodell auf den natürlichen Zahlen

Rekursive und primitiv rekursive Funktionen. Ein maschinenunabhängiges formales Berechnungsmodell auf den natürlichen Zahlen Rekursive und primitiv rekursive Funktionen Ein maschinenunabhängiges formales Berechnungsmodell auf den natürlichen Zahlen IDEE: Definiere eine Klasse von (partiell) berechenbaren Funktionen über N induktiv

Mehr

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn 26. Oktober 2015 Programme und Algorithmen Programmiersprache = Kunstsprache mit genau definierter Syntax (was ist ein zulässiger

Mehr

Rekursive Funktionen Basisfunktionen

Rekursive Funktionen Basisfunktionen Rekursive Funktionen Basisfunktionen die nullstellige Funktion Z, die den konstanten Wert 0 liefert, die Funktion S : N N, bei der jeder natürlichen Zahl ihr Nachfolger zugeordnet wird, die Funktion P

Mehr

Grundlagen Theoretischer Informatik 2 WiSe 2009/10 in Trier. Henning Fernau Universität Trier

Grundlagen Theoretischer Informatik 2 WiSe 2009/10 in Trier. Henning Fernau Universität Trier Grundlagen Theoretischer Informatik 2 WiSe 2009/10 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik 2 Gesamtübersicht Organisatorisches; Einführung Ersetzungsverfahren:

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Berechenbarkeit und Komplexität Prof. Dr. Nikolaus Wulff Berechenbarkeit Im Rahmen der Turingmaschine fiel zum ersten Mal der Begriff Berechenbarkeit. Ein Funktion f heißt

Mehr

Einführung in die Berechenbarkeitstheorie

Einführung in die Berechenbarkeitstheorie Einführung in die Berechenbarkeitstheorie Timo Kötzing 4. November 2013 1 Einleitung Dieses Dokument bietet eine kurze Einführung in die Grundlagen der Berechenbarkeitstheorie (für eine Ausführliche Behandlung

Mehr

4.4 Imperative Algorithmen Verzweigung und Iteration

4.4 Imperative Algorithmen Verzweigung und Iteration Eine weitere bedingte Schleife kann in Java mit dem Schlüsselwort for definiert werden: for (; i ; ) Alle drei Bestandteile im Schleifenkopf sind Ausdrücke

Mehr

Schleifen in C/C++/Java

Schleifen in C/C++/Java Schleifen in C/C++/Java Alle 3 Sprachen stellen mindestens die folgenden 3 Schleifenkonstruktionen zur Verfügung. In C gibt es auch keine weiteren, C++, Java und C# haben noch weitere nützliche Varianten.

Mehr

Tagesprogramm

Tagesprogramm 1 2015-10-22 Tagesprogramm Syntax und Semantik Varianten von Schleifen Varianten von Programmverzweigungen 2 2015-10-22 Syntax und Semantik Darstellung der Syntax Syntax: Aufbau der Sätze bzw. Programme

Mehr

3. RAM als Rechnermodell

3. RAM als Rechnermodell 3. RAM als Rechnermodell Motivation Wir möchten Berechnungsvorschriften (Algorithmen) formal beschreiben und deren Eigenschaften wie Korrektheit und Laufzeit analysieren Rechnermodell abstrahiert vom verwendeten

Mehr

Tag 3 Repetitorium Informatik (Java)

Tag 3 Repetitorium Informatik (Java) Tag 3 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Typkonvertierung

Mehr

8. Rekursive und primitiv rekursive Funktionen

8. Rekursive und primitiv rekursive Funktionen 8. Rekursive und primitiv rekursive Funktionen In diesem Abschnitt führen wir eine weitere (letzte) Formalisierung des Berechenbarkeitskonzeptes für Funktionen über den natürlichen Zahlen ein. Hatten wir

Mehr

Informatik I Übung, Woche 40

Informatik I Übung, Woche 40 Giuseppe Accaputo 2. Oktober, 2014 Plan für heute 1. Fragen & Nachbesprechung Übung 2 2. Zusammenfassung der bisherigen Vorlesungsslides 3. Tipps zur Übung 3 Informatik 1 (D-BAUG) Giuseppe Accaputo 2 Nachbesprechung

Mehr

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekt mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 15. Ackermannfunktion Malte Helmert Gabriele Röger Universität Basel 28. April 2014 Überblick: Vorlesung Vorlesungsteile I. Logik II. Automatentheorie und formale Sprachen III. Berechenbarkeitstheorie

Mehr

Funktionale Programmierung ALP I. µ-rekursive Funktionen WS 2012/2013. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda

Funktionale Programmierung ALP I. µ-rekursive Funktionen WS 2012/2013. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda ALP I µ-rekursive Funktionen WS 2012/2013 Primitiv-rekursive Funktionen Jede primitiv-rekursive Funktion ist Loop-berechenbar. Das bedeutet, dass jede PR-Funktion in der Loop-Programmiersprache formuliert

Mehr

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn Algorithmen und Programme Algorithmus Schritt-für-Schritt Vorschrift zur Lösung eines Problems. Formuliert man umgangssprachlich,

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 9 2. Juli 2010 Einführung in die Theoretische

Mehr

Semantik von Programmiersprachen SS 2017

Semantik von Programmiersprachen SS 2017 Lehrstuhl für Programmierparadigmen Denis Lohner Sebastian Ullrich denis.lohner@kit.edu sebastian.ullrich@kit.edu Semantik von Programmiersprachen SS 2017 http://pp.ipd.kit.edu/lehre/ss2017/semantik Lösungen

Mehr

Universelle Rechner und Church sche These

Universelle Rechner und Church sche These Universelle Rechner und Church sche These Slide 1 Universelle Rechner und Church sche These Hans U. Simon (RUB) Email: simon@lmi.rub.de Homepage: http://www.ruhr-uni-bochum.de/lmi Universelle Rechner und

Mehr

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser

Mehr

Registermaschine (RAM), Church-Turing-These

Registermaschine (RAM), Church-Turing-These Registermaschine (RAM), Church-Turing-These Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 21. Oktober 2010 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

{P} S {Q} {P} S {Q} {P} S {Q} Inhalt. Hoare-Kalkül. Hoare-Kalkül. Hoare-Tripel. Hoare-Tripel. Hoare-Tripel

{P} S {Q} {P} S {Q} {P} S {Q} Inhalt. Hoare-Kalkül. Hoare-Kalkül. Hoare-Tripel. Hoare-Tripel. Hoare-Tripel Inhalt Hoare-Kalkül Formale Verifizierung Hoare-Kalkül while-sprache Terminierung Partielle / totale Korrektheit 4.0 Hoare-Kalkül entwickelt von C.A.R. (Tony) Hoare (britischer Informatiker), 1969 formales

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2011 Lösungsblatt 8 18. Juli 2011 Einführung in die Theoretische Informatik

Mehr

Informatik I Übung, Woche 40

Informatik I Übung, Woche 40 Giuseppe Accaputo 1. Oktober, 2015 Plan für heute 1. Nachbesprechung Übung 2 2. Vorbesprechung Übung 3 3. Zusammenfassung der für Übung 3 wichtigen Vorlesungsslides Informatik 1 (D-BAUG) Giuseppe Accaputo

Mehr

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 139 Unentscheidbarkeit Überblick Zunächst einmal definieren wir formal

Mehr

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 5. Kontrollstrukturen Allgemein Kontrollstrukturen dienen zur Steuerung des Programmablaufs. (Bemerkung: C und C++ besitzen die selben Kontrollstrukturen.)

Mehr

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn November 2016 Algorithmen und Programme Algorithmus = Schritt-für-Schritt Vorschrift zur Lösung eines Problems. Formuliert man

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Registermaschine David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Registermaschinen Algorithmusbegriff konkretisiert formale Beschreibung

Mehr

Unvollständigkeit der Arithmetik

Unvollständigkeit der Arithmetik Unvollständigkeit der Arithmetik Slide 1 Unvollständigkeit der Arithmetik Hans U. Simon (RUB) Email: simon@lmi.rub.de Homepage: http://www.ruhr-uni-bochum.de/lmi Unvollständigkeit der Arithmetik Slide

Mehr

2.4 Schleifen. Schleifen unterscheiden sich hinsichtlich des Zeitpunktes der Prüfung der Abbruchbedingung:

2.4 Schleifen. Schleifen unterscheiden sich hinsichtlich des Zeitpunktes der Prüfung der Abbruchbedingung: 2.4 Schleifen Schleifen beschreiben die Wiederholung einer Anweisung bzw. eines Blocks von Anweisungen (dem Schleifenrumpf) bis eine bestimmte Bedingung (die Abbruchbedingung) eintritt. Schleifen unterscheiden

Mehr

Unentscheidbarkeitssätze der Logik

Unentscheidbarkeitssätze der Logik Unentscheidbarkeitssätze der Logik Elmar Eder () Unentscheidbarkeitssätze der Logik 1 / 30 Die Zahlentheorie ist nicht formalisierbar Satz (Kurt Gödel) Zu jedem korrekten formalen System der Zahlentheorie

Mehr

Theoretische Informatik II

Theoretische Informatik II Theoretische Informatik II Einheit 4.2 Rekursive Funktionen 1. Primitiv- und µ-rekursive Funktionen 2. Analyse und Programmierung 3. Äquivalenz zu Turingmaschinen Berechenbarkeit auf N ohne Maschinenmodelle

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 11 15. Juli 2010 Einführung in die Theoretische

Mehr

Registermaschine (RAM), Church-Turing-These. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen

Registermaschine (RAM), Church-Turing-These. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Registermaschine (RAM), Church-Turing-These Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 22 Registermaschinen (RAM) Programm b c(0) c(1) c(2) c(3) c(4)...

Mehr

Ideen und Konzepte der Informatik

Ideen und Konzepte der Informatik Ideen und Konzepte der Informatik Programme und Algorithmen Antonios Antoniadis 23. Oktober 2017 Algorithmen und Programme Algorithmus Schritt-für-Schritt Vorschrift zur Lösung eines Problems. Formuliert

Mehr

Von der Programmiersprache WHILE zum ersten Einstieg in Java

Von der Programmiersprache WHILE zum ersten Einstieg in Java Von der Programmiersprache WHILE zum ersten Einstieg in Java Die Programmiersprache WHILE bildet den Kern jeder imperativen Programmiersprache. Man geht davon aus, dass die Ein- Ausgabe primitiv organisiert

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Maximilian Haslbeck Fabian Mitterwallner Georg Moser David Obwaller cbr.uibk.ac.at Zusammenfassung der letzten LVA Definition Eine Registermaschine (RM) R ist

Mehr

Nachklausur zur Vorlesung

Nachklausur zur Vorlesung Lehrstuhl für Theoretische Informatik Prof. Dr. Markus Lohrey Grundlagen der Theoretischen Informatik Nachklausur Nachklausur zur Vorlesung Grundlagen der Theoretischen Informatik WS 2016/17 / 27. Februar

Mehr

Mehrband-Turingmaschinen

Mehrband-Turingmaschinen Mehrband-Turingmaschinen Definition wie bei 1-Band-TM, nur mehrere Bänder. Dann natürlich pro Band ein Schreib-/Lesekopf. Übergangsfunktion von Z k nach Z k {L, R, N} k. Satz: Zu jeder Mehrband-Turingmaschine

Mehr

Primitive Rekursion. Basisfunktionen: Konstante Funktion: const 3 3 (1,1, pr 1,3(g,h) (1,1)) Projektion: proj 3 (1,1, pr. Komposition: comp 3,2

Primitive Rekursion. Basisfunktionen: Konstante Funktion: const 3 3 (1,1, pr 1,3(g,h) (1,1)) Projektion: proj 3 (1,1, pr. Komposition: comp 3,2 Primitive Rekursion Basisfunktionen: Konstante Funktion: const Stelligkeit. Wert des Ergebnisses. Unabhängig von den Parametern. const (,, pr,(g,h) (,)) Stelligkeit. Projektion: proj Gibt die Komponente

Mehr

Berechenbarkeit. Script, Kapitel 2

Berechenbarkeit. Script, Kapitel 2 Berechenbarkeit Script, Kapitel 2 Intuitiver Berechenbarkeitsbegriff Turing-Berechenbarkeit WHILE-Berechenbarkeit Church sche These Entscheidungsprobleme Unentscheidbarkeit des Halteproblems für Turingmaschinen

Mehr