Rekursion. rekursive Prädikate. deklarative vs. prozedurale Bedeutung von Prädikaten. Programmierkurs Prolog p.1

Größe: px
Ab Seite anzeigen:

Download "Rekursion. rekursive Prädikate. deklarative vs. prozedurale Bedeutung von Prädikaten. Programmierkurs Prolog p.1"

Transkript

1 Rekursion rekursive Prädikate deklarative vs. prozedurale Bedeutung von Prädikaten Programmierkurs Prolog p.1

2 is digesting/2 is digesting(x,y) :- just ate(x,y). is digesting(x,y) :- just ate(x,z), is digesting(z,y). just ate(mosquito,blood(john)). just ate(frog,mosquito). just ate(stork,frog). Was antwortet Prolog auf die Anfragen:?- is digesting(stork,frog).?- is digesting(stork,mosquito).?- is digesting(frog,x). Programmierkurs Prolog p.2

3 Rekursion: Blickwinkel 1 Kunigunde Ist Kunigunde ein Vorfahr von Anna? Hildegard elternteil von Ilse vorfahr von Brigitte Anna Programmierkurs Prolog p.3

4 Rekursion: Blickwinkel 1 Kunigunde Hildegard elternteil von Ist Kunigunde ein Vorfahr von Anna? Ja, weil Kunigunde die Mutter von Hildegard ist, die ein Vorfahr von Anna ist. Ilse vorfahr von Brigitte Anna Programmierkurs Prolog p.3

5 Rekursion: Blickwinkel 1 Kunigunde elternteil von Hildegard Ilse Ist Kunigunde ein Vorfahr von Anna? Ja, weil Kunigunde die Mutter von Hildegard ist, die ein Vorfahr von Anna ist. vorfahr von(k,a) :- elternteil von(k,h), vorfahr von(h,a). vorfahr von Brigitte Anna Programmierkurs Prolog p.3

6 Rekursion: Blickwinkel 1 Kunigunde elternteil von Hildegard Ilse vorfahr von Ist Kunigunde ein Vorfahr von Anna? Ja, weil Kunigunde die Mutter von Hildegard ist, die ein Vorfahr von Anna ist. vorfahr von(k,a) :- elternteil von(k,h), vorfahr von(h,a). Reicht das? Brigitte Anna Programmierkurs Prolog p.3

7 Rekursion: Blickwinkel 1 Kunigunde elternteil von Hildegard Ilse vorfahr von Brigitte Ist Kunigunde ein Vorfahr von Anna? Ja, weil Kunigunde die Mutter von Hildegard ist, die ein Vorfahr von Anna ist. vorfahr von(k,a) :- elternteil von(k,h), vorfahr von(h,a). Reicht das? Nein, weil Kunigunde auch ein Vorfahr von Hildegard ist. Anna Programmierkurs Prolog p.3

8 Rekursion: Blickwinkel 1 Kunigunde elternteil von Hildegard Ilse vorfahr von Brigitte Anna Ist Kunigunde ein Vorfahr von Anna? Ja, weil Kunigunde die Mutter von Hildegard ist, die ein Vorfahr von Anna ist. vorfahr von(k,a) :- elternteil von(k,h), vorfahr von(h,a). Reicht das? Nein, weil Kunigunde auch ein Vorfahr von Hildegard ist. vorfahr von(k,h) :- elternteil von(k,h). Programmierkurs Prolog p.3

9 Rekursion: Blickwinkel 2 Ist Brigitte ein Vorfahr von Anna? Brigitte Anna Elternteil: Vorfahr: Programmierkurs Prolog p.4

10 Rekursion: Blickwinkel 2 Ist Brigitte ein Vorfahr von Anna? Ja, weil Brigitte ein Elternteil von Anna ist und Elternteile sind Vorfahren. Brigitte Anna Elternteil: Vorfahr: Programmierkurs Prolog p.4

11 Rekursion: Blickwinkel 2 Ist Brigitte ein Vorfahr von Anna? Ja, weil Brigitte ein Elternteil von Anna ist und Elternteile sind Vorfahren. vorfahr von(x,y) :- elternteil von(x,y). Brigitte Anna Elternteil: Vorfahr: Programmierkurs Prolog p.4

12 Rekursion: Blickwinkel 2 Ist Brigitte ein Vorfahr von Anna? Ja, weil Brigitte ein Elternteil von Anna ist und Elternteile sind Vorfahren. Ilse vorfahr von(x,y) :- elternteil von(x,y). Brigitte Anna Elternteil: Vorfahr: Programmierkurs Prolog p.4

13 Rekursion: Blickwinkel 2 Ist Brigitte ein Vorfahr von Anna? Ja, weil Brigitte ein Elternteil von Anna ist und Elternteile sind Vorfahren. Ilse vorfahr von(x,y) :- elternteil von(x,y). Brigitte Anna Elternteil: Vorfahr: Programmierkurs Prolog p.4

14 Rekursion: Blickwinkel 2 Hildegard Ilse Ist Brigitte ein Vorfahr von Anna? Ja, weil Brigitte ein Elternteil von Anna ist und Elternteile sind Vorfahren. vorfahr von(x,y) :- elternteil von(x,y). Brigitte Anna Elternteil: Vorfahr: Programmierkurs Prolog p.4

15 Rekursion: Blickwinkel 2 Kunigunde Hildegard Ilse Ist Brigitte ein Vorfahr von Anna? Ja, weil Brigitte ein Elternteil von Anna ist und Elternteile sind Vorfahren. vorfahr von(x,y) :- elternteil von(x,y). Ist Kunigunde ein Vorfahr von Anna? Brigitte Anna Elternteil: Vorfahr: Programmierkurs Prolog p.4

16 Rekursion: Blickwinkel 2 Kunigunde Hildegard Ilse Brigitte Ist Brigitte ein Vorfahr von Anna? Ja, weil Brigitte ein Elternteil von Anna ist und Elternteile sind Vorfahren. vorfahr von(x,y) :- elternteil von(x,y). Ist Kunigunde ein Vorfahr von Anna? Ja, weil Kunigunde ein Elternteil von Hildegard ist, die ein Vorfahr von Anna ist. Anna Elternteil: Vorfahr: Programmierkurs Prolog p.4

