Vertiefende Übungen

Aufgabe 1: Unterricht im Halbgöttercamp

Eine Miniwelt "Unterricht" ist wie folgt gegeben:

Mr. Brunner (Kürzel: bru) unterrichtet die Klasse A in Speerwurf. Der Unterricht findet montags in 6. Stunde, dienstags in der 3. Stunde, mittwochs in der 1. Stunde und freitags in der 3. Stunde statt.

Mrs. Dodds (Kürzel: dod) unterrichtet die Klasse A in Mathematik. Der Unterricht findet dienstags in der 5. und 6. Stunde, donnerstags in der 2. Stunde und freitags in der 5. Stunde statt.

Demeter (Kürzel: dem) unterrichtet die Klasse A in Pflanzenkunde. Der Unterricht findet mittwochs in der 4. Stunde und freitags in der 6. Stunde statt.

...

Der Unterricht in einer Klasse in einem zweistündigen Fach ist "verteilt", wenn die beiden Stunden nicht am selben Tag stattfinden.

Mögliche Anfragen wären hier:

Wer unterrichtet die Klasse A? Wann findet der Speewurfunterricht statt? Hat die Klasse A freitags in der 6. Stunde Mathematik? Ist der Pflanzenkundeunterricht in der Klasse A verteilt? ...

(a) Entwickle zunächst eine geeignete Wissensbasis, in der die oben beschriebenen Sachverhalte gelten. Entwickle anschließend Anfragen an die Wissensbasis.

(b) Erweitere die Wissensbasis in sinnvoller Weise. Formuliere selbst in Worten weitere Anfragen und übersetze sie dann in die Sprache von Prolog.

Aufgabe 2: Pflanzenkunde bei Demeter

a) Entwerfe eine Datenbasis mit folgenden Informationen:

b) Stelle Anfragen:

Aufgabe 3: Fahrzeuge

Auch Halbgötter müssen sich in der Menschenwelt zurechtfinden, deshalb lernen sie im Fach "Menschenkunde" alles über Fahrzeuge.

Fahrzeugtypen sind durch gewisse Merkmale charakterisiert, zB.

a) Ergänze Fakten und Regeln in dieser Wissensbasis.
Exkurs: Operatoren
Gleich: ==
Ungleich: \==
Größer: @>
Kleiner: @<

%Fakten:

fahrzeug(pkw).
fahrzeug(fahrrad).
fahrzeug(motorrad).
fahrzeug(transporter).
fahrzeug(kleinbus).
fahrzeug(bus).

raeder(pkw,4).
raeder(fahrrad,2).
...

plaetze(...)
...

antrieb(...)
...

%Regeln:

personentransport(X) :- ...
führerschein_B(X) :- ...
führerschein_A(X) :- ...

b) Stelle Anfragen:

X

Fehler melden

X

Suche