j) Der Haskell-Programmierer wohnt neben dem, der eine Katze hält. k) Der Mann, der ein Pferd hält, wohnt neben dem, der in Prolog programmiert.

Größe: px
Ab Seite anzeigen:

Download "j) Der Haskell-Programmierer wohnt neben dem, der eine Katze hält. k) Der Mann, der ein Pferd hält, wohnt neben dem, der in Prolog programmiert."

Transkript

1 Aufgabe Optional-1 Rätseln in Prolog Es gibt fünf Häuser mit je einer anderen Farbe. In jedem Haus wohnt eine Person einer anderen Nationalität. Jeder Hausbewohner bevorzugt ein bestimmtes Getränk, verwendet eine bestimmte Programmiersprache und hält ein bestimmtes Haustier. Keine der 5 Personen trinkt das gleiche Getränk, benutzt die gleiche Programmiersprache oder hält das gleiche Tier wie einer seiner Nachbarn. Es gelten folgende Nebenbedingungen: a) Der Brite lebt im roten Haus. b) Der Schwede hält einen Hund. c) Der Däne trinkt gerne Tee. d) Das grüne Haus steht links vom weißen Haus. e) Der Besitzer des grünen Hauses trinkt Kaffee. f) Die Person, die in Ada programmiert, hält einen Vogel. g) Der Mann, der im mittleren Haus wohnt, trinkt Milch. h) Der Besitzer des gelben Hauses programmiert in Prolog. i) Der Norweger wohnt im ersten Haus. j) Der Haskell-Programmierer wohnt neben dem, der eine Katze hält. k) Der Mann, der ein Pferd hält, wohnt neben dem, der in Prolog programmiert. l) Der OCaml-Programmierer trinkt gerne Bier. m) Der Norweger wohnt neben dem blauen Haus. n) Der Deutsche verwendet LISP. o) Der Haskell-Programmierer hat einen Nachbarn, der Wasser trinkt. Lösen Sie folgende Aufgaben mit diesem Rätsel: a) Formulieren Sie das Rätsel als Prologprogramm! b) Skizzieren Sie ein imperatives Programm, welches die Lösung berechnet! Welchen algorithmische Idee müssen Sie verwenden? Welche Vorteile bietet Prolog? erstes(e,[e _]). mittleres(m,[_,_,m,_,_]). links(a,b,[a [B _]]). links(a,b,[_ R]):-links(A,B,R). neben(a,b,l):-links(a,b,l);links(b,a,l). run:- X = [_,_,_,_,_], /* Es gibt (nebeneinander) 5 (noch unbekannte) Huser */ member([rot,brite,_,_,_],x), /* Der Brite lebt im roten Haus */ member([_,schwede,_,_,hund],x), /* Der Schwede hlt einen Hund */ member([_,daene,tee,_,_],x), /* Der Dne trinkt gern Tee */ links([gruen,_,_,_,_],[weiss,_,_,_,_],x), /* Das grne Haus steht links vom weien Haus */ 1

2 member([gruen,_,kaffee,_,_],x), /* Der Besitzer des grnen Hauses trinkt Kaffee */ member([_,_,_,pallmall,vogel],x), /* Die Person, die Pall Mall raucht, hlt einen Vogel */ mittleres([_,_,milch,_,_],x), /* Der Mann, der im mittleren Haus wohnt, trinkt Milch */ member([gelb,_,_,dunhill,_],x), /* Der Besitzer des gelben Hauses raucht Dunhill */ erstes([_,norweger,_,_,_],x), /* Der Norweger wohnt im 1. Haus */ neben([_,_,_,marlboro,_],[_,_,_,_,katze],x), /* Der Marlboro-Raucher wohnt neben dem, der eine Katze hlt * neben([_,_,_,_,pferd],[_,_,_,dunhill,_],x), /* Der Mann, der ein Pferd hlt, wohnt neben dem, der Dunhill member([_,_,bier,winfield,_],x), /* Der Winfield-Raucher trinkt gern Bier */ neben([_,norweger,_,_,_],[blau,_,_,_,_],x), /* Der Norweger wohnt neben dem blauen Haus */ member([_,deutsche,_,rothmans,_],x), /* Der Deutsche raucht Rothmans */ neben([_,_,_,marlboro,_],[_,_,wasser,_,_],x), /* Der Marlboro-Raucher hat einen Nachbarn, der Wasser trinkt member([_,n,_,_,fisch],x), /* Der mit der Nationalitt N hat einen Fisch */ write(x),nl, /* Ausgabe aller Huser */ write( Der ),write(n),write( hat einen Fisch als Haustier. ),nl. /* Antwort auf die Frage */ 2