17 Rekursion: Blickwinkel 2 Kunigunde Hildegard Ilse Brigitte Anna Elternteil: Vorfahr: Ist Brigitte ein Vorfahr von Anna? Ja, weil Brigitte ein Elternteil von Anna ist und Elternteile sind Vorfahren. vorfahr von(x,y) :- elternteil von(x,y). Ist Kunigunde ein Vorfahr von Anna? Ja, weil Kunigunde ein Elternteil von Hildegard ist, die ein Vorfahr von Anna ist. vorfahr von(k,a) :- elternteil von(k,h), vorfahr von(h,a). Programmierkurs Prolog p.4

18 Verarbeitung in Prolog elternteil_von(kunigunde,hildegard). elternteil_von(hildegard,ilse). elternteil_von(ilse,brigitte). elternteil_von(brigitte,anna). vorfahr_von(x,y) :- elternteil_von(x,y). vorfahr_von(x,y) :- elternteil_von(x,z), vorfahr_von(z,y).?- vorfahr_von(hildegard,ilse).?- vorfahr_von(kunigunde,anna).?- vorfahr_von(hildegard,x). Programmierkurs Prolog p.5

19 Beispiel: Eine Form von Zählen succ(0) 2 succ(succ(0)) 3 succ(succ(succ(0))). Ziel: Ein Prädikat number/1, das testet, ob das Argument eine Zahl in der succ-darstellung ist. Programmierkurs Prolog p.6

20 Beispiel: Eine Form von Zählen succ(0) 2 succ(succ(0)) 3 succ(succ(succ(0))). Ziel: Ein Prädikat number/1, das testet, ob das Argument eine Zahl in der succ-darstellung ist. 0 ist eine Zahl. Programmierkurs Prolog p.6

21 Beispiel: Eine Form von Zählen succ(0) 2 succ(succ(0)) 3 succ(succ(succ(0))). Ziel: Ein Prädikat number/1, das testet, ob das Argument eine Zahl in der succ-darstellung ist. 0 ist eine Zahl. Wenn X eine Zahl ist, dann ist succ(x) auch eine Zahl. Programmierkurs Prolog p.6

22 Beispiel: Eine Form von Zählen succ(0) 2 succ(succ(0)) 3 succ(succ(succ(0))). Ziel: Ein Prädikat number/1, das testet, ob das Argument eine Zahl in der succ-darstellung ist. 0 ist eine Zahl. number(0). Wenn X eine Zahl ist, dann ist succ(x) auch eine Zahl. Programmierkurs Prolog p.6

23 Beispiel: Eine Form von Zählen succ(0) 2 succ(succ(0)) 3 succ(succ(succ(0))). Ziel: Ein Prädikat number/1, das testet, ob das Argument eine Zahl in der succ-darstellung ist. 0 ist eine Zahl. number(0). Wenn X eine Zahl ist, dann ist succ(x) auch eine Zahl. number(succ(x)) :- number(x). Programmierkurs Prolog p.6

24 Beispiel: Addieren Ziel: Ein Prädikat add/3, das drei Zahlen in succ-darstellung als Argumente nimmt. Das dritte Argument soll die Summe der beiden ersten sein. Z.B.?- add(succ(0), succ(succ(0)), X). X = succ(succ(succ(0))) yes?- add(succ(succ(0)), succ(0), X). X = succ(succ(succ(0))) yes?- add(0, succ(succ(0)), X). X = succ(succ(0)) yes Programmierkurs Prolog p.7

25 Beispiel: Addieren (2) Basisfall: Wenn das erste Argument 0 ist, dann ist das Ergebnis gleich dem dritten Argument. Rekursiver Fall: Wenn die Summe von X und Y gleich Z ist, dann ist die Summe von succ(x) und Y gleich succ(z). Programmierkurs Prolog p.8

26 Aufgaben 1. Definiert das Prädikat add/3 in Prolog. 2. Definiert ein Prädikat greater than/2, das als Argumente zwei Zahlen in succ-darstellung nimmt und testet, ob die erste größer ist als die zweite. 3. Wir haben die folgende Wissensbasis: directtrain(forbach,saarbruecken). directtrain(freyming,forbach). directtrain(fahlquemont,stavold). directtrain(stavold,forbach). directtrain(metz,fahlquemont). Schreibt ein Prädikat travel/2, das definiert zwischen welchen zwei Städten es eine Zugverbindung gibt, bei der direkte Zugverbindungen aneinandergehängt werden. Programmierkurs Prolog p.9

27 Deklarative vs. Prozedurale Bedeutung (1) number(0). number(succ(x)) :- number(x). number(succ(x)) :- number(x). number(0). Programmierkurs Prolog p.10

28 Deklarative vs. Prozedurale Bedeutung (1) number(0). number(succ(x)) :- number(x). number(succ(x)) :- number(x). number(0). Die beiden Versionen von number/1 haben die gleiche deklarative Bedeutung und verschiedene prozedurale Bedeutungen.?- number(x). Programmierkurs Prolog p.10

29 Deklarative vs. Prozedurale Bedeutung (2) vorfahr von(x,y) :- elternteil von(x,y). vorfahr von(x,y) :- elternteil von(x,z), vorfahr von(z,y). vorfahr von(x,y) :- elternteil von(x,y). vorfahr von(x,y) :- vorfahr von(z,y), elternteil von(z,y).?- vorfahr von(anna, kunigunde). elternteil von(kunigunde,hildegard). elternteil von(hildegard,ilse). elternteil von(ilse,brigitte). elternteil von(brigitte,anna). Programmierkurs Prolog p.11

30 Deklarative vs. prozedurale Bedeutung deklarative Bedeutung: die logische Bedeutung einer Prolog-Wissensbasis prozedurale Bedeutung: wie eine Wissensbasis von Prolog verarbeitet wird Programmierkurs Prolog p.12

31 Noch ein Beispiel p :- p Programmierkurs Prolog p.13

32 Noch ein Beispiel p :- p deklarativ: Wenn p dann p. prozedural: Bei der Anfrage p gerät Prolog in eine Endlosschleife. Programmierkurs Prolog p.13

