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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 GTI Hannes Diener ENC B-0123, 18. Juni 1 / 32

2 Als Literatur zu diesem Thema empfiehlt sich das Buch Theoretische Informatik kurzgefasst von Uwe Schöning (mittlerweile in der 5. Auflage, von der 4. Auflage sind mehrere in der Unibib ausleihbar). 2 / 32

3 Kommen wir als nächstes zu unserem zweiten Ansatz zur Berechenbarkeit. Diesmal werden wir Berechenbarkeit über eine idealisierte (und extrem vereinfachte) Programmiersprache definieren. 3 / 32

4 Definieren wir zunächst die Syntax; d.h. wie unsere Programme formal aufgebaut sein müssen. Unsere Programme sind aus folgenden syntaktischen 1 Komponenten aufgebaut: Variablen: x 0, x 1,... Konstanten: 0, 1,... Trennsymbole: ; := Operationssymbole: +, Schlüsselwörter: LOOP, DO, END 1 Prinzipiell ist dies kein Alphabet, selbst wenn wir z.b. LOOP als ein Symbol auffassen. Das Problem ist, daß es unendlich viele Variablen und Konstanten gibt. Hier kann man sich mit dem folgendem angedeuteten Trick behelfen: Als Variablen verwenden wir x, x,.... Auf diese Weise benötigt man nur zwei Symbole x, zur Darstellung aller Variablen. 4 / 32

5 LOOP-Programme sind jetzt induktiv definiert 2 : Jede Zuweisung der Form x i := x j + c und x i := x j c ist ein LOOP-Programm. Sind P 1 und P 2 LOOP-Programme, so auch P 1 ; P 2 Ist x i eine Variable und P ein LOOP-Programm, so ist LOOP x i DO P END ein LOOP-Programm. 2 In einer Übung werden Sie eine alternative Definition über eine Grammatik definieren. 5 / 32

6 LOOP-Programme sind bis zu dieser Stelle vollkommen bedeutungslos. 3 D.h. zunächst nur formale Wörter ohne Bedeutung. Ihre Semantik müssen wir ihnen als nächstes geben. 3 Wortspiel 6 / 32

