Hessischer Bildungsserver / Arbeitsplattformen

Informatik mit Prolog - Reihe Materialien zum Unterricht

prologbuch.jpg  

Gerhard Röhner: Informatik mit Prolog
3. vollständig neu überarbeitete Auflage
146 Seiten (DIN A4), Frankfurt, 2007.
ISBN 3-88327-499-2

Die digitale Fassung steht unter der Creative Commons Lizenz BY SA
zum Download zu Verfügung.

Lehrkräfte können Programme und Lösungen anfordern.

 

Inhalt des Buches

  1. Prolog in der Schule
  2. Fakten, Regeln und Anfragen
  3. Ablaufverfolgung und Veranschaulichung
  4. Datenbanken
  5. Listen
  6. Arithmetik
  7. Logikrätsel
  8. Ein- und Ausgabe
  9. Der Cut!
  10. Unifikation
  11. Symbolisches Differenzieren
  12. Wissenbasis und Regelsysteme
  13. ICE-Auskunftssystem
  14. Auskunfts- und Reisebuchungssystem
  15. Suchverfahren
  16. Terme
  17. Grammatiken und Formale Sprachen
  18. Automaten
  19. Kellerautomaten
  20. Turingmaschinen
  21. Parser, Interpreter und Compiler
  22. Maschinelle Sprachverarbeitung
  23. GUI-Programmierung mit XPCE

Vorwort zur zweiten Auflage

Die erste Auflage des 1995 erschienen ursprünglich zweibändigen Buches "Informatik mit Prolog" ist mittlerweile vergriffen. In den vergangenen Jahren hat sich die Informatik stürmisch weiter entwickelt. Das Internet und seine Programmiersprache Java haben erheblichen Einfluss auch auf die Schulinformatik genommen. Die Bedeutung von Prolog hat abgenommen, wohl auch weil die Versprechungen der KI nur sehr zögerlich eingelöst werden, während andere Bereiche sich dynamisch entfalten. Der Bedeutungsverlust drückt sich unter anderem darin aus, dass zur Zeit nur sehr wenige aktuelle Buchtitel zu Prolog auf dem Markt sind. Neuerscheinungen von Prolog-Büchern für die Schule gibt es seit Jahren nicht mehr. Wieso also diese aktualisierte zweite Auflage von "Informatik mit Prolog"?

Die Nachfrage nach diesen Materialien besteht weiterhin. Sie ergibt sich unter anderem daraus, dass in einigen Bundesländern die Arbeit mit der deklarativen Programmiersprache Prolog verbindlich im Lehrplan vorgegeben ist. Auch im neuen Hessischen Lehrplan Informatik gehört die Auseinandersetzung mit Prolog wieder zu den verbindlichen Inhalten für den Leistungskurs. In Kapitel 1 finden Sie die relevanten Gründe, die für diese Vorgabe sprechen. Daran hat sich seit der ersten Auflage nichts geändert.

Seit letztem Jahr gibt es wieder eine Lehrerweiterbildung Informatik in Hessen. Die Teilnehmer setzen sich in den Ausbildungsveranstaltungen auch mit Prolog auseinander. Das ist natürlich ein guter Grund, eine neue Auflage herauszubringen und den Schulen ein erprobtes Buch für den Informatikunterricht anzubieten.

In der zweiten Auflage sind die bekannten Fehler der ersten Auflage beseitigt und hoffentlich nicht zu viele neue hinzugekommen. Bezüge zu den alten Prolog-Systemen für DOS wurden durch konsequenten Bezug auf die aktuelle für Windows ersetzt. Soweit möglich wurden auch die Verbesserungen, die SWI-Prolog in den letzten Jahren erfahren hat, in den Beispielen genutzt. So konnten einige in der ersten Auflage genutzte Hilfsmittel durch neuere Systemprädikate ersetzt werden, was eine erhebliche Erleichterung beim Testen von Lösungen mit sich bringt. Zum Beispiel wurde bei den Automatenmodellen von der klassischen Art Zeichenketten als Liste von ASCII-Codes zu bearbeiten auf die viel näher liegende Weise dies mit Listen von Zeichen zu erledigen umgestellt.