33 Zusammenfassung Rekursion ist eine äußerst wichtige Programmiertechnik (nicht nur in Prolog). Mit Hilfe von Rekursion (plus Matching) können kompakte und elegante Programme geschrieben werden. Es ist wichtig, sich auch die prozedurale Bedeutung von Programmen klarzumachen. Wichtige Begriffe: Basisklausel, rekursive Klausel, deklarative und prozedurale Bedeutung Nächste Woche: Listen: eine rekursive Struktur Übungsaufgaben: Das Übungsblatt ist auf der Web-Seite. Programmierkurs Prolog p.14

Einführung in das Programmieren Prolog Sommersemester 2006. Teil 2: Arithmetik. Version 1.0

Einführung in das Programmieren Prolog Sommersemester 2006. Teil 2: Arithmetik. Version 1.0 Einführung in das Programmieren Prolog Sommersemester 2006 Teil 2: Arithmetik Version 1.0 Gliederung der LV Teil 1: Ein motivierendes Beispiel Teil 2: Einführung und Grundkonzepte Syntax, Regeln, Unifikation,

Mehr

Einführung in PROLOG. Christian Stocker

Einführung in PROLOG. Christian Stocker Einführung in PROLOG Christian Stocker Inhalt Was ist PROLOG? Der PROLOG- Interpreter Welcher Interpreter? SWI-Prolog Syntax Einführung Fakten, Regeln, Anfragen Operatoren Rekursion Listen Cut Funktionsweise

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

5 Logische Programmierung

5 Logische Programmierung 5 Logische Programmierung Logik wird als Programmiersprache benutzt Der logische Ansatz zu Programmierung ist (sowie der funktionale) deklarativ; Programme können mit Hilfe zweier abstrakten, maschinen-unabhängigen

Mehr

Logische Programmierung

Logische Programmierung Logische Programmierung B-82 Deklaratives Programmieren in Prädikatenlogik: Problem beschreiben statt Algorithmus implementieren (idealisiert). Grundlagen: Relationen bzw. Prädikate (statt Funktionen);

Mehr

SWP Logische Programme

SWP Logische Programme SWP Logische Programme Alexander Felfernig, Stephan Gspandl Institut für Softwaretechnologie {alexander.felfernig,sgspandl}@ist.tugraz.at Institute for Software Technology Inhalt Motivation Logische Programme

Mehr

Logische und funktionale Programmierung

Logische und funktionale Programmierung Logische und funktionale Programmierung Vorlesung 1: Einführung in Prolog Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 1. Oktober 2015 1/54 ORGANISATORISCHES

Mehr

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) Wintersemester 2007/08 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl

Mehr

Funktionale Programmierung Teil 2 Methodik: Spezifikation, Implementierung, Verifikation

Funktionale Programmierung Teil 2 Methodik: Spezifikation, Implementierung, Verifikation Grundlagen der Programm- und Systementwicklung Funktionale Programmierung Teil 2 Methodik: Spezifikation, Implementierung, Verifikation Technische Universität München Institut für Informatik Software &

Mehr

Erwin Grüner 09.02.2006

Erwin Grüner 09.02.2006 FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife

Mehr

Funktionale Programmierung

Funktionale Programmierung Schleifen 1 Funktionale Programmierung Jörg Kreiker Uni Kassel und SMA Solar Technology AG Wintersemester 2011/2012 3 Teil I Jedem Anfang wohnt ein Zauber inne 4 Über mich Diplom in Informatik in Saarbrücken

Mehr

Übung 9 - Lösungsvorschlag

Übung 9 - Lösungsvorschlag Universität Innsbruck - Institut für Informatik Datenbanken und Informationssysteme Prof. Günther Specht, Eva Zangerle Besprechung: 15.12.2008 Einführung in die Informatik Übung 9 - Lösungsvorschlag Aufgabe

Mehr

Wissensrepräsentation und -verarbeitung in Logiken. bereinigt Pränex Skolem ( -Eliminierung) Klausel (Menge von Klauseln, Notation ohne Quantoren)

Wissensrepräsentation und -verarbeitung in Logiken. bereinigt Pränex Skolem ( -Eliminierung) Klausel (Menge von Klauseln, Notation ohne Quantoren) Was bisher geschah Wissensrepräsentation und -verarbeitung in Logiken klassische Aussagenlogik klassische Prädikatenlogik: Wiederholung Syntax, Semantik Normalformen: bereinigt Pränex Skolem ( -Eliminierung)

Mehr

Grammatiken in Prolog

Grammatiken in Prolog 12. Grammatiken in Prolog 12-1 Grammatiken in Prolog Allgemeines: Gedacht zur Verarbeitung natürlicher Sprache. Dort braucht man kompliziertere Grammatiken als etwa im Compilerbau, andererseits sind die

Mehr

Auswahl von Klauseln und Atomen in Prolog

Auswahl von Klauseln und Atomen in Prolog 5.6 Prolog... ist die bekannteste Implementierung einer LP-Sprache; wurde Anfang der 1970er von Alain Colmerauer (Marseille) und Robert Kowalski (Edinburgh) entwickelt. konkretisiert den vorgestellten

Mehr

Was bisher geschah. deklarative Programmierung. funktionale Programmierung (Haskell):

Was bisher geschah. deklarative Programmierung. funktionale Programmierung (Haskell): Was bisher geschah deklarative Programmierung funktional: Programm: Menge von Termgleichungen, Term Auswertung: Pattern matsching, Termumformungen logisch: Programm: Menge von Regeln (Horn-Formeln), Formel

Mehr

Binäre Suchbäume (binary search trees, kurz: bst)

Binäre Suchbäume (binary search trees, kurz: bst) Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.

Mehr

Programmiersprachen 2 (SS 2013)

Programmiersprachen 2 (SS 2013) n Advanced 2 1. Juli 2013 Beispielprogramm pq(x,y) :- p(x,z), q(z,y). p(a,b). p(b,c). p(c,a). 2 q(a,a). q(b,d). Logisch gesehen Die Reihenfolge verändert nicht die logische Aussage p(x,z), q(z,y) äquivalent

Mehr

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum 4. Lernen von Entscheidungsbäumen Klassifikation mit Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch /Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse zugeordnet werden.

Mehr

Prolog = Programmierung in Logik (Roussell, Colmerauer, 1973/74)