7 Definition Eine Speicherbelegung σ ist eine totale Funktion mit Werten in den natürlichen Zahlen definiert auf der Menge aller Variablen {x 0, x 1,... }. Ist σ nur auf endlich vielen Werten x i1,..., x ik nicht null 4, so schreiben wir in Zeichen Also z.b. [x i1 σ(x i1 ),..., x ik σ(x ik )]. [x 1 5, x 3 42, x 42 3]. Des Weiteren sei σ[x i n] die Speicherbelegung, die definiert ist durch { σ(x j ) falls i j σ[x i n](x j ) = n sonst. 4 D.h. also daß z.b. [x 1 3](x 5) = 0. 7 / 32

8 Wir können nun induktiv eine Übergangsrelation definieren, welche beschreibt, welchen Effekt LOOP-Programme auf Speicherbelegungen hat. Sei hierfür LOOP die Menge aller LOOP-Programme und S die Menge aller Speicherbelegungen. Dann ist (LOOP S) S definiert durch Ist P eine Zuweisung der Form x i := x j + c, so ist P σ σ[x i n], wobei n = σ(x j ) + c. Ist P eine Zuweisung der Form x i := x j c, so ist P σ σ[x i n], wobei n = max{σ(x j ) c, 0}. 8 / 32

9 Gilt P 1 σ σ und P 2 σ σ, so gilt auch P 1 ; P 2 σ σ Ist P von der Form LOOP x i DO Q END, σ(x i ) = n und so gilt Q; Q;... Q σ σ }{{} n mal P σ σ. Man beachte, daß Q zwar die Variable x i verändern darf, dies aber keinen Einfluss darauf hat, wie oft Q durchlaufen wird. 9 / 32

10 Satz Sei P ein Programm und σ eine Speicherbelegung. Dann gibt es genau eine Speicherbelegung σ, so daß P σ σ. Insbesondere gilt dies natürlich, wenn σ eine Start-Speicherbelegung ist. 10 / 32

11 Bevor wir wieder formal einen entsprechenden Berechenbarkeitsbegriff einführen ein Beispiel Sei P = LOOP x 1 DO x 2 := x END; x 1 := x Des Weiteren sei σ 1 = [x 1 3, x 2 2] Dann gilt, mit obiger Definition: (x 2 := x 2 + 1) σ 1 σ 1 [x 2 3] (x 2 := x 2 + 1) σ 1 [x 2 3] σ 1 [x 2 4] Zusammen also (x 2 := x 2 + 1); (x 2 := x 2 + 1) σ 1 σ 1 [x 2 4] 11 / 32

12 Etwas weniger ausführlich machen wir weiter: (x 2 := x 2 +1); (x 2 := x 2 +1); (x 2 := x 2 +1) σ 1 σ 1 [x 2 5] Also, da σ 1 (x 1 ) = 3 LOOP x 1 DO x 2 := x END; σ 1 σ 1 [x 2 5] In einem letzten Schritt P σ 1 [x 1 5, x 2 5] 12 / 32

13 In der Variable x 1 steht also nach Ausführen des Programms P eine 5, was genau die Summe von 2 und 3 entspricht. Allgemein kann man leicht beweisen, daß P [x 1 m, x 2 n] [x 1 m + n, x 2 m + n]. In gewisser Weise berechnet das Programm P also die Addition! 13 / 32

14 In gewisser Weise berechnet das Programm P also die Addition! In welcher Weise genau? Definition Die von P berechnete (k-stellige) Funktion P k : N k N ist definiert durch P k (n 1,..., n k ) = σ (x 1 ), wobei σ die nach obigen Satz die eindeutige Speicherbelegung ist, für die gilt, daß P [x 1 n 1,..., x k n k ] σ 14 / 32

15 Beobachtung Für ein LOOP-Programm P ist P k eine totale Funktion Dies ist schon ein erster Hinweis, daß der Begriff der LOOP-Berechenbarkeit nicht unserem intuitiven Begriff der Berechenbarkeit entspricht, da wir in der Einführung ja gesagt hatten, daß es auch partielle berechenbare Funktionen gibt. 15 / 32

16 Natürlich definieren wir Definition Eine Funktion f : N k N ist LOOP-berechenbar, wenn es ein LOOP-Programm P gibt, so daß P k = f. 16 / 32

17 Syntaktischer Zucker: Normalerweise enthalten imperative Programmiersprachen bedingte Anweisungen. Diese können wir mit einem Trick simulieren (d.h. wir müssen diese nicht extra zu unserer Sprache hinzufügen). Hierzu sei für ein LOOP-Programm P und eine Variable x i IF x i THEN P END die abkürzende Schreibweise für x j := 1; LOOP x i DO x j := 0 END; LOOP x j DO P END; x j := 0; wobei x j eine Variable ist, die nicht in P vorkommt. 17 / 32

18 Syntaktischer Zucker: Dies hat genau den gewünschten Effekt: Gilt P σ σ und ist σ(x i ) = 0, so kann man leicht zeigen, daß IF x i = 0 THEN P END σ σ Für σ(x i ) 0 kann man analog zeigen, daß IF x i = 0 THEN P END σ σ 18 / 32

19 Mit diesen syntaktischen Kohlenhydraten gestärkt können wir jetzt leicht zeigen: Satz Die Addition, (abgeschnittene) Subtraktion, Differenz, Multiplikation, Division (ohne Rest) und die Mod-Funktion (der Rest einer Division) sind alle LOOP berechenbar. 19 / 32

20 Einschub: λ Notation. In der Definition Sei f eine Funktion, definiert durch f (n) = n ist der Name f der Funktion ja eigentlich irrelevant; insbesondere, wenn wir uns später nicht mehr darauf beziehen. Die Lösung sind anonyme Funktionen in Churchs Lambda-Notation: λx.t(x) wobei x eine Variable und t ein Term ist, und für die Funktion steht, die jedes x auf t(x) abbildet. Also in unserem Beispiel λn.n / 32

21 Einschub: λ Notation. In der Definition Sei f eine Funktion, definiert durch f (n) = n ist der Name f der Funktion ja eigentlich irrelevant; insbesondere, wenn wir uns später nicht mehr darauf beziehen. Die Lösung sind anonyme Funktionen in Churchs Lambda-Notation: λx.t(x) wobei x eine Variable und t ein Term ist, und für die Funktion steht, die jedes x auf t(x) abbildet. Also in unserem Beispiel λn.n Diese Notation macht auch den Unterschied zwischen Termen und Funktionen klarer. 20 / 32

22 Mehr Syntaktischer Zucker: Ist P ein Programm, so steht der Ausdruck x j := P(x i1,..., x ik ) abkürzend für das Programm x j1 := x 1 ; x 1 := x i1 ;... ; x jk := x k ; P; x j := x 1 ; x 1 := x j1 ;... x k := x jk wobei die Variablen x j1,..., x jk frische Variablen sind, d.h. nirgendwo sonst verwendet werden. Sei beispielsweise ADD das oben behandelte erste Beispiel eines LOOP-Programms. So können wir nun auch, mit etwas Streuen von syntaktischen Zucker, auch Befehle wie x 4 := ADD(x 1, x 2 ) verwenden. 21 / 32

23 LOOP Funktionen sind ausserdem unter einer Vielzahl von Operationen abgeschlossen. Z.B. Fallunterscheidung: Lemma Sind f, g, h : N N LOOP-berechenbar, so auch die Funktion F : N N definiert durch { g(n) falls h(x) = 0 F (n) = f (n) falls h(x) 0 LOOP berechenbar. Beispiel: Die 3n + 1 Funktion. 22 / 32

24 Noch ein weiteres Beispiel: Beispiel Die Fakultätsfunktion λn.n! ist LOOP-berechenbar. 23 / 32

25 Dies ist ein Spezialfall der folgenden primitiven Rekursion Ist h : N 2 N eine Funktion und g N ein Wert, und sei f : N N definiert durch f (0) = g und f (n + 1) = h(n, f (n)); Satz Ist h LOOP berechenbar, so auch die Funktion f. 24 / 32

26 Mehr noch: wir können alles natürlich noch von k Parametern abhängen lassen. Also Definition Sind h : N k+2, g : N k N und f : N k+1 N Funktionen, so daß f (0, y 1,..., y k ) = g(y 1,..., y k ) f (n + 1, y 1,..., y k ) = h(n, f (n, y 1,..., y k ), y 1,..., y k ). So sagen wir, daß f durch primitive Rekursion aus g und h hervorgeht. Satz LOOP-Programme sind unter primitiver Rekursion abgeschlossen; d.h. sind f, g, h wie oben und g, h LOOP-berechenbar, so ist auch f LOOP-berechenbar. 25 / 32

27 WHILE-Programme weiteres Konstrukt. Wie schon angedeutet umfasst der Begriff der LOOP-Berechenbarkeit nicht alle intuitiv berechenbaren Funktionen (konkretes Beispiel später in Form der Ackermann-Funktion). Wir erweitern deshalb unsere Programmiersprache um ein 26 / 32

28 Definition Die Menge der WHILE-Programme ist genauso definiert wie die LOOP-Programme, aber zusätzlich ist auch, wenn P ein WHILE-Programm ist und x i eine Variable, so ist auch WHILE x i 0 DO P END ein WHILE-Programm. 27 / 32

29 Die Semantik der WHILE-Programme ist auch definiert wie die der LOOP-Programme, allerdings gilt zusätzlich: Sind σ 1, σ 2,..., σ n Speicherbelegungen so daß σ j (x i ) 0 für j < n und σ n (x i ) = 0 und P σ j σ j+1 für j < n, so gilt WHILE x i 0 DO P END σ 1 σ n. Ist σ eine Speicherbelegung, so daß σ(x i ) = 0, so gilt WHILE x i 0 DO P END σ σ. 28 / 32

30 Beobachtung LOOP-Schleifen können durch WHILE-Schleifen ersetzt werden. 29 / 32

31 Alle Beobachtungen über LOOP-Programme übertragen sich analog auch auf WHILE-Programme. Mit einer Ausnahme: Beispiel Es gibt WHILE-Programme P und Speicherbelegungen σ, so daß es keine Speicherbelegung σ gibt, mit P σ σ. Trotzdem gilt noch die Eindeutigkeit. Satz Ist P ein WHILE-Programm σ, σ Speicherbelegungen mit P σ σ, so ist σ eindeutig. 30 / 32

32 Definition Die von einem WHILE-Programm P berechnete (k-stellige) partielle Funktion P k : N k N ist definiert durch P k (n 1,..., n k ) = { σ (x 1 ) falls P [x 1 n 1,..., x k n k ] σ falls es kein solches σ gibt., Natürlich definieren wir auch hier Definition Eine partielle Funktion f : N k N ist WHILE-berechenbar, wenn es ein WHILE-Programm P gibt, so daß P k = f. 31 / 32

33 Beispiel Die Funktion sqrt : N N definiert durch { n falls n Qudratzahl ist sqrt(n) = sonst ist WHILE-berechenbar. 32 / 32

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

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

Syntax von LOOP-Programmen

Syntax von LOOP-Programmen 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:

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

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

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

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

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

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

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

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

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

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

(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

GTI. µ-rekursive Funktionen. Hannes Diener. 20. Juni 2. Juli. ENC B-0123,

GTI. µ-rekursive Funktionen. Hannes Diener. 20. Juni 2. Juli. ENC B-0123, GTI µ-rekursive Funktionen Hannes Diener ENC B-0123, diener@math.uni-siegen.de 20. Juni 2. Juli 1 / 31 µ-rekursive Funktionen Kommen wir als nächstes zu unserem dritten Ansatz zur Berechenbarkeit. Diesmal

Mehr

4. Induktives Definieren - Themenübersicht

4. Induktives Definieren - Themenübersicht Induktives Definieren 4. Induktives Definieren - Themenübersicht Induktives Definieren Natürliche Zahlen Operationen auf natürlichen Zahlen Induktive Algorithmen Induktiv definierte Mengen Binärbäume Boolesche

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

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

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

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

Berechenbarkeitsmodelle

Berechenbarkeitsmodelle Berechenbarkeit 2 Endliche Automaten erkennen nicht alle algorithmisch erkennbaren Sprachen. Kontextfreie Grammatiken erzeugen nicht alle algorithmisch erzeugbaren Sprachen. Welche Berechnungsmodelle erlauben

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

Einführung in die Informatik I (autip)

Einführung in die Informatik I (autip) Einführung in die Informatik I (autip) Dr. Stefan Lewandowski Fakultät 5: Informatik, Elektrotechnik und Informationstechnik Abteilung Formale Konzepte Universität Stuttgart 24. Oktober 2007 Was Sie bis

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

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

C.3 Funktionen und Prozeduren

C.3 Funktionen und Prozeduren C3 - Funktionen und Prozeduren Funktionsdeklarationen in Pascal auch in Pascal kann man selbstdefinierte Funktionen einführen: Funktionen und Prozeduren THEN sign:= 0 Funktion zur Bestimmung des Vorzeichens

Mehr

Zahlen und elementares Rechnen

Zahlen und elementares Rechnen und elementares Rechnen Christian Serpé Universität Münster 7. September 2011 Christian Serpé (Universität Münster) und elementares Rechnen 7. September 2011 1 / 51 Gliederung 1 2 Elementares Rechnen 3

Mehr

ALP I Rekursive Funktionen

ALP I Rekursive Funktionen ALP I Rekursive Funktionen SS 2011 Äquivalenz vieler Berechnungsmodelle Effektiv Berechenbare Funktionen Mathematische Modelle Maschinelle Modelle Text λ-kalkül Kombinatorische Logik Allgemein rekursive

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

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

6. Rekursive und primitiv rekursive Funktionen. Ein maschinenunabhängiges formales Berechnungsmodell auf den natürlichen Zahlen 6. 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

Mehr

Die Programmiersprache C Eine Einführung

Die Programmiersprache C Eine Einführung Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert

Mehr

Zahlen und elementares Rechnen (Teil 1)

Zahlen und elementares Rechnen (Teil 1) und elementares Rechnen (Teil 1) Dr. Christian Serpé Universität Münster 6. September 2010 Dr. Christian Serpé (Universität Münster) und elementares Rechnen (Teil 1) 6. September 2010 1 / 40 Gliederung

Mehr

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Kontrollstrukturen, Pseudocode und Modulo-Rechnung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 29.10.2012 CoMa-Übung III (TU Berlin) Kontrollstrukturen, Pseudocode und Modulo-Rechnung 29.10.2012 1 / 1 Themen der Übung 1

Mehr

Automaten und Formale Sprachen

Automaten und Formale Sprachen Automaten und Formale Sprachen Prof. Dr. Dietrich Kuske FG Theoretische Informatik, TU Ilmenau Wintersemester 2011/12 WS 11/12 1 Organisatorisches zur Vorlesung Informationen, aktuelle Version der Folien

Mehr

Interpreter - Gliederung

Interpreter - Gliederung Institut für Informatik Ludwig-Maximilian Universität Interpreter - Gliederung Programmiersprache Syntax Konkrete Syntax Abstrakter Syntax Baum (Abstrakte Syntax) Parser Syntaktische Struktur einer Sprache

Mehr

Ausgewählte unentscheidbare Sprachen

Ausgewählte unentscheidbare Sprachen Proseminar Theoretische Informatik 15.12.15 Ausgewählte unentscheidbare Sprachen Marian Sigler, Jakob Köhler Wolfgang Mulzer 1 Entscheidbarkeit und Semi-Entscheidbarkeit Definition 1: L ist entscheidbar

Mehr

Funktionale Programmierung. Funktionale Programmierung: Vorlesungsüberblick. Eigenschaften rein funktionaler Programmierung

Funktionale Programmierung. Funktionale Programmierung: Vorlesungsüberblick. Eigenschaften rein funktionaler Programmierung Funktionale Programmierung 1 Funktionale Programmierung: Vorlesungsüberblick 1. Funktionale Programmierung Prinzipien funktionaler Programmierung Funktionale Programmierung in prozeduralen Sprachen Rekursive

Mehr

Lineare Abhängigkeit

Lineare Abhängigkeit Lineare Abhängigkeit Vorbemerkung. Es sei X eine Menge. Eine Familie von Elementen von X ist eine Abbildung I X, i x i. I heißt dabei Indexmenge. Man verwendet dabei oft die Schreibweise (x i ) oder (x

Mehr

Die Church-Turing-These

Die Church-Turing-These Die Church-Turing-These Elmar Eder () Die Church-Turing-These 1 / 12 Formale Systeme Formale Systeme µ-partiellrekursive Funktionen Logikkalküle SLD-Resolution (Prolog) Chomsky-Grammatiken Turing-Maschinen

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen mit konstantem Platzbedarf: Die Klasse REG Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August

Mehr

Einführung in die Informatik 1

Einführung in die Informatik 1 Einführung in die Informatik 1 Algorithmen und algorithmische Sprachkonzepte Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag,

Mehr

Kapitel 4. Induktive Definitionen und Beweise

Kapitel 4. Induktive Definitionen und Beweise Kapitel 4 Induktive Definitionen und Beweise Bei der Definition der Semantik der Programmiersprache IMP haben wir an vielen verschiedenen Stellen induktive Definitionen benutzt: angefangen bei der Syntax

Mehr

Axiomatische Beschreibung der ganzen Zahlen

Axiomatische Beschreibung der ganzen Zahlen Axiomatische Beschreibung der ganzen Zahlen Peter Feigl JKU Linz peter.feigl@students.jku.at 0055282 Claudia Hemmelmeir JKU Linz darja@gmx.at 0355147 Zusammenfassung Wir möchten in diesem Artikel die ganzen

Mehr

Mathematik für Naturwissenschaftler I WS 2009/2010

Mathematik für Naturwissenschaftler I WS 2009/2010 Mathematik für Naturwissenschaftler I WS 2009/2010 Lektion 4 23. Oktober 2009 Kapitel 1. Mengen, Abbildungen und Funktionen (Fortsetzung) Berechnung der Umkehrfunktion 1. Man löst die vorgegebene Funktionsgleichung

Mehr

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben

Mehr

1 Potenzen und Polynome

1 Potenzen und Polynome 1 Potenzen und Polynome Für eine reelle Zahl x R und eine natürliche Zahl n N definieren wir x n := x x x... x }{{} n-mal Einschub über die bisher aufgetretenen mathematischen Symbole: Definition mittels

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

Übung Theoretische Grundlagen

Übung Theoretische Grundlagen Übung Theoretische Grundlagen Berechenbarkeit/Entscheidbarkeit Nico Döttling November 26, 2009 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory

Mehr

Komplexität von Algorithmen

Komplexität von Algorithmen Komplexität von Algorithmen Prof. Dr. Christian Böhm WS 07/08 in Zusammenarbeit mit Gefei Zhang http://www.dbs.informatik.uni-muenchen.de/lehre/nfinfosw Ressourcenbedarf - Größenordnungen Prozesse verbrauchen

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik echnische Universität München Fakultät für Informatik Prof. obias Nipkow, Ph.D. ascha öhme, Lars Noschinski ommersemester 2011 Lösungsblatt 5 6. Juni 2011 Einführung in die heoretische Informatik Hinweis:

Mehr

Algorithmen und Programmierung

Algorithmen und Programmierung Algorithmen und Programmierung Kapitel 5 Formale Algorithmenmodelle A&P (WS 14/15): 05 Formale Algorithmenmodelle 1 Überblick Motivation Formale Algorithmenmodelle Registermaschine Abstrakte Maschinen

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

Sprachen und Programmiersprachen

Sprachen und Programmiersprachen Sprachen und Programmiersprachen Natürliche Sprachen versus Programmiersprachen / Spezifikationssprachen Syntax legt die grammatikalische Korrektheit fest. Semantik legt die Bedeutung von syntaktisch korrekten

Mehr

II. Grundlagen der Programmierung

II. Grundlagen der Programmierung II. Grundlagen der Programmierung II.1. Zahlenssteme und elementare Logik 1.1. Zahlenssteme 1.1.1. Ganze Zahlen Ganze Zahlen werden im Dezimalsstem als Folge von Ziffern 0, 1,..., 9 dargestellt, z.b. 123

Mehr

6 F O R M A L E S P R A C H E N. 6.1 formale sprachen

6 F O R M A L E S P R A C H E N. 6.1 formale sprachen 6.1 formale sprachen 6 F O R M A L E S P R A C H E N Eine natürliche Sprache umfasst mehrere Aspekte, z. B. Aussprache und Stil, also z. B. Wortwahl und Satzbau. Dafür ist es auch notwendig zu wissen,

Mehr

SWP Prüfungsvorbereitung

SWP Prüfungsvorbereitung 20. Juni 2011 1 Grammatiken 2 LL(1) 3 EXP 4 Datentypen 5 LP Grammatiken Angabe Erstellen Sie First- und Follow-Mengen aller Non-Terminale der folgenden Grammatik. S a S S B y B A C A A b b A x A ɛ C c

Mehr

Kapitel 4: Syntaxdiagramme und Grammatikregeln

Kapitel 4: Syntaxdiagramme und Grammatikregeln 4. Syntaxdiagramme und Grammatikregeln 4-1 Objektorientierte Programmierung (Winter 2006/2007) Kapitel 4: Syntaxdiagramme und Grammatikregeln Syntaxdiagramme Grammatikregeln (kontextfrei) Beispiele: Lexikalische

Mehr

Differenzengleichungen. und Polynome

Differenzengleichungen. und Polynome Lineare Differenzengleichungen und Polynome Franz Pauer Institut für Mathematik, Universität Innsbruck Technikerstr. 13/7, A-600 Innsbruck, Österreich franz.pauer@uibk.ac.at 1 Einleitung Mit linearen Differenzengleichungen

Mehr

Statt (r s) schreiben wir in Zukunft meistens rs, gelegentlich auch (r; s).

Statt (r s) schreiben wir in Zukunft meistens rs, gelegentlich auch (r; s). 14 2 REGULÄRE AUSDRÜCKE 2 Reguläre Ausdrücke Wir wollen (i.a. unendliche) Sprachen mit endlichen Mitteln darstellen, z.b. durch Grammatiken, nach denen die Sätze der Sprache gebildet werden dürfen. Es

Mehr

Werkzeuge zur Programmentwicklung

Werkzeuge zur Programmentwicklung Werkzeuge zur Programmentwicklung B-15 Bibliothek Modulschnittstellen vorübersetzte Module Eingabe Editor Übersetzer (Compiler) Binder (Linker) Rechner mit Systemsoftware Quellmodul (Source) Zielmodul

Mehr

Induktive Beweise und rekursive Definitionen

Induktive Beweise und rekursive Definitionen Induktive Beweise und rekursive Definitionen Vorlesung Logik in der Informatik, HU Berlin 1. Übungsstunde Beweis durch vollständige Induktion über N Aufgabe 1 Zeige, dass für alle n N gilt: n 2 i = 2 n+1

Mehr

1.2 Eigenschaften der ganzen Zahlen

1.2 Eigenschaften der ganzen Zahlen Lineare Algebra I WS 2015/16 c Rudolf Scharlau 13 1.2 Eigenschaften der ganzen Zahlen Dieser Abschnitt handelt von den gewöhlichen ganzen Zahlen Z und ihren Verknüpfungen plus und mal. Man kann die natürlichen

Mehr

JAVA-Datentypen und deren Wertebereich

JAVA-Datentypen und deren Wertebereich Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).

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

2 ZAHLEN UND VARIABLE

2 ZAHLEN UND VARIABLE Zahlen und Variable 2 ZAHLEN UND VARIABLE 2.1 Grundlagen der Mengenlehre Unter einer Menge versteht man die Zusammenfassung von unterscheidbaren Objekten zu einem Ganzen. Diese Objekte bezeichnet man als

Mehr

Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at

Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at Inhalt SWP Funktionale Programme (2. Teil) Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at Interpreter für funktionale Sprache

Mehr

Übung zu Grundbegriffe der Informatik. Simon Wacker. 15. November 2013

Übung zu Grundbegriffe der Informatik. Simon Wacker. 15. November 2013 Übung zu Grundbegriffe der Informatik Simon Wacker 15. November 2013 Vollständige Induktion über die Wortlänge Es sei B ein Alphabet. Dann ist B = n N 0 B n. Für jedes Wort w B sei A w eine Aussage, die

Mehr

Induktive Beweise und rekursive Definitionen

Induktive Beweise und rekursive Definitionen Induktive Beweise und rekursive Definitionen Vorlesung Logik in der Informatik, HU Berlin 1. Übungsstunde Beweis durch vollständige Induktion über N Aufgabe 1 Zeige, dass für alle n N gilt: n 2 i = 2 n+1

Mehr

Alphabet, formale Sprache

Alphabet, formale Sprache n Alphabet Alphabet, formale Sprache l nichtleere endliche Menge von Zeichen ( Buchstaben, Symbole) n Wort über einem Alphabet l endliche Folge von Buchstaben, die auch leer sein kann ( ε leere Wort) l

Mehr

Reelle Zahlen, Gleichungen und Ungleichungen

Reelle Zahlen, Gleichungen und Ungleichungen 9 2. Vorlesung Reelle Zahlen, Gleichungen und Ungleichungen 4 Zahlenmengen und der Körper der reellen Zahlen 4.1 Zahlenmengen * Die Menge der natürlichen Zahlen N = {0,1,2,3,...}. * Die Menge der ganzen

Mehr

9 Theoretische Informatik und Compilerbau

9 Theoretische Informatik und Compilerbau 9 Theoretische Informatik und Compilerbau Theoretische Informatik und Mathematik schaffen die Basis für viele der technischen Entwicklungen, die wir in diesem Buch besprechen. Die boolesche Algebra (S.

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik Lektion 10: Entscheidbarkeit Kurt-Ulrich Witt Wintersemester 2013/14 Kurt-Ulrich Witt Theoretische Informatik Lektion 10 1/15 Inhaltsverzeichnis Kurt-Ulrich Witt Theoretische Informatik

Mehr

Modul 122 VBA Scribt.docx

Modul 122 VBA Scribt.docx Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval

Mehr

3. Mathematische Maschinen

3. Mathematische Maschinen 3. Mathematische Maschinen Bei den Anforderungen an Algorithmen im letzten Paragraphen haben wir bemerkt, dass ein Algorithmus im Prinzip von einer Maschine ausgeführt werden kann. Umgekehrt kann solch

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Algorithmen und deren Programmierung Prof. Dr. Nikolaus Wulff Definition Algorithmus Ein Algorithmus ist eine präzise formulierte Handlungsanweisung zur Lösung einer gleichartigen

Mehr

Zahlensysteme. Formale Methoden der Informatik WiSe 2008/2009 Folie 1 (von 54)

Zahlensysteme. Formale Methoden der Informatik WiSe 2008/2009 Folie 1 (von 54) Zahlensysteme Formale Methoden der Informatik WiSe 28/29 Folie (von 54) Teil I: Zahlensysteme. Einführung und Zahlensysteme 2. Zahlensysteme / Algorithmik 3. Zahlendarstellung im Rechner Franz-Josef Radermacher,

Mehr

Imperative vs. Funktionale Programmierung

Imperative vs. Funktionale Programmierung Beispiel: Entwerfe eine Funktion, die testet, ob eine Zahl n eine Primzahl ist oder nicht. Beobachtung: (1) Wenn n Primzahl ist, ist die Menge der Teiler von n leer. (2) Die Menge der Teiler von n sind

Mehr

Theoretische Informatik Mitschrift

Theoretische Informatik Mitschrift Theoretische Informatik Mitschrift 2. Grammatiken und die Chomsky-Hierarchie Beispiel: Syntaxdefinition in BNF :=

Mehr

Schleifenanweisungen

Schleifenanweisungen Schleifenanweisungen Bisher: sequentielle Abarbeitung von Befehlen (von oben nach unten) Nun: Befehle mehrfach ausführen (= Programmschleife): for-anweisung - wenn feststeht, wie oft z.b.: eine Berechnung

Mehr

Dipl.-Ing. Halit Ünver Datenbanken/Künstliche Intelligenz FAW/n. Zahlensysteme

Dipl.-Ing. Halit Ünver Datenbanken/Künstliche Intelligenz FAW/n. Zahlensysteme Dipl.-Ing. Halit Ünver 7.. Datenbanken/Künstliche Intelligenz FAW/n Zahlensysteme Seite Zahlensysteme Dipl.-Ing. Halit Ünver 7.. Inhalt I. Informatik und Zahlen für Wirtschaftswissenschaftler? II. III.

Mehr

Motivation natürliche Sprachen

Motivation natürliche Sprachen Motivation natürliche Sprachen (Satz) (Substantivphrase)(Verbphrase) (Satz) (Substantivphrase)(Verbphrase)(Objektphrase) (Substantivphrase) (Artikel)(Substantiv) (Verbphrase) (Verb)(Adverb) (Substantiv)

Mehr

Vorkurs Mathematik 1

Vorkurs Mathematik 1 Vorkurs Mathematik 1 Einführung in die mathematische Notation Konstanten i komplexe Einheit i 2 + 1 = 0 e Eulersche Zahl Kreiszahl 2 Einführung in die mathematische Notation Bezeichner Primzahlen, Zähler

Mehr

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie und, oder, nicht, wenn... dann zwischen atomaren und komplexen Sätzen. I. Aussagenlogik 2.1 Syntax Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen. Sätze selbst sind entweder wahr oder falsch. Ansonsten

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 3 C-Ausdrücke...3-2 3.1 Arithmetische Ausdrücke...3-3 3.2 Wertzuweisungen...3-5 3.3 Inkrementieren und Dekrementieren...3-6 3.4 Logische Ausdrücke (Bedingungen)...3-7 3.5 Bedingte Ausdrücke...3-8

Mehr

κ(k) k K S Algorithmus zur Bestimmung eines spannenden Baumes mit minimalen Kosten (Kruskal, 1965).

κ(k) k K S Algorithmus zur Bestimmung eines spannenden Baumes mit minimalen Kosten (Kruskal, 1965). 5. Graphenprobleme Im folgenden bezeichnen G = (E, K) einen endlichen Graphen mit der Eckenmenge E und der Kantenmenge K. G kann ungerichtet, gerichtet, schlicht oder nicht schlicht sein. 5.1 Spannende

Mehr

$Id: reihen.tex,v /06/12 10:59:50 hk Exp $ unendliche Summe. a 1 + a 2 + a 3 +.

$Id: reihen.tex,v /06/12 10:59:50 hk Exp $ unendliche Summe. a 1 + a 2 + a 3 +. Mathematik für Informatiker B, SS 202 Dienstag 2.6 $Id: reihen.tex,v.8 202/06/2 0:59:50 hk Exp $ 7 Reihen Eine Reihe ist eine unendliche Summe a + a 2 + a 3 +. Die Summanden a i können dabei reell oder

Mehr

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015 Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

Formale Grundlagen 2008W. Vorlesung im 2008S Institut für Algebra Johannes Kepler Universität Linz

Formale Grundlagen 2008W. Vorlesung im 2008S  Institut für Algebra Johannes Kepler Universität Linz Formale Grundlagen Institut für Algebra Johannes Kepler Universität Linz Vorlesung im 2008S http://www.algebra.uni-linz.ac.at/students/win/fg Inhalt Definition Sei A eine Menge und ɛ A A A eine zweistellige

Mehr

Abschluss unter Operationen

Abschluss unter Operationen Abschluss unter Operationen Definition Definition: Es seien L eine Menge von Sprachen und τ eine n-stellige Operation, die über Sprachen definiert ist. Dann heißt L abgeschlossen unter τ, wenn für beliebige

Mehr

Satz 18 (Satz von der totalen Wahrscheinlichkeit)

Satz 18 (Satz von der totalen Wahrscheinlichkeit) Ausgehend von der Darstellung der bedingten Wahrscheinlichkeit in Gleichung 1 zeigen wir: Satz 18 (Satz von der totalen Wahrscheinlichkeit) Die Ereignisse A 1,..., A n seien paarweise disjunkt und es gelte

Mehr

Lösungsvorschläge Blatt Z1

Lösungsvorschläge Blatt Z1 Theoretische Informatik Departement Informatik Prof. Dr. Juraj Hromkovič http://www.ita.inf.ethz.ch/theoinf16 Lösungsvorschläge Blatt Z1 Zürich, 2. Dezember 2016 Lösung zu Aufgabe Z1 Wir zeigen L qi /

Mehr

1 Modulare Arithmetik

1 Modulare Arithmetik $Id: modul.tex,v 1.11 2012/04/16 19:15:39 hk Exp $ $Id: gruppen.tex,v 1.11 2012/04/17 10:30:56 hk Exp $ 1 Modulare Arithmetik 1.3 Restklassen Wir waren gerade damit beschäftigt eine Beispiele zum Rechnen

Mehr

5 Grundlagen der Zahlentheorie

5 Grundlagen der Zahlentheorie 5 Grundlagen der Zahlentheorie 1 Primfaktorzerlegung Seienm, n N + := {k N k > 0} Man schreibt n n, gesprochen m teilt n oder m ist ein Teiler von n, wenn es eine positive natürliche Zahl k gibt mit mk

Mehr

3 Vom Zählen zur Induktion

3 Vom Zählen zur Induktion 7 3 Vom Zählen zur Induktion 3.1 Natürliche Zahlen und Induktions-Prinzip Seit unserer Kindheit kennen wir die Zahlen 1,, 3, 4, usw. Diese Zahlen gebrauchen wir zum Zählen, und sie sind uns so vertraut,

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 19. Syntax & Semantik. Motivation - Beispiel. Motivation - Beispiel

Motivation. Formale Grundlagen der Informatik 1 Kapitel 19. Syntax & Semantik. Motivation - Beispiel. Motivation - Beispiel Motivation Formale Grundlagen der Informatik 1 Kapitel 19 & Die ist eine Erweiterung der Aussagenlogik. Sie hat eine größere Ausdrucksstärke und erlaub eine feinere Differenzierung. Ferner sind Beziehungen/Relationen

Mehr

Programmieren lernen mit Groovy Rekursion Rekursion und Iteration

Programmieren lernen mit Groovy Rekursion Rekursion und Iteration Programmieren lernen mit Groovy Rekursion Seite 1 Rekursion Rekursion Ursprung lat. recurrere ~ zurücklaufen rekursive Definition Definition mit Bezug auf sich selbst Beispiel Fakultätsfunktion n! 0! =

Mehr

C- Kurs 04 Anweisungen

C- Kurs 04 Anweisungen C- Kurs 04 Anweisungen Dipl.- Inf. Jörn Hoffmann jhoffmann@informa@k.uni- leipzig.de Universität Leipzig Ins@tut für Informa@k Technische Informa@k Ausdrücke Institut für Informatik Anweisungen C-Programm

Mehr

Demo für

Demo für SUMMENZEICHEN Regeln und Anwendungen Gebrauchs des Summenzeichens mit Aufgaben aus vielen Bereichen für Angela Datei Nr. 4 Stand:. Oktober INTERNETBIBLIOTHEK FÜR SCHULMATHEMATIK Demo für 4 Summenzeichen

Mehr

Die primitiv rekursiven Funktionen

Die primitiv rekursiven Funktionen Priv.-Doz. Dr.rer.nat.habil. Karl-Heinz Niggl Technische Universität Ilmenau Fakultät IA, Institut für Theoretische Informatik Fachgebiet Komplexitätstheorie und Effiziente Algorithmen J Die primitiv rekursiven

Mehr

Der λ-kalkül. Frank Huch. Sommersemester 2015

Der λ-kalkül. Frank Huch. Sommersemester 2015 Der λ-kalkül Frank Huch Sommersemester 2015 In diesem Skript werden die Grundlagen der Funktionalen Programmierung, insbesondere der λ-kalkül eingeführt. Der hier präsentierte Stoff stellt einen teil der

Mehr