Sammlung möglicher Klausuraufgaben

Ähnliche Dokumente
Aufgabentypen die in der Klausur vorkommen

Einführung in PROLOG. Christian Stocker

5 Logische Programmierung

Erste Schritte in SWI-Prolog

Genogramm erstellen Anleitung und Leitfaden

Erbrecht: Grundzüge und Neuerungen Di., 16. April Dr. jur. Marie-Theres Frick 1

Aufgaben Theoretische Informatik

Workshop 3 Wie erstelle ich ein Testament?

7. Formale Sprachen und Grammatiken

Wer erbt eigentlich was?

Lösungen zum Aufgabenblatt 9 Symbolisches Programmieren

Prolog 1. Kapitel: Fakten, Regeln und Anfragen

Parsing-EinfŸhrung Ð 1

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

4. 4. Algorithmen und Datenstrukturen in deskriptiven Programmiersprachen

Programmiersprachen 2 (SS 2013)

Anmerkungen zur Übergangsprüfung

Kurzanleitung zum Familienstammbaum

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

ERBEN UND VERERBEN SIMPLIFIED

KOPIE. Diabetes in Kürze. «Schritt um Schritt zu mehr Gesundheit!»

Großeltern. Ursulas. Eltern. Ursulas. Erblasserin Ursula

Grundbegriffe der Informatik Tutorium 7

Bachelor Grundlagen der Logik und Logikprogrammierung 12. Februar

Grundbegriffe der Informatik

Grundbegriffe der Informatik

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

1 C H R I S T O P H D R Ö S S E R D E R M A T H E M A T I K V E R F Ü H R E R

Erbe, Erbschaft, Testament Was ist zu beachten? Notar Dr. Jens Fleischhauer

Erben und Vererben. Hans-Michael Schiller. Referent:

Bedienung von BlueJ. Klassenanzeige

Abschlussaufgabe für alle TeilnehmerInnen an Programmkonstruktion WS 2015

AcQuickPrint / AcSetPrinter Publizieren leicht gemacht / Drucker in Layouts tauschen

Anleitung zur Erstellung eines eigenen Genogramms

Newsletter (Mailinglisten) Serien- s versenden Mailinglisten-Tool verwenden

Einführung in Python Übung 1

Logische Programmierung

Merkblatt. Erbschaftsteuer. Inhalt

Teil 1. Familienrecht

2.11 Kontextfreie Grammatiken und Parsebäume

A CompuGROUP Company ONLINE TERMINKALENDER. Quick-Start Guide. Verwalten Sie Ihre Termine über unsere sichere Web-Plattform mittels Web Browser.

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

Einführung Datenbank

ZAHLEN FÜR DIE SCHWIEGERMUTTER?

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

Z = 60! 29!31! 1,

Wortproblem für kontextfreie Grammatiken

4. Relationen. Beschreibung einer binären Relation

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

SWP Logische Programme

Hinweise zur Namensführung

Prolog basiert auf Prädikatenlogik

Modul: Familie. Thema: Meine Familie

Praktikum Funktionale Programmierung Teil 1: Lexen und Parsen

Wissensbasierte Systeme/ Expertensysteme. Teil 2

SAGE-Crashkurs SoSe 2009

Datenbanken Kapitel 2

Datenauswertung mit Hilfe von Pivot-Tabellen in Excel

Wählen Sie eine Menüoption, um weitere Informationen zu erhalten:

Professionelle Seminare im Bereich MS-Office

Theoretische Informatik

Die gesetzliche Erbfolge

Bild Ihres Kindes (bitte einkleben) Geburtsdatum PLZ. Weitere in der Familie gesprochene Sprachen. Religion

Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen!

Textgenerator Artex 1.0. Kurzanleitung

Auswahl von Klauseln und Atomen in Prolog

Die Erbordnungen nach dem BGB 1924 ff - ausgehend von dem Tod eines Ehegatten, hier des Mannes -

Grundlagen der Theoretischen Informatik

Randomisierte Algorithmen

Hausaufgaben Logische Programmierung

2. ZELLINHALTE UND FORMELN