3 Aufgabe Optional-2 Acht Damen Man finde eine Stellung für acht Damen auf einem Schachbrett, so dass keine zwei Damen sich gegenseitig schlagen können. 1 a) Programmieren Sie eine Lösung für dieses Problem in Prolog! b) Vergleichen Sie Ihre Lösung in Prolog in Hinblick auf den algorithmischen Ansatz mit der Lösung in Java von Stefan Baur. Zu finden unter a) Generate-and-Test Ansatz acht_damen(stellung) :- length(stellung, 8), numlist(1, 8, Positionen), konstruiere_stellung(positionen, Positionen, Stellung), gueltige_stellung(stellung). % konstruiere_stellung nimmt als Parameter je eine Liste von Zeilen und % Spalten, in denen noch keine Dame platziert wurde, und liefert im dritten % Parameter eine Stellung der Damen auf dem Spielfeld zurueck. konstruiere_stellung(_, _, []). % Es wird je eine Dame auf dem Spielfeld platziert, die restlichen rekursiv. % Fuer die aktuelle Dame wird hier mit dem eingebauten Prolog-Praedikat select % eine Spalte ausgesucht, die Zeilen werden aus Effizienzgruenden in % aufsteigender Reihenfolge besetzt. konstruiere_stellung([x1 RestXListe], YListe, [[X1, Y] Rest]) :- select(y, YListe, RestYListe), konstruiere_stellung(restxliste, RestYListe, Rest). % gueltige_stellung prueft rekursiv, dass keine der Damen eine andere schlagen % kann. gueltige_stellung([]). gueltige_stellung([[x1, Y1] Rest]) :- schlaegt_nicht(x1, Y1, Rest), gueltige_stellung(rest). % schlaegt_nicht nimmt die zwei Koordinaten einer Dame und eine Liste weiterer % Damen als Parameter, und prueft dass die erste Dame die uebrigen nicht % schlagen kann. schlaegt_nicht(_, _, []). schlaegt_nicht(x1, Y1, [[X2, Y2] Rest]) :- X1 =\= X2, Y1 =\= Y2, DeltaX is abs(x1 - X2), DeltaY is abs(y1 - Y2), DeltaX =\= DeltaY, schlaegt_nicht(x1, Y1, Rest). b) Backtracking muss in Prolog nicht explizit implementiert werden 1 Duden Informatik, Bibliographisches Institut & F. A. Brockhaus AG, 2. Auflage, 1993, Ein Sachlexikon für Studium und Praxis 3

4 Aufgabe Optional-3 Wahrheitswertetafel in Prolog Schreiben Sie ein Prolog-Programm, welches für beliebige Aussageschemata Wahrheitswertetafeln generiert und lösen Sie damit Aufgabe 7-1. % Optionale Definitionen fr Infixschreibweise :- op(900, fy,not). :- op(910, yfx, and). :- op(920, yfx, or). :- op(930, yfx, =>). and(a,b) :- A, B. or(a,_) :- A. or(_,b) :- B. =>(A,B) :- or(not(a),b). %Alle Belegungen mittels fail durchlaufen table(varlist,expr) :- bindlist(varlist), do(varlist,expr), fail. %Jede Elementaraussage kann wahr oder falsch sein bind(true). bind(fail). bindlist([]). bindlist([v Vs]) :- bind(v), bindlist(vs). %Ausgabe do(varlist,expr) :- writevarlist(varlist), writeexpr(expr), nl. writevarlist([]). writevarlist([v Vs]) :- write(v), write( ), writevarlist(vs). writeexpr(expr) :- Expr,!, write( : ), write(true). writeexpr(_) :- write( : ), write(fail). Start des Programms durch: table([a,b,c,d,e,f,g], (((A or B) and not C) => ((D and E) or (F or not G))) and ((C or B) and not F)). 4

5 Aufgabe Optional-4 Resolution in Prolog Schreiben Sie ein Prolog-Programm, welches aus einer gegebenen Menge von Klauseln alle Resolventen ableitet. Überprüfen Sie mit Hilfe dieses Programms Ihre Ergebnisse aus den beiden vorangegangenen Aufgaben. :- op(900, fy, not). genresolvs(last,kl) :- genstep(last, Resolvs), append(last, Resolvs, New), list_to_set(new, SNew), list_to_set(last, SLast), ((subset(slast,snew), subset(snew, SLast), KL = SNew); genstep(snew, KL)). genstep(k,kn) :- findall(kl, KN). (member(k1,k), member(k2,k), K1 \= K2, member((not X), K1), member(x, K2), append(k1,k2, KKK), resolve(kkk, KL)), resolve(in, Out) :- findall(x, (member( not X, In), member( X, In)), Xs), findall( not X, (member( not X, In), member( X, In)), Xnots), subtract(in, Xs, T1s), subtract(t1s, Xnots, T2s), list_to_set(t2s, T3s), sort(t3s, Out). aufgabe1([[not a, b], [not b, c], [a, not c], [a, b, c]]). aufgabe2([[b, c, not d], [b, d], [not b], [not c, not d]]). 5