Prolog = Programmierung in Logik (Roussell, Colmerauer, 1973/74) Logikprogrammierung Historie: Philosophie / Mathematik Künstliche Intelligenz Praktische Programmiersprache: Prolog = Programmierung in Logik (Roussell, Colmerauer, 1973/74) Grundidee: Ein Programm ist

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen. 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

4. 4. Algorithmen und Datenstrukturen in deskriptiven Programmiersprachen

4. 4. Algorithmen und Datenstrukturen in deskriptiven Programmiersprachen Kapitel Kapitel 4 Deskriptive Programmierung SS 2008 4. 4. Algorithmen und Datenstrukturen in in deskriptiven Programmiersprachen Deskriptive Programmierung 1 Sprachverarbeitung in in Prolog Prolog Prolog

Mehr

Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer:

Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.

Mehr

Tiramisu Deklarativ Aus Eigelb, Mascarpone und in Likör und Kaffee getränkten Biskuits hergestellte cremige Süßspeise

Tiramisu Deklarativ Aus Eigelb, Mascarpone und in Likör und Kaffee getränkten Biskuits hergestellte cremige Süßspeise Kapitel 3 Logik-Programmierung 3.1 Einführung Was statt Wie am Beispiel von Tiramisu Folie 145 Tiramisu Deklarativ Aus Eigelb, Mascarpone und in Likör und Kaffee getränkten Biskuits hergestellte cremige

Mehr

Prolog. Vertiefungsmodul Programmiersprachen. VM Programmiersprachen - Prolog. Florian Kleene

Prolog. Vertiefungsmodul Programmiersprachen. VM Programmiersprachen - Prolog. Florian Kleene Prolog Vertiefungsmodul Programmiersprachen VM Programmiersprachen - Prolog Florian Kleene Entstehung und Geschichte Aufbau von Prolog Programmen Fakten Regeln Anfragen Funktionsweise des Interpreters

Mehr

Softwareentwicklung Allgemeines und prozedurale Konstrukte

Softwareentwicklung Allgemeines und prozedurale Konstrukte Mag. iur. Dr. techn. Michael Sonntag Softwareentwicklung Allgemeines und prozedurale Konstrukte E-Mail: sonntag@fim.uni-linz.ac.at http://www.fim.uni-linz.ac.at/staff/sonntag.htm Institut für Informationsverarbeitung

Mehr

Einführung in Prolog. Literatur

Einführung in Prolog. Literatur Einführung in Prolog Literatur Clocksin/Mellish Programming in Prolog Skript aus dem Kurs Max Hadersbeck Skript aus dem Kurs Hans Leiss Bratko Prolog Programming for Artificial Intelligence Prolog Lexikon

Mehr

Prolog basiert auf Prädikatenlogik

Prolog basiert auf Prädikatenlogik Software-Technologie Software-Systeme sind sehr komplex. Im Idealfall erfolgt die Programmierung problemorientiert, während die notwendige Übertragung in ausführbare Programme automatisch erfolgt. Prolog-Philosophie:

Mehr

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1 3.2 Binäre Suche Beispiel 6.5.1: Intervallschachtelung (oder binäre Suche) (Hier ist n die Anzahl der Elemente im Feld!) Ein Feld A: array (1..n) of Integer sei gegeben. Das Feld sei sortiert, d.h.: A(i)

Mehr

Aufgaben Theoretische Informatik

Aufgaben Theoretische Informatik Aufgaben Theoretische Informatik Elmar Eder 26. Dezember 2015 Lösungen der Aufgaben bitte abgeben auf dem Abgabesystem von Dominik Kaaser auf https://ti.cosy.sbg.ac.at/ als ASCII- oder UTF-8-Dateien mit

Mehr

H. GÖHNER / B. HAFENBRAK. Arbeitsbuch PROLOG

H. GÖHNER / B. HAFENBRAK. Arbeitsbuch PROLOG H. GÖHNER / B. HAFENBRAK Arbeitsbuch PROLOG 1 Inhaltsverzeichnis Vorwort zur ersten und zweiten Auflage... 3 Grundlagen... 5 1 Willkommen in PROLOG... 5 2 Regeln... 11 3 So arbeitet PROLOG... 14 4 Rekursion...

Mehr

Kontrollstrukturen - Universität Köln

Kontrollstrukturen - Universität Köln Kontrollstrukturen - Universität Köln Mario Manno Kontrollstrukturen - Universität Köln p. 1 Was sind Sprachen Auszeichnungssprachen HTML, XML Programmiersprachen ASM, Basic, C, C++, Haskell, Java, Pascal,

Mehr

Technische Informatik 1 Übung 2 Assembler (Rechenübung) Georgia Giannopoulou (ggeorgia@tik.ee.ethz.ch) 22./23. Oktober 2015

Technische Informatik 1 Übung 2 Assembler (Rechenübung) Georgia Giannopoulou (ggeorgia@tik.ee.ethz.ch) 22./23. Oktober 2015 Technische Informatik 1 Übung 2 Assembler (Rechenübung) Georgia Giannopoulou (ggeorgia@tik.ee.ethz.ch) 22./23. Oktober 2015 Ziele der Übung Aufgabe 1 Aufbau und Aufruf von Funktionen in Assembler Codeanalyse

Mehr

Vernunft und Temperament Eine Philosophie der Philosophie

Vernunft und Temperament Eine Philosophie der Philosophie Unfertiges Manuskript (Stand 5.10.2015), bitte nicht zitieren oder darauf verweisen Vernunft und Temperament Eine Philosophie der Philosophie LOGI GUNNARSSON The history of philosophy is to a great extent

Mehr

Program = Logic + Control

Program = Logic + Control Program = Logic + Control Prozedurale/imperative Sprachen: Abläufe formulieren Computer führt aus von-neumann-maschine Idee von deklarativen/logischen/funktionalen Programmiersprachen: Zusammenhänge formulieren

Mehr

Kopf und Rest einer Liste (head and tail): Trennung durch. Listenkopf: kann mehrere Elemente umfassen