Inhaltliche Erweiterungen gibt es besonders in den Kapiteln zur theoretischen Informatik, die vom Autor mehrmals mit Erfolg im Unterricht eingesetzt wurden. Bei den Grammatiken wird neben den Linksableitungen jetzt auch die Arbeit mit Ableitungsbäumen gut unterstützt. Im Automatenkapitel wurde einige Verweise auf Ergebnisse der theoretischen Informatik durch explizite Angabe der Verfahren ersetzt. So wird beispielsweise die Umwandlung nichtdeterministischer in deterministische Automaten dargestellt. Bei den Kellerautomaten wurde ein neues Verfahren ergänzt, bei dem aus Syntaxdiagrammen durch Entrekursivierung mittels push/pop-Operationen Kellerautomaten konstruiert werden können. Der Beweis des Halteproblems wurde didaktisch auf das spezielle Halteproblem reduziert. Beim umfangreichen mini-Pascal-Projekt gibt es als Erweiterung die Ausführung des compilierten Programms durch Simulation in VISIS (Visualisierung eines Intel-Systems). Über diesen Weg kommt man ohne Brüche von der theoretischen zur technischen Informatik, die im neuen Lehrplan als Wahlthema vertreten ist.

Im Aufgabenteil der wurden einige umfangreichere Aufgaben zur theoretischen Informatik ergänzt, die teilweise Klausuren und Abituraufgaben entstammen.

In den letzten Jahren hat der Autor auch einige Software weiter entwickelt, um bessere Rahmenbedingungen für die Arbeit mit Prolog zu schaffen. Zur Verfügung stehen Prolog-Module zum Darstellen von Prolog-Termen (zeichne_term), eine Turtle für Prolog und die didaktische Reduktion des trace-Modus in Form des spur-Prädikats.

Am aufwändigsten war allerdings die Neuentwicklung des SWI-Prolog-Editors, mit dem in einer zeitgemäßen Entwicklungsumgebung Prolog-Programme geschrieben, getestet und genutzt werden können. Wie beim Vorgängersystem Swing-Prolog wird auch hier SWI-Prolog als Subsystem genutzt.

Aus dem ursprünglich zweibändigen Werk ist jetzt ein einbändiges entstanden, was für den Einsatz in der Schule einfacher ist. Bis auf die Kapitel zu Expertensystemen ist aber der inhaltliche Umfang erhalten geblieben. Eingespart wurde der aufwändige Satz mit Marginalspalte. Der Zweispaltensatz bei kleinerer Schrift führt zu einer erheblichen Reduktion der Seitenzahl und spart damit Ressourcen.

Vorwort zur 3. Auflage

Die zweite Auflage von Informatik mit Prolog war innerhalb weniger Jahre vergriffen. Die Anfragen von Lehrerinnen und Lehrern, sowie aus dem Hochschulbereich machten aber deutlich, dass weiterhin Bedarf an diesem Buch besteht. Die dritte Auflage bot die Gelegenheit, die zwischenzeitlich festgestellten Fehler zu korrigieren und Erweiterungen vorzunehmen.

Mit dem neuen Kapitel zu Logikrätseln wird ein Anspruch von Programming in Logic eingelöst. Viele Beispiele unterschiedlichster Art machen deutlich, dass sich logische Rätsel gut mit Prolog lösen lassen. Dabei kommt ganz bewusst der deklarative Ansatz von Prolog zum Zuge, und Effizienzverbesserungen durch Einsatz imperativer Methoden bleiben außen vor.