6 Aufgabe Optional-5 Kreuz-Kringel-Kalkül in Prolog Erstellen Sie ein Prolog-Programm, welches alle ableitbaren Zeichenreihen des Kreuz-Kringel-Kalküls bei n-facher Regelanwendung erzeugt. Erweitern Sie dieses Programm, um damit erneut Aufgabe 8-1 a) zu lösen. Tipp: Das Prädikat bagof(template, Ziel, Menge) gibt nach prozeduraler Interpretation eine Liste Menge zurück, die alle Lösungen Template von Ziel enthält. Beispielsweise: foo(a). foo(bar). foo(c).?- bagof(x, foo(x), Rs). Rs = [a, bar, c). Version 1 % Abbruchbedingungen kk( +, Z) :- Z >= 1. kk(o, Z) :- Z >= 1. % X -> +,X,+ kk([ +, L, + ], Z) :- Z > 1, ZN is Z-1, kk(l, ZN). % X -> X,o kk([l, o], Z) :- Z > 1, ZN is Z-1, kk(l, ZN). % kk gibt verschachtelte Listen aus, deswegen flatten benoetigt kkf(l, Z) :- kk(ln, Z), flatten(ln, L). % Gibt alle Moeglichkeiten aus. Z: Anzahl der Regelanwendung, E: Ergebnisliste kkall(z, E) :- bagof(x, kkf(x, Z), E). % Ueberprueft ob ein Term ableitbar ist abl(x) :- length(x, Z), kkall(z, E),!, member(x, E),!. abl2(x) :- length(x, Z), kk(x, Z),!. Version 2 start( + ). start(o). % Ueberprueft, ob ein Term ableitbar ist kkmem(mem) :- length(mem, Len), kkall(len, All), member(mem, All). % Gibt alle Moeglichkeiten aus. C: Regelanwendungen, All: Ergebnisliste kkall(c, All) :- findall(erg, kk(c, Erg), All). kk(c, Erg) :- start(x), CN is C-1, kk([x], CN, Erg). % Es soll schon vor der Maximaltiefe abgebrochen werden koennen kk(erg, C, Erg) :- C >= 0. 6

7 % X -> +,X,+ kk(x, C, Erg) :- C > 0, CN is C-1, append([ + X], [ + ], XN), kk(xn, CN, Erg). % X -> X,o kk(x, C, Erg) :- C > 0, CN is C-1, append(x, [o], XN), kk(xn, CN, Erg). 7

Albert steh' uns bei!

Albert steh' uns bei! Versuch einer Anleitung zum Lösen eines Logicals Zur Darstellung der einzelnen Schritte habe ich das Programm "P's Logik-Manager" von Michael Pousen benutzt. Diese kleine Tool hat mir geholfen (und hilft

Mehr

Grundlagen der Logik und Logik-Programmierung

Grundlagen der Logik und Logik-Programmierung Grundlagen der Logik und Logik-Programmierung 10. Übung - Übungsblatt 9 Florian Wittmann Übungen zu GLoLoP Inhalt 1 Aufgabe 9-1: ESK-Kalkül und Quantorenlogik 2 Aufgabe 9-2: Logik mit Peter 3 Aufgabe 9-3:

Mehr

Teil 4: Rekursion und Listen

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

Mehr

Das Damenproblem - funktional und logisch

Das Damenproblem - funktional und logisch - funktional und logisch 1 1 Technische Fakultät Universität Bielefeld 14.5.2014 / Seminar Programmiersprachen Gliederung Einleitung 1 Einleitung 2 3 Problembeschreibung Definition Definition Sei N eine

Mehr

IQ Spielentwurf Leitfaden für LehrerInnen - Detektivspiel

IQ Spielentwurf Leitfaden für LehrerInnen - Detektivspiel IQ Spielentwurf Leitfaden für LehrerInnen - Detektivspiel Abstract Aus der Sicht eines Spieleentwicklers sollen SchülerInnen ein IQ Spiel namens Detektivspiel entwerfen und/oder analysieren und/oder testen.

Mehr

Fragen zum Nachdenken: Wie könnte man das Fehlen eines Attribut-Wertes interpretieren?

Fragen zum Nachdenken: Wie könnte man das Fehlen eines Attribut-Wertes interpretieren? Attribut-Werte-Paare Eine Eigenschaft kann beschrieben werden durch ein Paar [a,w]. Dabei bezeichnet a das Attribut und w den konkreten Wert aus dem Wertebereich W a des Attributs. Die Eigenschaften eines

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

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

Rekursive Listenverarbeitung

Rekursive Listenverarbeitung Rekursive Listenverarbeitung Übersicht Rekursion ist die wichtigste Programmiertechnik in Prolog! Rekursive Datenstrukturen Einfache und rekursiv gebildete Strukturen Rekursive Datenstrukturen und rekursive

Mehr

Was ist Logische Programmierung?

Was ist Logische Programmierung? Was ist Logische Programmierung? Die Bedeutung eines Computer-Programms kann durch Logik erklärt werden. Die Idee der logischen Programmierung besteht darin, die Logik eines Programms selber als Programm

Mehr

Gliederung. Programmierparadigmen. Einführung in Prolog: Einführung in Prolog: Programmieren in Prolog. Einführung Syntax Regeln Listen Relationen