Kopf und Rest einer Liste (head and tail): Trennung durch. Listenkopf: kann mehrere Elemente umfassen Prolog Syntax Liste, Variable [ Term Liste ] Listenelemente: Trennung durch Komma [1, pferd, klaus] Kopf und Rest einer Liste (head and tail): Trennung durch [K R] = [1, pferd, klaus] (K = 1, R = [pferd,

Mehr

Listen. bersicht. Zweck. Listen allgemein Listen in Prolog. Programmiertechniken mit Listen. Erstellen von Prolog-Programmen mit Listen

Listen. bersicht. Zweck. Listen allgemein Listen in Prolog. Programmiertechniken mit Listen. Erstellen von Prolog-Programmen mit Listen Listen bersicht Listen allgemein Listen in Prolog Schreibweise Listen als rekursive Datenstruktur Unifikation Programmiertechniken mit Listen Zweck rekursive Suche Abbilden Erstellen von Prolog-Programmen

Mehr

Aufgaben Logische Programmierung

Aufgaben Logische Programmierung Aufgaben Logische Programmierung Elmar Eder 21. Mai 2015 Die Aufgaben sind auf dem Abgabesystem von Dominik Kaaser bis zu dem dort angegebenen Termin abzugeben. Alle Aufgaben, bei denen nichts gegenteiliges

Mehr

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #6. SQL (Teil 4)

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #6. SQL (Teil 4) Vorlesung #6 SQL (Teil 4) Fahrplan Besprechung der Übungsaufgaben Einschub: Self Joins (relevant fürs Praktikum) Dynamische Intergritätsbedingungen, das Trigger - Konzept von Oracle Prozedurale Erweiterungen,

Mehr

8. Logische Programmierung. Prolog Sprachkonstrukte: Fakten. Prolog Übersicht

8. Logische Programmierung. Prolog Sprachkonstrukte: Fakten. Prolog Übersicht 8. Logische Programmierung GPS-8-1 Übersicht zur logischen Programmierung GPS-8-2 Themen dieses Kapitels: Deklaratives Programmieren: Problem beschreiben statt Algorithmus implementieren (idealisiert).

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 21. Oktober 2015 Automat versus Computer Ein Automat ist eine Maschine,

Mehr

Prolog 1. Kapitel: Fakten, Regeln und Anfragen

Prolog 1. Kapitel: Fakten, Regeln und Anfragen Allgemeines Prolog 1. Kapitel: Fakten, Regeln und Anfragen Dozentin: Wiebke Petersen Kursgrundlage: Learn Prolog Now (Blackburn, Bos, Striegnitz) Prolog (aus dem franz. Programming en Logique) ist eine

Mehr

Data Mining und Text Mining Einführung. S2 Einfache Regellerner

Data Mining und Text Mining Einführung. S2 Einfache Regellerner Data Mining und Text Mining Einführung S2 Einfache Regellerner Hans Hermann Weber Univ. Erlangen, Informatik 8 Wintersemester 2003 hans.hermann.weber@gmx.de Inhalt Einiges über Regeln und Bäume R1 ein

Mehr

SWE1 / Übung 2 (19.10.2011)

SWE1 / Übung 2 (19.10.2011) SWE1 / Übung 2 (19.1.211) Simulation von Algorithmen Testen, Testplan Beispiel arithmetische Ausdrücke Handsimulation von Algorithmen Man versteht einen Algorithmus (insbesonders einen "Fremden"), wenn

Mehr

Fixpunktsemantik logischer Programme Pascal Hitzler Juli 1997 Kurzuberblick im Rahmen der Vorlesung Einfuhrung in Prolog von T. Cornell im Sommersemester 1997 an der Universitat Tubingen. Beweise sind

Mehr

Reasoner for the Semantic Web

Reasoner for the Semantic Web Reasoner for the Semantic Web KAON & KAON2 Seminar A.I. Tools Erik Endres 18.1.2007 Übersicht Reasoner KAON1 KAON2 & Protégé Reasoner Ontologien machen Daten für Maschinen verarbeitbar. Reasoner setzen

Mehr

Bachelor Grundlagen der Logik und Logikprogrammierung 12. Februar 2009 3

Bachelor Grundlagen der Logik und Logikprogrammierung 12. Februar 2009 3 Bachelor Grundlagen der Logik und Logikprogrammierung 12. Februar 2009 3 Aufgabe 1 (20 Punkte) Dialogische Logik a) Was isteine formal wahrebehauptung? Welche Aussageschematasindallgemeingültig? b) Überprüfen

Mehr

Inhalt. SWP Logische Programme. Motivation. Formalisierung. Wissensbasis. Bsp (Bibel)Verwandtschaften. Motivation Sprache LP

Inhalt. SWP Logische Programme. Motivation. Formalisierung. Wissensbasis. Bsp (Bibel)Verwandtschaften. Motivation Sprache LP Inhalt SWP Logische Programme Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at Motivation Sprache LP Resolution Unifikation Datenbanken und logische Programme Semantik 2 Motivation Bsp

Mehr

Tutorial. Mediationsanalyse mit PROCESS. stefan.pfattheicher@uni-ulm.de. Das Konzept Mediation

Tutorial. Mediationsanalyse mit PROCESS. stefan.pfattheicher@uni-ulm.de. Das Konzept Mediation Tutorial Mediationsanalyse mit PROCESS stefan.pfattheicher@uni-ulm.de Das Konzept Mediation Ein Mediator (folgend M) erklärt den Zusammenhang zwischen unabhängiger Variable (folgend X) und einer abhängigen

Mehr

Arbeiten mit Datenbanken

Arbeiten mit Datenbanken Prof. Dr. Rüdiger Zarnekow TU Berlin, Fakultät VII Kommunikationsmanagement Kommunikationsmanagement Inhalte und Ziele 1. wichtige Hinweise 2. Freie Datenbanken der TU 3. Schlagwortsuche 4. Übung 1 5.

Mehr

Entscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen

Entscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen Berechenbarkeit und Komlexität Entscheidbarkeit und Unentscheidbarkeit Wolfgang Schreiner Wolfgang.Schreiner@risc.uni-linz.ac.at Research Institute for Symbolic Comutation (RISC) Johannes Keler University,

Mehr

Funktionale Programmierung ALP I. Funktionen höherer Ordnung. Teil 2 SS 2013. Prof. Dr. Margarita Esponda. Prof. Dr.

