Dieser Hinweis ist aus der Übung im WS 1994/95 oder aus einer noch älteren Übung oder war nie Teil einer Übung und ist daher möglicherweise für spätere Übungen nicht gültig!
,,Definition`` von Datenstrukturen In Prolog sind die einzigen Datenstrukturen Terme. Man muß Terme nicht eigens deklarieren oder definieren, sondern verwendet sie einfach. Wie z.B. geboren_am(joseph_II, datum(1741,3,13)). geboren_am(maria_theresia, datum(1717,5,13)). (In typisierten Programmiersprachen hätte man den ,,Datentyp`` Datum eigens definieren müssen.) Obwohl man also keine ausdrücklichen Definitionen von Datenstrukturen benötigt, ist es oft sehr nützlich (und wird z.B. bei den geometrischen Objekten verlangt), sich eigene Prädikate nur zur Dokumentation zu schreiben. Prologs Terme verwendet man hier ähnlich RECORDS, structures in proz. Sprachen. z.B. is_datum(datum(_Jahr, _Monat, _Tag)). Sie könnten noch weitergehen und beschreiben, was ein Jahr, ein Monat ein Tag ist, dies kann man aber -- der Einfachheit halber vernachlässigen. Z.B. ist folgende Definition zwar nicht falsch, aber nicht unbed. gefragt. is_datum(datum(Jahr, Monat, Tag)) :- natürliche_zahl(Jahr), natürliche_zahl(Monat), natürliche_zahl(Tag). Bei den geometrischen Objekten wird man also analog Prädikate definieren: is_kreis/1 etc. Bitte versuchen Sie bei dem Beispiel nicht irgendwelche komplizierten arithmetischen Prädikate zu verwenden, sondern versuchen Sie nur mir einfachen Strukturen auszukommen. Drücken Sie die gemeinsamen Dinge, oder gleiche Dinge entsprechend nur mit Termen aus. (Z.B. Quadrat ist eigentlich ein Rechteck, aber nur mit zwei gleichen Seiten) Zurück: \hinweis{init}