Gliederung. Programmierparadigmen. Einführung in Prolog: Einführung in Prolog: Programmieren in Prolog. Einführung Syntax Regeln Listen Relationen Gliederung Programmierparadigmen Programmieren in Prolog D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Sommer 2011, 26. April

Mehr

Resolutionsalgorithmus

Resolutionsalgorithmus 112 Resolutionskalkül Mit dem Begriff Kalkül bezeichnet man eine Menge von syntaktischen Umformungsregeln, mit denen man semantische Eigenschaften der Eingabeformel herleiten kann. Für den Resolutionskalkül:

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

Vorlesung Künstliche Intelligenz Alexander Manecke Oliver Schneider Andreas Stoffel 9. Mai 2006

Vorlesung Künstliche Intelligenz Alexander Manecke Oliver Schneider Andreas Stoffel 9. Mai 2006 Vorlesung Künstliche Intelligenz 9. Mai 2006 Aufgabe 1: Listen in Prolog a) Den Fall der leeren Liste müssen wir hier nicht betrachten, denn eine leere Liste besitzt kein Maximum. Also ist Standardantwort

Mehr

1. Musterlösung zu Mathematik für Informatiker I, WS 2003/04

1. Musterlösung zu Mathematik für Informatiker I, WS 2003/04 1 Musterlösung zu Mathematik für Informatiker I, WS 2003/04 MICHAEL NÜSKEN, KATHRIN TOFALL & SUSANNE URBAN Aufgabe 11 (Aussagenlogik und natürliche Sprache) (9 Punkte) (1) Prüfe, ob folgenden Aussagen

Mehr

2.5 Listen. Kurzschreibweise: [42; 0; 16] Listen werden mithilfe von [] und :: konstruiert.

2.5 Listen. Kurzschreibweise: [42; 0; 16] Listen werden mithilfe von [] und :: konstruiert. 2.5 Listen Listen werden mithilfe von [] und :: konstruiert. Kurzschreibweise: [42; 0; 16] # let mt = [];; val mt : a list = [] # let l1 = 1::mt;; val l1 : int list = [1] # let l = [1;2;3];; val l : int

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

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung Algorithmen und Datenstrukturen Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind ausgewählte Teile in Anlehnung an

Mehr

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

13.2) Implementieren Sie nun das Prädikat differenz/3 indem nur Elemente vorkommen die exklusiv in L1 vorkommen. L1=[1,2,3,4],L2=[3,4,5,6],L3=[1,2]

13.2) Implementieren Sie nun das Prädikat differenz/3 indem nur Elemente vorkommen die exklusiv in L1 vorkommen. L1=[1,2,3,4],L2=[3,4,5,6],L3=[1,2] Aufgabenblatt 6: Einführung in das Symbolische Programmieren CIS, WS 2010 ===================================================================== Lösung Aufgabe 13 13.1) Gegeben seinen zwei Listen, L1 und

Mehr

LISTEN. Programmierkurs Prolog p.1

LISTEN. Programmierkurs Prolog p.1 LISTEN Programmierkurs Prolog p.1 Liste Listen sind rekursive Datenstrukturen, die dazu dienen geordnete Mengen von Elementen zu beschreiben. Man kann sich Listen in Prolog als Behälter vorstellen, die

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Konstruktor, Statische Methoden Packages Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Initialisierung von Datenstrukturen

Mehr

Allgemeine Hinweise: TECHNISCHE UNIVERSITÄT MÜNCHEN. Name Vorname Studiengang Matrikelnummer. Hörsaal Reihe Sitzplatz Unterschrift

Allgemeine Hinweise: TECHNISCHE UNIVERSITÄT MÜNCHEN. Name Vorname Studiengang Matrikelnummer. Hörsaal Reihe Sitzplatz Unterschrift TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 2008/09 Einführung in die Informatik 2 Klausur Prof. Dr. Helmut Seidl, T. M. Gawlitza, S. Pott,

Mehr

Übungen zu Kognitive Systeme I

Übungen zu Kognitive Systeme I Übungen zu Kognitive Systeme I Kognitive Systeme / WIAI / Uni Bamberg 26. Oktober 2005 Inhalt 1 2 3 Listen und Mengen Input & Output Sonstiges 4 5 Die werden als Bonuspunkte auf die Klausur angerechnet.

Mehr

Logische Programmierung

Logische Programmierung 1. Vorbemerkungen 1-1 Logische Programmierung Stefan Brass Institut für Informatik Fachgebiet Datenbanken und Informationssysteme Prof. Dr. Udo W. Lipeck 1. Vorbemerkungen 1-2 Organisatorisches Sprechstunde:

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

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.

Mehr

Programmierkurs Prolog, SS 1998

Programmierkurs Prolog, SS 1998 Programmierkurs Prolog SS 1998 Universität Dortmund LS VIII - Prof. K. Morik Inhalt Vergleiche von Termen Typtests auf Termen Zugriff auf den Termaufbau Zugriff auf Fakten und Regeln All-Solutions Prädikate

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