Funktionale Programmierung ALP I. Funktionen höherer Ordnung. Teil 2 SS 2013. Prof. Dr. Margarita Esponda. Prof. Dr. ALP I Funktionen höherer Ordnung Teil 2 SS 2013 Funktionen höherer Ordnung Nehmen wir an, wir möchten alle Zahlen innerhalb einer Liste miteinander addieren addall:: (Num a) => [a -> a addall [ = 0 addall

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Rückblick Schleifen while do-while for Methoden Verfahren: Intervallschachtelung 2 Wo

Mehr

Erste Schritte in SWI-Prolog

Erste Schritte in SWI-Prolog Die nachfolgenden Abschnitte sollen ein erster Einstieg in den Umgang mit Prolog sein, der sich explizit auf die in unserer Veranstaltung 'Prolog für Linguisten' verwendete Programmversion (SWI-Prolog

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Hans Delfs Helmut Knebl Christian Schiedermeier Grundlagen der Informatik nhtw Nürnberger Hochschulskripten für Technik und Wirtschaft Prof. Dr. Hans Delfs Prof. Dr. Helmut Knebl Prof. Dr. Christian Schiedermeier

Mehr

2. Lernen von Entscheidungsbäumen

2. Lernen von Entscheidungsbäumen 2. Lernen von Entscheidungsbäumen Entscheidungsbäume 2. Lernen von Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch Attribut/Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse

Mehr

Erfahrungen, Einblicke, Experimente

Erfahrungen, Einblicke, Experimente Detaillierter Blick in eine Link-Datenbank Erfahrungen, Einblicke, Experimente 03/13/10 Überblick Erfahrungen mit dem Link-Graph der Suchmaschine Neomo Link-Datenbank Link-Algorithmen in Theorie und Praxis

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 4 26..25 INSTITUT FÜR THEORETISCHE INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Praktikum am 16. April 2008 Variablen

Praktikum am 16. April 2008 Variablen Praktikum am 16. April 2008 Variablen Prof. Dr. Bernhard Humm Version: 1.0 Date: 10.4.2008 Hochschule Darmstadt Fachbereich Informatik Schöfferstr. 8b 64295 Darmstadt 1 Umgang mit Datentypen Experimentieren

Mehr

Überblick über dieses Kapitel Grundlagen der Programmierung Kapitel 12: Information und Repräsentation

Überblick über dieses Kapitel Grundlagen der Programmierung Kapitel 12: Information und Repräsentation Überblick über dieses Kapitel Grundlagen der Programmierung Dr. Christian Herzog Technische Universität München Wintersemester 2007/2008 Kapitel 12: Information und Repräsentation! Repräsentation, Information,!

Mehr

Prädikate zum Testen und Manipulieren der Struktur der Terme; Mehr meta-logische Prädikate z.b. zum Testen des Zustands der Ableitung;

Prädikate zum Testen und Manipulieren der Struktur der Terme; Mehr meta-logische Prädikate z.b. zum Testen des Zustands der Ableitung; Mehr Prolog Prolog bietet mehr an, z.b.: Prädikate zum Testen und Manipulieren der Struktur der Terme; Mehr meta-logische Prädikate z.b. zum Testen des Zustands der Ableitung; Mehr extra-logische Prädikate,

Mehr

Übungsblatt 8- Lösungsvorschlag

Übungsblatt 8- Lösungsvorschlag Universität Innsbruck - Institut für Informatik Prof. Günther Specht, R.Binna, N.Krismer, M. Tschuggnall 30. November 2012 Proseminar Datenbanksysteme Übungsblatt 8- Lösungsvorschlag Aufgabe 1 (Trigger)

Mehr

PROLOG. Eine Einführung. Sven Naumann

PROLOG. Eine Einführung. Sven Naumann PROLOG Eine Einführung Sven Naumann Sommersemester 2007 Inhaltsverzeichnis I Logikprogrammierung 7 1 Grundbegriffe 11 1.1 Prolog und Logikprogrammierung.................. 11 1.2 Terme.................................

Mehr

Übung - Modellierung & Programmierung II

Übung - Modellierung & Programmierung II 1 Übung - Modellierung & Programmierung II Mathias Goldau, Stefan Koch, Wieland Reich, Dirk Zeckzer, Stefan Philips, Sebastian Volke math@informatik.uni-leipzig.de stefan.koch@informatik.uni-leipzig.de

Mehr

JR 224 SCHREIBEN III 3 SKS

JR 224 SCHREIBEN III 3 SKS JR 224 SCHREIBEN III 3 SKS Lerntechnik: Richtig Schreiben Vor dem Schreiben: die Aufgabenstellung zuerst genau durchlesen Wie ist die Situation? Wer schreibt? Was möchte er/sie von Ihnen? Welche Beziehung

Mehr

SQL-Vertiefung. VU Datenbanksysteme. Reinhard Pichler

SQL-Vertiefung. VU Datenbanksysteme. Reinhard Pichler SQL-Vertiefung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester 2015/16 Gliederung

Mehr

Einkommensaufbau mit FFI:

Einkommensaufbau mit FFI: For English Explanation, go to page 4. Einkommensaufbau mit FFI: 1) Binäre Cycle: Eine Position ist wie ein Business-Center. Ihr Business-Center hat zwei Teams. Jedes mal, wenn eines der Teams 300 Punkte

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Tutorium - Haskell in der Schule. Ralf Dorn - Dennis Buchmann - Felix Last - Carl Ambroselli

Tutorium - Haskell in der Schule. Ralf Dorn - Dennis Buchmann - Felix Last - Carl Ambroselli Tutorium - Haskell in der Schule Wer sind wir? Otto-Nagel-Gymnasium in Berlin-Biesdorf Hochbegabtenförderung und MacBook-Schule Leistungskurse seit 2005 Einführung Was ist funktionale Programmierung? Einführung

Mehr

Fragen. f [ ] = [ ] f (x : y : ys) = x y : f ys f (x : xs) = f (x : x : xs) Wozu evaluiert f [1, 2, 3] (Abkürzung für f (1 : 2 : 3 : [ ]))?

Fragen. f [ ] = [ ] f (x : y : ys) = x y : f ys f (x : xs) = f (x : x : xs) Wozu evaluiert f [1, 2, 3] (Abkürzung für f (1 : 2 : 3 : [ ]))? Fragen f [ ] = [ ] f (x : y : ys) = x y : f ys f (x : xs) = f (x : x : xs) Wozu evaluiert f [1, 2, 3] (Abkürzung für f (1 : 2 : 3 : [ ]))? Wozu evaluiert [f [ ], f [ ]]? Weiteres Beispiel: f [ ] y = [

Mehr

+ROLGD\V 1LYHDX$ )HUWLJNHLW+ UYHUVWHKHQ

+ROLGD\V 1LYHDX$ )HUWLJNHLW+ UYHUVWHKHQ +ROLGD\V )HUWLJNHLW+ UYHUVWHKHQ 1LYHDX$ Wenn langsam und deutlich gesprochen wird, kann ich kurze Texte und Gespräche aus bekannten Themengebieten verstehen, auch wenn ich nicht alle Wörter kenne. 'HVNULSWRU