7DVWH.HOOQHU. Kassensystem SANYO (X&D6RIWKapitel 42

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

Sie können sich eine Kurzanleitung zum Fachmodul Heimarbeit im PDF-Format anzeigen lassen. Klicken Sie in der Menüspalte auf Hilfe > Hilfe anzeigen.

Praktikum Wissensbasierte Systeme Übung 1 Vier Gewinnt als Strategiespiel in Java

Zahlen auf einen Blick

pyaxl2 Sebastian Kratzert Was ist AXL? Datenstrukturen Aufbau von pyaxl Die CCM-Objekte pyaxl2 Beispiele Ende Sebastian Kratzert 5.

Wie erstellt man dynamische Elemente mit JSXGraph?

Vermögensübertragung im Großherzogtum Luxemburg

Tutorium zur theoretischen Informatik Übungsblatt 4 ( )

KREDITVERZEICHNIS Konfiguration Ausgabe: /13. Dokumentation KREDITVERZEICHNIS. Teil 2. Konfiguration

Vermögensübertragung im Großherzogtum Luxemburg

Tag 9: Datenstrukturen

Constraint Logical Programming

GISA. Kreditlimite. Kreditlimitenprüfung

PHP 5.4 ISBN Stephan Heller, Andreas Dittfurth 1. Ausgabe, September Grundlagen zur Erstellung dynamischer Webseiten GPHP54

Die gesetzliche Erbfolge

Erwin Grüner

Inhalt. Allgemeine Einführung. Argumentationsvermögen. Räumliches Vorstellungsvermögen. Begabungen und Fähigkeiten messen

Erstellen von x-y-diagrammen in OpenOffice.calc

Themenbereiche. Überblick über das gesetzliche Erbrecht. Pflichtteilsrecht. Übergabe zu Lebzeiten versus Erbschaft. Problematik Pflegeheim

Konzeption und Realisierung eines logikbasierten Anfragewerkzeugs für UML-Modelle

Logische und funktionale Programmierung

DB2 Kurzeinführung (Windows)

NATIONAL SPORT SCHOOL ST CLARE COLLEGE

Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

Kontakt. Telefon. Fax. . Aktenzeichen

Transkript:

Sammlung möglicher Klausuraufgaben 24. Januar 2017 1. Gegeben eine Wissensbasis zu einem Familienstammbaum: % fem/1 % et/2 % fem(x). X ist weiblich. % et(x,y): X ist ein Elternteil von Y. fem(mia). et(jutta, mia). fem(ria). et(johann, mia). fem(ana). et(jutta, otto). fem(jutta). et(mia, hans). et(mia, jim). % mas/1 et(mia, ana). % mas(x). X ist maennlich. et(otto, tom). mas(otto). mas(johann). % ehemann/2 % ehemann(x,y): X ist Ehemann von Y. ehemann(johann, jutta). ehemann(otto, ria). mas(hans). mas(jim). mas(tom). Erweitern Sie die Wissensbasis um Prädikate für mutter/2 sohn/2 schwester/2 grossvater/2 cousine/2 onkel/2 enkelin/2 schwager/2 ehepartner/2 Hierbei gelten zwei Personen als Geschwister, sobald sie einen gemeinsamen Elternteil haben. Denken Sie daran, dass Onkel und Tante auch angeheiratet sein können. 2. Gegeben die folgende Wissensbasis: directtrain(duesseldorf,koeln). directtrain(koeln,paris). directtrain(paris,berlin). directtrain(duesseldorf,wuppertal). directtrain(wuppertal,berlin). directtrain(berlin,hannover). directtrain(wuppertal,hannover). 1

Schreibe ein Prädikat travelfromto/2, das zwei Orte als Argumente nimmt und wahr ist, wenn der zweite Ort vom ersten per Zug erreicht werden kann. Dabei ist es egal, ob man umsteigen muss oder nicht. Erweiterung: Schreibe ein Prädikat travelfromto/3, das zwei Orte und eine Zahl als Argumente nimmt und wahr ist, wenn der zweite Ort vom ersten per Zug erreicht werden kann. Die Zahl gibt an, wie oft bei der gewählten Strecke umgestiegen werden muss. Bonusaufgabe: Schreibe ein Prädikat travelfromtomin/3, das zwei Orte und eine Zahl als Argumente nimmt und wahr ist, wenn der zweite Ort vom ersten per Zug erreicht werden kann. Die Zahl gibt dabei an, wie oft man mindestens umsteigen muss, wenn man die optimale Verbindung wählt. 3. Schreiben sie ein Prädikat tausch12/2, das zwei Listen als Argumente nimmt und gelingt, wenn sich die beiden Listen nur in der Reihenfolge der ersten beiden Elemente unterscheiden.?- tausch([a,b,c,d],[b,a,c,d]). 4. Schreibe ein Prädikat all_members/2, das zwei Listen L1 und L2 nimmt und gelingt, wenn alle Elemente von L1 auch Element von L2 sind.?- all_members([a,c],[a,b,c,d]).?- all_members([a,e],[a,b,c,d]).?- all_members(a,[a,b,c,d]). 5. Was antwortet Prolog auf die folgenden Anfragen:?- food(bread,x) = food(y,sausage)?- food(bread,x,beer) = food(y,kahuna_burger)?- meal(food(bread),drink(beer)) = meal(x,y)?- meal(food(bread),x) = meal(x,drink(beer))?- g(a,b,c) \= g(a,b,c).?- g(a,b,c) \= g(a,c).?- [a,b,c,d] = [a,b,x].?- [a,b,c,d] = [a,b X].?- [[die,y] Z]=[[X,katze],[ist,weg]].?- [anna,x]=[y [maria]].?- [_,X,_,Y _] = [dead(zed), [2, [b, chopper]], [], []].?- [_,_,[_ X] _] = [[], dead(zed), [2, [b, chopper]], [], Z, [2, [b, chopper]]].?- 3 is 1+2.?- 3 is +(1,2).?- 3 is X+2.?- X is 1+2.?- 1+2 is 1+2. 2

6. Gegeben die folgende Wissensbasis: verdaut(x,y) :- hatgegessen(x,y). verdaut(x,y) :- hatgegessen(x,z), verdaut(z,y). hatgegessen(moskito,blut(john)). hatgegessen(frosch,moskito). hatgegessen(storch,frosch). Wie lauten die Antworten auf die folgenden Anfragen? In welcher Reihenfolge werden die Ergebnisse für die letzte Anfrage ausgegeben? 1?- verdaut(storch,frosch). 2?- verdaut(storch,moskito). 3?- verdaut(frosch,x). 7. Gegeben die folgende Wissensbasis: vorfahr(y,z), et(x,y). et(albert,kevin). et(lena,albert). et(marie,lena). Was antwortet Prolog auf die folgenden Anfragen? In welcher Reihenfolge werden die Antworten gegeben??- vorfahr(lena,kevin).?- vorfahr(kevin,albert).?- vorfahr(x,kevin). 8. Welche der beiden folgenden Definitionen des Prädikats vorfahr/2 ist besser? Begründen Sie Ihre Antwort in einem Satz. vorfahr(y,z), et(x,y). et(x,y), vorfahr(y,z). 9. Schreibe ein 2-stelliges Prädikat haelfte/2, das zwei Zahlen als Argumente nimmt und wahr ist, wenn das zweite Argument halb so groß ist wie das erste.?- haelfte(2,1). 3

?- haelfte(5,2).?- haelfte(3,x). X=1.5. 10. Gegeben das folgende Prädikat: double([],[]). double([h1 T1],[H2 T2]):- H2 is H1*2. Welche Argumente müssen bei dem Aufruf des Prädikats instantiiert sein? 11. Schreiben Sie ein 2-stelliges Prädikat reiss/3, das drei Listen als Argumente nimmt. Das Prädikat gelingt, wenn die ersten beiden Listen gleich lang sind und die dritte Liste aus den ersten beiden Listen im Reißverschlußverfahren entsteht: Die Elemente der ersten Liste sollen dabei auf den ungeraden Positionen und die der zweiten Liste auf den geraden Positionen der dritten Liste stehen.?- reiss([a,b,c],[1,2,3],x). X=[a,1,b,2,c,3].?- reiss([a,a],[b,b,b],x).?- reiss([a,a],[b,b],[a,b,a,b]). 12. Das folgende Prädikat dreht eine Liste um. Was muss an der Stelle des Fragezeichens in der Prädikatsdefinition stehen? reverse(l,rl):- reverse(l,?,rl). reverse([],l,l). reverse([h T],RT,RL):- reverse(t,[h RT],RL). 13. Das folgende Prädikat konkateniert zwei Listen zu einer dritten. Was muss an der Stelle des Fragezeichens in der Prädikatsdefinition stehen? append([],?,l). append([h T1],L2,[H T3]) :- append(t1,l2,t3). 14. Übertragen Sie die folgende kontextfreie Sprache in eine Prolog DCG. Welche Sprache wird von der Grammatik generiert? S A, S, B S ɛ A a B b 4

15. Geben Sie eine kontextfreie Grammatik an, die die Sprache generiert, die aus allen Palindromen über dem Alphabet {c, d} besteht. 16. Geben Sie die interne Prolognotation zu den folgenden DCG-Klauseln an: det --> []. adj --> [klein]. simple_adj --> adj, n. a --> b(p), c(p). a(p) --> [hu] {mag(popeye,spinat)}. 17. Die folgende Grammatik erzeugt NPs. Welche Anfrage müssen Sie stellen, um nacheinander alle grammatisch wohlgeformten NPs angezeigt zu bekommen? np --> det, adjs, n. adjs --> []. adjs --> adj, adjs. adj --> [kleine]. det --> [eine]. n --> [maus]. 18. Bringen Sie die DCG-Klauseln in der zweiten Zeile in eine möglichst günstige Reihenfolge np --> det, adjs, n. adjs --> adj, adjs. adjs --> []. adj --> [kleine]. det --> [eine]. n --> [maus]. 19. Schreiben Sie eine DCG, die die folgenden Ausdrücke generiert: eins minus eins minus minus eins minus minus minus eins... Verwenden Sie dazu folgende Rumpf-DCG: m --> [minus]. e --> [eins]. 20. Schreiben Sie eine DCG, die die Sprache a n b m c n d m akzeptiert. 5