Funktionale Programmierung ALP I. λ Kalkül WS 2012/2013. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda

Funktionale Programmierung ALP I. λ Kalkül WS 2012/2013. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda ALP I λ Kalkül WS 2012/2013 Berechenbarkeit - inspiriert durch Hilbert's Frage - im Jahr 1900, Paris - Internationaler Mathematikerkongress Gibt es ein System von Axiomen, aus denen alle Gesetze der Mathematik

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

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

Carpe Diem Ausgabe /2015

Carpe Diem Ausgabe /2015 Carpe Diem Ausgabe 1 2014/2015 Liebe Carpe Diem Leser, nun haltet ihr sie in den Händen: die erste Ausgabe der Schülerzeitung diesen Jahres. Das Schuljahr ist schon ein paar Wochen alt und es ist schon

Mehr

Allgemeine Hinweise:

Allgemeine Hinweise: TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 12/13 Einführung in die Informatik I Wiederholungsklausur Prof. Dr. Helmut Seidl, A. Lehmann,

Mehr

Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre 1990.

Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre 1990. Ein polynomieller Algorithmus für das N-Damen Problem 1 Einführung Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre

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

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

Übungen zum Vortrag Backtracking mit Heuristiken

Übungen zum Vortrag Backtracking mit Heuristiken Übungen zum Vortrag Backtracking mit Heuristiken A) Java-Implementierung studieren von Backtracking im Labyrinth B) Pseudocode schreiben zu Backtracking beim n Damen Problem C) Implementierung der Springerwege

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

Programmiersprachen. Organisation und Einführung. Berthold Hoffmann. Studiengang Informatik Universität Bremen

Programmiersprachen. Organisation und Einführung. Berthold Hoffmann. Studiengang Informatik Universität Bremen Organisation und Einführung Studiengang Informatik Universität Bremen Sommersemester 2010 (Vorlesung am Montag, der 12. April 2010) (Montag, der 12. April 2008) 1 Vorstellung 2 Organisation 3 Einführung

Mehr

Grundlagen von Datenbanken

Grundlagen von Datenbanken Grundlagen von Datenbanken SS 2010 5. Bereichskalkül (=Domänenkalkül) Agenda: Prof. Dr. Stefan Böttcher Universität Paderborn mit Material von Prof. Dr. Gregor Engels Grundlagen von Datenbanken - SS 2010

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

Vorsicht bei redundanten und unvollständigen Matches!

Vorsicht bei redundanten und unvollständigen Matches! Vorsicht bei redundanten und unvollständigen Matches! # let n = 7;; val n : int = 7 # match n with 0 -> "null";; Warning: this pattern-matching is not exhaustive. Here is an example of a value that is

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 15 Einstieg in die Informatik mit Java Collections Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 15 1 Überblick Collections 2 Hierarchie von Collections 3 Verwendung

Mehr

Übung zu Grundlagen der Logik und Logik-Programmierung

Übung zu Grundlagen der Logik und Logik-Programmierung Übung zu Grundlagen der Logik und Logik-Programmierung Übungsblatt 7 (8.Übung) Florian Wittmann Uni Erlangen, Informatik 8 Inhalt 1 Aufgabe 7-1: Erfüllbarkeit 2 Aufgabe 7-2: Implikation 3 Aufgabe 7-3:

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

Constraint Logical Programming

Constraint Logical Programming Constraint Logical Programming Betreuer: Thomas Ströder Proseminar: Fortgeschrittene Programmierkonzepte in Java, Haskell und Prolog Rene Niewianda, Martin Breuer 15. Juni 2015 1 Einleitung: Das Ziel dieses

Mehr

E vs. F. BeF <bef@erlangen.ccc.de> E vs. F - BeF - ICMP5 [redirect to reallife]

E vs. F. BeF <bef@erlangen.ccc.de> E vs. F - BeF - ICMP5 [redirect to reallife] A vs. B C vs. D E vs. F G vs. H I vs. J BeF E vs. F - BeF - ICMP5 [redirect to reallife] Der moderne Programmierer wird im Laufe seines Lebens mit einem Wust unterschiedlicher Programmiersprachen

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

Backtracking mit Heuristiken

Backtracking mit Heuristiken Backtracking mit Heuristiken Thomas Dübendorfer thomas@duebendorfer.ch 14. September 2000 Inhalt und Ablauf 1. Einführendes Beispiel (4 min) 2. Konzepte zu Backtracking (8 min) 3. Eingesperrt im Labyrinth

Mehr

Aufgabenblatt 2 Suchen und Sortieren. Aufgabe 1: Vergleiche und Sortieren in Java

Aufgabenblatt 2 Suchen und Sortieren. Aufgabe 1: Vergleiche und Sortieren in Java Aufgabenblatt 2 Suchen und Sortieren Abgabetermin: Samstag, 21.05.2016 23:55 Uhr Zur Prüfungszulassung müssen in einem Aufgabenblatt mind. 25% der Punkte erreicht werden und alle weiteren Aufgabenblätter