Mehr

Programmieren I. Kapitel 7. Sortieren und Suchen

Programmieren I. Kapitel 7. Sortieren und Suchen Programmieren I Kapitel 7. Sortieren und Suchen Kapitel 7: Sortieren und Suchen Ziel: Varianten der häufigsten Anwendung kennenlernen Ordnung Suchen lineares Suchen Binärsuche oder Bisektionssuche Sortieren

Mehr

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Algorithmen und Datenstrukturen 265 10 Binäre Suchbäume Suchbäume Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Kann als Wörterbuch, aber auch zu mehr eingesetzt werden (Prioritätsschlange)

Mehr

SOA verspielt - rekursive BPEL Prozesse

SOA verspielt - rekursive BPEL Prozesse SOA verspielt - rekursive BPEL Prozesse Referent: Guido Neander DOAG Nürnberg, 22.11.2012 MT AG business by integration Die MT AG ist ein IT-Dienstleister, der sich auf Prozess- und Softwareintegration

Mehr

Komplexe Excel-Berichte mit APEX und jxls erstellen

Komplexe Excel-Berichte mit APEX und jxls erstellen Komplexe Excel-Berichte mit APEX und jxls erstellen Dietmar Aust Opal-Consulting Köln Schlüsselworte: Oracle APEX, MS Excel, jxls, Bericht, Template, Open Source Einleitung In fast jeder Webapplikation

Mehr

Kapitel 7 des Buches, von Java-Selbstbau nach Scala-Library portiert. 2014-11-14 Christoph Knabe

Kapitel 7 des Buches, von Java-Selbstbau nach Scala-Library portiert. 2014-11-14 Christoph Knabe Anfragen für Listen Kapitel 7 des Buches, von Java-Selbstbau nach Scala-Library portiert. 2014-11-14 Christoph Knabe 1 MapReduce-Verfahren Google u.a. verwenden Map-Reduce-Verfahren zur Verarbeitung riesiger

Mehr

Zustandsgebundene Webservices

Zustandsgebundene Webservices Zustandsgebundene Webservices Präsentation ausgewählter Problemstellungen der Informatik Markus Oertel oer@uni-paderborn.de Universität Paderborn 25. September 2005 Zustandsgebundene Webservices Seite

Mehr

Kap. 7 IS-Infrastruktur: Zusammenfassung

Kap. 7 IS-Infrastruktur: Zusammenfassung Kapitel 7: Zusammenfassung Teil I. 1 Kap. 7 IS-Infrastruktur: Zusammenfassung In Teil I haben wir verschiedene Middleware-Lösungen zur Entwicklung (komplexer), verteilter Informationssysteme kennengelernt

Mehr

Kapitel 5: Applikative Programmierung

Kapitel 5: Applikative Programmierung Kapitel 5: Applikative Programmierung In der applikativen Programmierung wird ein Programm als eine mathematische Funktion von Eingabe-in Ausgabewerte betrachtet. Das Ausführen eines Programms besteht

Mehr

Programmieren in Haskell Einführung

Programmieren in Haskell Einführung Programmieren in Haskell Einführung Peter Steffen Universität Bielefeld Technische Fakultät 16.10.2009 1 Programmieren in Haskell Veranstalter Dr. Peter Steffen Raum: M3-124 Tel.: 0521/106-2906 Email:

Mehr

L A TEX, Linux, Python

L A TEX, Linux, Python L A TEX, Linux, Python Daniel Borchmann, Tom Hanika, Maximilian Marx 17. Dezember 2014 cba Grundlagen von GNU/Linux Grundlagen von GNU/Linux Eine kurze Geschichte von GNU / Linux Eine kurze Geschichte

Mehr

Hansa-Gymnasium Scheme-Einführung Uwe Debacher 2007-1 -

Hansa-Gymnasium Scheme-Einführung Uwe Debacher 2007-1 - - 1 - Alle heute gebräuchlichen Computer-Sprachen fallen unter den Oberbegriff problemorientierte Sprachen, womit eine weitgehende Unabhängigkeit gekennzeichnet wird von der Maschine auf der die Software

Mehr

J2EE-Praktikum. EJB-Security. Peter Thiemann. J2EE-Praktikum, WS2005/2006. Universität Freiburg

J2EE-Praktikum. EJB-Security. Peter Thiemann. J2EE-Praktikum, WS2005/2006. Universität Freiburg J2EE-Praktikum EJB-Security Peter Thiemann Universität Freiburg J2EE-Praktikum, WS2005/2006 Inhalt 1 EJB Sicherheit 2 Schnittstelle für den Bean Provider 3 Zusammenfassung EJB Security Allgemeines Sicherheitsziele

Mehr

Datenbankadministration

Datenbankadministration Datenbankadministration 11. Synchronisation AG DBIS University of Kaiserslautern, Germany Karsten Schmidt kschmidt@informatik.uni-kl.de (Vorlage TU-Dresden) Wintersemester 2008/2009 Transaktion Transaktion

Mehr

Ja, ich möchte ab (Datum) Förderspender im Deutschen Roten Kreuz, Kreisverband Dresden e.v. werden. Ich zahle einen Beitrag von: Verwendungszweck:

Ja, ich möchte ab (Datum) Förderspender im Deutschen Roten Kreuz, Kreisverband Dresden e.v. werden. Ich zahle einen Beitrag von: Verwendungszweck: Newsletter: ja nein e-mail:* Datum: _ Unterschrift: Datum: Unterschrift: Newsletter: ja nein e-mail:* Datum: _ Unterschrift: Datum: Unterschrift: Newsletter: ja nein e-mail:* Datum: _ Unterschrift: Datum:

Mehr

Um überhaupt produktiv arbeiten zu können, sind eine Reihe grundlegender Vorbereitungen notwendig:

Um überhaupt produktiv arbeiten zu können, sind eine Reihe grundlegender Vorbereitungen notwendig: Abgabe Dieses Übungsblatt ist bis Freitag, 02.05. um 12:00 per E-Mail an den eigenen Tutoren abzugeben. Bennennung beispielsweise $Matrikelnummer_Abgabe_$Blattnummer.$Format. 1 Erste Schritte mit dem Arduino

Mehr

Teil 1: Einführung 1.5 Programmierparadigmen Prof. Dr. Max Mühlhäuser FG Telekooperation TU-Darmstadt

Teil 1: Einführung 1.5 Programmierparadigmen Prof. Dr. Max Mühlhäuser FG Telekooperation TU-Darmstadt Grundzüge der Informatik 1 Teil 1: Einführung 1.5 Programmierparadigmen Prof. Dr. Max Mühlhäuser FG Telekooperation TU-Darmstadt Agenda Was sindprogrammierparadigmen? Die wichtigsten Programmiersprachentypen

Mehr

Stefan Mieth, AIT GmbH & Co. KG

Stefan Mieth, AIT GmbH & Co. KG Stefan Mieth, AIT GmbH & Co KG As a requirements engineer I want to use the TFS 12032015; 16:30 17:30 Requirements Engineering ist neben Testing wohl der Dauerbrenner, wenn es um gerne vernachlässigte

Mehr

Programmierkurs Python I

Programmierkurs Python I Programmierkurs Python I Michaela Regneri 2009-10-30 (Folien basieren auf dem gemeinsamen Kurs mit Stefan Thater, der für diese Vorlesung auf Alexander Kollers Java-Kurs basierte) Organisatorisches Wöchentliche

Mehr

Darstellung von Wissen

Darstellung von Wissen KARL HEINZ WAGNER Darstellung von Wissen Definition 1. Wissensrepräsentation Wissensrepräsentation ist die symbolische Darstellung von Wissen über einen Gegenstandbereich. Wir können dazu verschiedene

Mehr

Programmieren in Python

Programmieren in Python 1. Was ist Python? Albert-Ludwigs-Universität Freiburg KI-Praktikum, Sommersemester 2009 Was ist Python? Kurz: Python ist eine objektorientierte Skriptsprache. Ausführlicher: Python ist eine... objektorientierte,

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Einleitung. Funktion. Panzenböck Phillipp. Download 13.05.2003. Installation. Testen. Konfiguration

Einleitung. Funktion. Panzenböck Phillipp. Download 13.05.2003. Installation. Testen. Konfiguration Panzenböck Phillipp 13.05.2003 Der Applikationsserver wird von einer in Schweden ansässigen Firma namens Ironflare entwickelt Orion ist das einzige Produkt dieser Firma Der Orionserver ist komplett in

Mehr

Praktische Informatik 3: Einführung in die Funktionale Programmierung Vorlesung vom 10.11.2010: Rekursive Datentypen

Praktische Informatik 3: Einführung in die Funktionale Programmierung Vorlesung vom 10.11.2010: Rekursive Datentypen Rev. 1152 1 [23] Praktische Informatik 3: Einführung in die Funktionale Programmierung Vorlesung vom 10.11.2010: Rekursive Datentypen Christoph Lüth & Dennis Walter Universität Bremen Wintersemester 2010/11

Mehr

Wissensbasierte Systeme/ Expertensysteme. Teil 2

Wissensbasierte Systeme/ Expertensysteme. Teil 2 Wissensbasierte Systeme/ Expertensysteme Teil 2 BiTS, Sommersemester 2004 Dr. Stefan Kooths KOOTHS BiTS: Wissensbasierte Systeme/Expertensysteme Teil 2 1 Gliederung 1. Einführung und Einordnung 2. Entscheidungsunterstützung(ssysteme)

Mehr

Haskell zur Constraint-Programmierung HaL8

Haskell zur Constraint-Programmierung HaL8 Haskell zur Constraint-Programmierung HaL8 Alexander Bau 2. Mai 2013 Wir benutzen eine Teilmenge von Haskell zur Spezifikation von Constraint- Systemen über Haskell-Datentypen. Ein Constraint-Compiler

Mehr

Modulhandbuch für das BA Kombinationsfach Angewandte Informatik Multimedia

Modulhandbuch für das BA Kombinationsfach Angewandte Informatik Multimedia Modulhandbuch für das BA Kombinationsfach Angewandte Informatik Multimedia Kenntnisse im Programmieren für das World Wide Web mit der Programmiersprache JAVA werden vermittelt, ebenso das Erstellen von

Mehr

Semantic Web Technologies I! Lehrveranstaltung im WS10/11! Dr. Andreas Harth! Dr. Sebastian Rudolph!

Semantic Web Technologies I! Lehrveranstaltung im WS10/11! Dr. Andreas Harth! Dr. Sebastian Rudolph! Semantic Web Technologies I! Lehrveranstaltung im WS10/11! Dr. Andreas Harth! Dr. Sebastian Rudolph! www.semantic-web-grundlagen.de Ontology Engineering! Dr. Sebastian Rudolph! Semantic Web Architecture

Mehr

Übersicht. Einführung in die Funktionale Programmierung: Einleitung & Motivation. Klassifizierung von Programmiersprachen (1)

Übersicht. Einführung in die Funktionale Programmierung: Einleitung & Motivation. Klassifizierung von Programmiersprachen (1) Motivation Funktionale Programmiersprachen Haskell Übersicht Einführung in die Funktionale Programmierung: Einleitung & Motivation Prof Dr. Manfred Schmidt-Schauß 1 Motivation Übersicht Programmierparadigmen

Mehr