Ein weiteres neues Kapitel thematisiert die GUI-Programmierung mit Prolog auf der Basis von XPCE. Anhand einfacher Beispiele wird gezeigt, wie man eine GUI-Oberfläche entwickeln kann und wie der Austausch zwischen einer GUI-Oberfläche und dem Prolog-Untergrund stattfindet. Das Kapitel soll nur einen Einstieg in die Nutzung von GUI-Oberflächen mit Prologprogrammen ermöglichen und bei Bedarf die Realisierung einfacher XPCE/Prolog-Programme ermöglichen. Die Entwicklung komplexerer Anwendungen ist nur durch intensives Studium der XCPE-Dokumentation möglich, denn das objektorientierte XPCE-System umfasst zurzeit 160 Klassen mit über 2700 Methoden.

Bei der Überarbeitung für die dritte Auflage wurden in vielen Kapitel Detailverbesserungen durchgeführt. Bei den Listen wurde beispielsweise ein Unterkapitel zur Akkumulatortechnik ergänzt. Das Kapitel zur Ein- und Ausgabe beschreibt jetzt alternativ zum alten Edinburgh-Standard auch die Nutzung von Streams für den Dateizugriff, und in das Kapitel zum Cut wurden bessere Beispiele aufgenommen. Darüber hinaus wurden viele Kapitel um zusätzliche Aufgaben ergänzt.

Seit der letzten Auflage hat sich auch der SWI-Prolog-Editor weiter entwickelt. Automatische Updates, Installation als portable Anwendung auf USB-Sticks, Einbindung des GUI-Debuggers und Spachunterstützung seien hier exemplarisch genannt. Erwähnenswert ist auch, dass Sie nun im didaktischen Werkzeug zeichne_term die Knoten von Bäumen interaktiv verschieben können. Ein Doppelklick auf den Knoten ordnet dann seine Nachfolgerknoten neu an.

Gerhard Röhner, im Juli 2007

ProVisor

Das auf der CD vorhandene Programm ProVisor stellt die Arbeitsweise eines Prolog-Interpreters als Und-Oder-Suchbaum schrittweise dar. ProVisor ist ein DOS-Programm, das man aber auch unter aktuellen Windows-Versionen noch nutzen kann.

Zur Vermeidung von Rechteproblemen installieren Sie ProVisor am besten in einennicht schribegeschützten Ordner.

Download

ProVisor-Download

member.png

Windows-XP

ProVisor wird über die Textdatei PROVISOR.PTH konfiguriert. Als DOS-Software müssen Pfadangaben auf acht Zeichen beschränkt sein. Wenn Sie also PROVISOR nach der Installation in den Ordner C:\Programme verschieben, dann muss die Konfigurationsdatei PROVISOR.PTH wie folgt angepasst werden:

OVR = C:\PROGRA~1\PROVISOR
BGI = C:\PROGRA~1\PROVISOR\BGI
LOG = C:\PROGRA~1\PROVISOR
BMP = C:\PROGRA~1\PROVISOR\BGI
PRO = C:\PROGRA~1\PROVISOR\BSP
...

Windows Vista\Windows 7\Windows 8

Windows Vista\7\8 lassen keinen Vollbildmodus für Konsolenprogramme zu. Daher müssen Sie sich den DOS-Box DOS Emulator installieren. Passen Sie die Pfade in der Datei PROVISOR.PTH wie folgt an:

OVR = C:\
BGI = C:\BGI
LOG = C:\
BMP = C:\BGI
PRO = C:\BSP
...

rufen Sie dann über Startmenü/Programme/DOS-Box/Options/DOS-Box-Options die DOS-Box-Optionen auf und fügen Sie am Ende diese Zeilen hinzu:

mount C "C:\Users\roehner\Documents\ProVisor"    # ihr ProVisor-Ordner mit Schreibrechten
c:
provisor.exe


Ändern Sie in dieser Datei auch den Wert von "cycles" von auto auf max.

Mit Alt+Enter können Sie zwischen Fenster und Vollbildmodus wechseln.