Mehr

Logische Programmierung: PROLOG

Logische Programmierung: PROLOG Logische Programmierung: PROLOG Proseminar Programmiersprachen WS 03/04 von Jochen Frey nach einem Thema von Prof. Dr. Gert Smolka Lehrstuhl für Programmiersysteme FR Informatik Universität des Saarlandes

Mehr

Informatik B von Adrian Neumann

Informatik B von Adrian Neumann Musterlösung zum 7. Aufgabenblatt vom Montag, den 25. Mai 2009 zur Vorlesung Informatik B von Adrian Neumann 1. Java I Schreiben Sie ein Java Programm, das alle positiven ganzen Zahlen 0 < a < b < 1000

Mehr

Finn und Lili auf dem Bauernhof

Finn und Lili auf dem Bauernhof 1. Klasse Finn und Lili auf dem Bauernhof Hanneliese Schulze Übungsbücher Mit 48 spannenden Leserätseln Lesedetektive Finn und Lili auf dem Bauernhof Hanneliese Schulze mit Bildern von Alexander Steffensmeier

Mehr

Projekt 1: Constraint-Satisfaction-Probleme Abgabe: 7. Juni 2009

Projekt 1: Constraint-Satisfaction-Probleme Abgabe: 7. Juni 2009 KI-Praktikum M. Helmert, M. Westphal, S. Wölfl, J.-G. Smaus Sommersemester 2009 Universität Freiburg Institut für Informatik Projekt 1: Constraint-Satisfaction-Probleme Abgabe: 7. Juni 2009 Präsenzaufgaben

Mehr

Rollenspiel zum Prozessscheduling bei Betriebssystemen

Rollenspiel zum Prozessscheduling bei Betriebssystemen Rollenspiel zum Prozessscheduling bei Betriebssystemen Dokument Seite 1 + 2 ab Seite 3 Lehrerhinweise Aufgaben für die Lernenden (Prozesse) Überblick Das Scheduling von Prozessen soll anhand eines Rollenspiels

Mehr

Allgemeine Informatik II SS :30-13:30 Uhr

Allgemeine Informatik II SS :30-13:30 Uhr TU Darmstadt FB Informatik Prof. J. Fürnkranz Vordiplomsklausur - Lösungsvorschlag Allgemeine Informatik II SS 2005 15.09.2005 11:30-13:30 Uhr Hinweise: Als Hilfsmittel ist nur ein schwarzer oder blauer

Mehr

Funktionen in Python

Funktionen in Python Funktionen in Python Prof. Dr. Rüdiger Weis Beuth Hochschule für Technik Berlin 1 / 31 1 def Anweisung 2 Argumentübergabe 3 Lokale Variablen 4 Default Argumente 5 Aufruf mit Schlüsselwort 6 Variable Argumente

Mehr

Fakten, Regeln und Anfragen

Fakten, Regeln und Anfragen Fakten, Regeln und Anfragen Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de 18.10.99 GK Prolog - Fakten, Regeln und Anfragen 1 Programmieren = Problemlösen Prolog ist eine deklarative

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

Sprachförderung Hundertertafel. Die Zeile verläuft

Sprachförderung Hundertertafel. Die Zeile verläuft Sprachförderung Hundertertafel Name: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58

Mehr

Die Familie Die Familie Die Familie Die Familie. Das Baby Die GroBmutter Die Mutter Die Schwester Der Bruder Der Vater Der GroBvater Der alte Mann

Die Familie Die Familie Die Familie Die Familie. Das Baby Die GroBmutter Die Mutter Die Schwester Der Bruder Der Vater Der GroBvater Der alte Mann Die Familie Die Familie Die Familie Die Familie Die Familie Die Familie Die Familie Die Familie Die Tiere Die Tiere Die Tiere Die Tiere Das Kaninchen Das Pferd Die Katze Die Kuh Die Tiere Die Tiere Die

Mehr

Klausurvorbereitung für die Semesterferien - 20 Aufgaben -

Klausurvorbereitung für die Semesterferien - 20 Aufgaben - Klausurvorbereitung für die Semesterferien - 20 Aufgaben - Sebastian Heger B.Sc. - SoSe 2010 Mathematik für Informatiker II bei Prof. Dr. J. Baumeister Aufgabe 1. (Mengenbeweise) Seien ABC beliebige Mengen.

Mehr

Programmiersprachen. Marco Block. Folieninhalte teilweise übernommen von Prof. Heinz Schweppe (ALP II, SoSe 2008) und Prof. Löhr (ALP II, SoSe 2004)

Programmiersprachen. Marco Block. Folieninhalte teilweise übernommen von Prof. Heinz Schweppe (ALP II, SoSe 2008) und Prof. Löhr (ALP II, SoSe 2004) Programmiersprachen Inhalt: Geschichte der Programmiersprachen Programmierparadigma Programmiersprachen im Studium Funktionale Programmierung mit Haskell Funktionale versus Imperative Programmierung Logische

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

Mehr

Kapitel 5: Abstrakte Algorithmen und Sprachkonzepte. Elementare Schritte

Kapitel 5: Abstrakte Algorithmen und Sprachkonzepte. Elementare Schritte Elementare Schritte Ein elementarer Berechnungsschritt eines Algorithmus ändert im Allgemeinen den Wert von Variablen Zuweisungsoperation von fundamentaler Bedeutung Zuweisungsoperator In Pascal := In

Mehr

Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg

Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg Klausur Informatik Programmierung, 22.09.2011 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert

Mehr

Grundlagen der Modellierung und Programmierung, Übung

Grundlagen der Modellierung und Programmierung, Übung Grundlagen der Modellierung und Programmierung Übung Prof. Wolfram Amme LS Softwaretechnik Prof. Klaus Küspert LS Datenbanksysteme Prof. Birgitta König-Ries LS Verteilte Systeme Prof. Dr. Wilhelm Rossak

Mehr

1 Logisches und Widersprüchliches

1 Logisches und Widersprüchliches 1 Logisches und Widersprüchliches 1.1 Mathematische Logik Wir nennen eine Formel oder einen Satz der Alltagssprache eine Aussage, wenn sie wahr oder falsch sein kann. Die Formeln 2 = 3, 2 4, 5 5 sind Beispiele

Mehr

SS2010 BAI2-LBP Gruppe 1 Team 07 Entwurf zu Aufgabe 4. R. C. Ladiges, D. Fast 10. Juni 2010

SS2010 BAI2-LBP Gruppe 1 Team 07 Entwurf zu Aufgabe 4. R. C. Ladiges, D. Fast 10. Juni 2010 SS2010 BAI2-LBP Gruppe 1 Team 07 Entwurf zu Aufgabe 4 R. C. Ladiges, D. Fast 10. Juni 2010 Inhaltsverzeichnis 4 Aufgabe 4 3 4.1 Sich mit dem Programmpaket vertraut machen.................... 3 4.1.1 Aufgabenstellung.................................

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 20 Einstieg in die Informatik mit Java Rekursion Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 20 1 Überblick 2 Rekursion 3 Rekursive Sortieralgorithmen 4 Backtracking

Mehr

Lesedetektive Übungsbücher - Finn und Lili auf dem Bauernhof, 1. Klasse

Lesedetektive Übungsbücher - Finn und Lili auf dem Bauernhof, 1. Klasse Lesedetektive Übungsbücher - Finn und Lili auf dem Bauernhof, 1. Klasse Bearbeitet von Hanneliese Schulze, Alexander Steffensmeier 1. Auflage 2012. Taschenbuch. 48 S. Paperback ISBN 978 3 7373 3514 0 Format

Mehr

Institut für Programmierung und Reaktive Systeme 19. August Programmier-Labor. 1. Übungsblatt

Institut für Programmierung und Reaktive Systeme 19. August Programmier-Labor. 1. Übungsblatt echnische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 19. August 2014 Aufgabe 1: Programmier-Labor 1. Übungsblatt a) Welche primitiven Datentypen kennt

Mehr

Computational Intelligence

Computational Intelligence Vorlesung Computational Intelligence Stefan Berlik Raum H-C 80 Tel: 027/70-267 email: berlik@informatik.uni-siegen.de Inhalt Überblick Rückblick Optimierungsprobleme Optimierungsalgorithmen Vorlesung Computational

Mehr

Visual Basic / EXCEL / Makroprogrammierung Unterrichtsreihe von Herrn Selbach

Visual Basic / EXCEL / Makroprogrammierung Unterrichtsreihe von Herrn Selbach Visual Basic / EXCEL / Makroprogrammierung Unterrichtsreihe von Herrn Selbach Übungsaufgaben zum Kapitel 1 1. Aufgabe In einer EXCEL Tabelle stehen folgende Zahlen: Definiere einen CommandButton, der diese

Mehr

Grundlagen von Datenbanken

Grundlagen von Datenbanken Grundlagen von Datenbanken SS 2010 4. Prolog als Datenbanksprache Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken - SS 2010 - Prof. Dr. Stefan Böttcher 4. Prolog als Datenbanksprache

Mehr

Logik für Informatiker

Logik für Informatiker Vorlesung Logik für Informatiker 1. Einführung Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.1 Formale Logik Ziel Formalisierung und Automatisierung rationalen

Mehr

Programmieren I. Methoden-Special Heusch --- Ratz 6.1, Institut für Angewandte Informatik

Programmieren I. Methoden-Special Heusch --- Ratz 6.1, Institut für Angewandte Informatik Programmieren I Methoden-Special Heusch --- Ratz 6.1, 6.2 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Parameterübergabe: Wertkopie -By- public class MethodParameters { public

Mehr

Grundlagen der Informatik für Ingenieure I

Grundlagen der Informatik für Ingenieure I 3 Einführung in das objektorientierte Programmier-Paradigma 3 Einführung in das objektorientierte Programmier-Paradigma 3.1.1 Top-down structured design 3.1.2 Data-driven design 3.1.3 Object-oriented design

Mehr

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren I Dr. Werner Struckmann 7. September 2015 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 22 Einstieg in die Informatik mit Java Generics Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Überblick Generics 2 Generische Klassen 3 Generische Methoden 4

Mehr

Algorithmen und ihre Programmierung

Algorithmen und ihre Programmierung Veranstaltung Pr.-Nr.: 101023 Algorithmen und ihre Programmierung Veronika Waue WS 07/08 Einführung Definition: Algorithmus Ein Algorithmus ist eine genau definierte Folge von Anweisungen zur Lösung eines

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

Telecooperation/RBG. Grundlagen der Informatik I Thema 0: Einführung. Dr. Guido Rößling. Copyrighted material; for TUD student use only

Telecooperation/RBG. Grundlagen der Informatik I Thema 0: Einführung. Dr. Guido Rößling. Copyrighted material; for TUD student use only Technische Universität Darmstadt Telecooperation/RBG Grundlagen der Informatik I Thema 0: Einführung Dr. Guido Rößling Copyrighted material; for TUD student use only 1 Worum es in der Informatik nicht

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Prof. Dr. Rudolf Berrendorf Fachbereich Informatik Fachhochschule Bonn-Rhein-Sieg URM - Programmierung Dipl.-Inf. Sigrid Weil Fachbereich Informatik Fachhochschule Bonn-Rhein-Sieg Einordnung Programmier-Paradigma:

Mehr

Lösungsvorschlag Serie 2 Rekursion

Lösungsvorschlag Serie 2 Rekursion (/) Lösungsvorschlag Serie Rekursion. Algorithmen-Paradigmen Es gibt verschiedene Algorithmen-Paradigmen, also grundsätzliche Arten, wie man einen Algorithmus formulieren kann. Im funktionalen Paradigma

Mehr

Deklarative Sprachen basieren auf der Programmierung von Zielvorgaben, Regeln bzw. Einschränkungen, ohne Vorgabe der Reihenfolge einzelner Schritte.

Deklarative Sprachen basieren auf der Programmierung von Zielvorgaben, Regeln bzw. Einschränkungen, ohne Vorgabe der Reihenfolge einzelner Schritte. SS Erlaubte Hilfsmittel in der Klausur: schriftliche Aufzeichnungen, Bücher, Skripte Nicht zugelassen: elektronische Geräte Aufgabe 1: Allgemeines Wissen a) Worin besteht der Unterschied zwischen imperativen

Mehr

Der erste Gödelsche Unvollständigkeitssatz

Der erste Gödelsche Unvollständigkeitssatz Der erste Gödelsche Unvollständigkeitssatz Referent: Tobias Gleißner 29. Januar 2013 (syntaktischer Aufbau eines arithmetischen Terms) - Jede Zahl ist ein Term - Jede Variable ist ein Term - Sind und Terme,

Mehr

Übersicht Listen werden geführt für Listen Die wichtigste nicht-nummerische Datenstruktur Beliebige Länge Strikte Reihenfolge Wunschliste für Listen

Übersicht Listen werden geführt für Listen Die wichtigste nicht-nummerische Datenstruktur Beliebige Länge Strikte Reihenfolge Wunschliste für Listen n Einkaufslisten und Wortlisten Übersicht n Die wichtigste nicht-nummerische Datenstruktur beliebige Länge und fixe Reihenfolge n vs. n-stellige Terme Spezialnotation Klammerschreibweise nrest-strich n-unifikation

Mehr

Sudoku. Warum 6? Warum 6?

Sudoku. Warum 6? Warum 6? . / Sudoku Füllen Sie die leeren Felder so aus, dass in jeder Zeile, in jeder Spalte und in jedem x Kästchen alle Zahlen von bis stehen.. / Warum?. / Warum?. / Geschichte der Logik Syllogismen (I) Beginn

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

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

Der größte Erfinder aller Zeiten (Seite 10 11)

Der größte Erfinder aller Zeiten (Seite 10 11) Der größte Erfinder aller Zeiten (Seite 10 11) Woher will sich Kathi Informationen über Erfinder holen? Aus dem Internet Von ihrer Mutter. Von ihrer Lehrerin. Aus der Zeitung. Aus einem Buch von der Stadtbücherei.

Mehr

Turtlegrafik in Logo

Turtlegrafik in Logo Syntaktische Methoden der Bilderzeugung Turtlegrafik in Logo Referent: Daniel Gent (deg@tzi.de) Gliederung Programmiersprache Logo Übersicht Interpreter Variablen Prozeduren Kontrollstrukturen Verwendung

Mehr

Einführung in PROLOG IV Listen

Einführung in PROLOG IV Listen Einführung in PROLOG IV Listen Beispiele für Listen in PROLOG: 1. [mia, vincent, jules, yolanda] 2. [mia, robber(honey_bunny), X, 2, mia] 3. [] 4. [mia, [vincent, jules], [butch, girlfriend(butch)]] 5.

Mehr