Einführung in das Symbolische Programmieren
mit PROLOG
              
Vorlesung mit Tutorium
CIS, SS 2009

Hans Leiß

Organisatorisches

Vorlesung Mo, 12-14 Raum 1.14, Oettingenstr.67
Tutorium Mi, 8-10 Raum 1.14 Oettingenstr.67
(Teilgruppe) Mo, 14-16 Rechnerraum Z8 (Gobi) Oettingenstr.67
Bei Fragen außerhalb der Veranstaltungszeiten können Sie mir eine Nachricht schicken an
leiss@cis.uni-muenchen.de
oder in meine
Mentorenstunde Mi, 13-14 Raum B 107, Oettingenstr.67
kommen.

Vorlesungsfolien

Die Folien der Vorlesung werden hier im Lauf des Semesters als .pdf-Datei zur Verfügung gestellt. Markieren Sie die Seiten, die Sie noch nicht haben, und drucken Sie jeweils nur die aus.

Tutorium

Tutorinnen: Doris Peter, Katharina Groth
Es werden möglichst jede Woche Übungsaufgaben gestellt, die Sie allein oder in einer 2-er Gruppe lösen sollten. Die abgegebenen Lösungen werden von einer Tutorin korrigiert. In einer Stunde pro Woche wird eine korrekte Lösung am Rechner oder an der Tafel erklärt, Fragen zur Vorlesung geklärt und weitere Aufgaben gerechnet.
Am Ende des Semesters gibt es eine Abschlußklausur, die für den Proseminarschein erfolgreich bestanden werden muß.

Proseminarscheine

Um einen Proseminarschein zu erhalten, sind entsprechende Prolog-Kenntnisse nachzuweisen. Dazu werden Programmieraufgaben verteilt, die man selbständig lösen muß. Am Ende des Semesters wird eine Klausur geschrieben. Dabei sollte man 60 Prozent der Aufgaben lösen können.
Klausurtermin: Mo, 20.7.2009, 12 Uhr, Raum 1.14, Oettingenstr.67
Es gibt keine Nachholklausur! Die Klausur wird Ende der ersten Woche der Semesterferien korrigiert sein; die Ergebnisse mit Matrikelnummern werden hier bekanntgegeben.
Ergebnisse zu: Symbolisches Programmieren, SS 2009          3.8.2009
--------------------------------------------------

1. Klausur:   max.mögliche Punkte  53 (max.erreicht:  51)
   Bestanden: bei >=40% der max.möglichen Punkte (>= 21.2)

       Ergab: 17 der 29 Klausurteilnehmer haben bestanden

2. Hausaufgaben:  max.mögl.Punkte 154 (max.erreicht: 146)

3. Proseminarschein bei bestandener Klausur

4. Leistungsbewertung: 
   - im Magisterstudium: entsprechend dem Anteil der 

      Leistung := 0,4 x Hausaufgabenpunkte/154 + 0,6 x Klausurpunkte/53

   an der max.erreichbaren Leistung. 

   - im Bachelorstudium Informatik: (Hausaufgaben dürfen nicht
     gewertet werden)

      Leistung := Klausurpunkte/53  =< 53/53 = 1 = 100%

   Noten: 1,0 bei mind. 94%, 1,3 bei mind. 88%, usw. in 6%-Schritten bis 
          3,7 bei mind. 46%, 4,0 bei mind. 40%

    8x sehr gut (bis mind. 82%)
    2x      gut (bis mind. 64%)
    5x befriedigend (bis mind. 46%)
    3x ausreichend
   11x nicht bestanden (weniger als 40%)

5. Ergebnisse:
   
   Matr.Nr.  Hausaufg(%) Klausur(%) = Leistung(%)  = Note
   ------------------------------------------------------
   2248875      53         25            36           -     (Magister)
   2256551      27          8            15           -
   2313665      49         63            58          3,0
   2551122       7          2             4           -
   2557839       7          6             6           -
   2573371      35         14            23           -
   3013320      68         39            50          3,7
   4087029      95         96            96          1,0
   6048703      46         11            25           -
   6060847      31         28            29           -
   8023220      53          6            25           -
   8030806      37          5            18           -
   8048513       0         82            49          3,3
   8061749      87         87            87          1,7
   8063320      67         92            82          1,7
   8069543      91         94            93          1,3
   8093330      89         78            83          1,7
   8100229      35         15            23           -
   -----------------------------------------------------
   3105292      (5)        93            93          1,3   (Bachelor)
   6084324      (0)        92            92          1,3
   6087676      (4)        78            78          2,0
   8055220      (0)        30            30           -
   8059645      (0)        41            41          4,0
   8060229     (12)        61            61          3,0
   8068199      (0)        38            38           -
   8070004      (0)        41            41          4,0
   8073996      (0)        67            67          2,7
   8077681     (23)        95            95          1,0
  48204631      (0)        54            54          3,3

Seminarscheine können Sie in den Semesterferien im Sekretariat 
des CIS abholen, Ihre Klausur in meinen Sprechstunden Mi 13-15 Uhr 
(ausser 17.8-30.8) in meinem Zimmer B 107 einsehen. 

Für den Kurs Computerlinguistik-II im WS 2009/10 sind Prologkenntnisse erforderlich, aber der Proseminarschein zu Symb.Programmieren ist keine formale Voraussetzung.
Sie können und sollten also CL-II mitmachen, auch wenn Ihnen der Proseminarschein zu Symb.Programmieren fehlt.
Das Nötigste zu Prolog werden wir in CL-II wiederholen, aber hauptsächlich werden wir Prolog als Werkzeug benutzen. Je besser sie es beherrschen, desto einfacher wird CL-II.
Schöne Semesterferien! H.Leiß

Literatur

Außerdem findet man im Internet verschiedene Tutorien zu Prolog.

PROLOG

Wir benutzen das SWI-Prolog von Jan Wielemaker, Version 5.6.47 (mit der XPCE-Bedienoberfläche, oder neuer). Dazu gibt es eine WWW-Seite unter
http://www.swi-prolog.org/
wo man sich eine Kopie von SWI-Prolog besorgen kann, um es auf dem eigenen PC zu installieren. Auf dieser Seite findet man im Abschnitt Documentation eine WWW-Version des Handbuchs für SWI-Prolog. Darin sucht man durch Anklicken der 4 Bilder in der ersten Zeile.

SWI-Prolog von der Linux/Unix-Shell aufrufen:

In einem X-Terminal gibt man auf der Unix/Linux-Shell den Befehl
xpce (am Inst.für Informatik auch: pl-cis)
ein; dann startet SWI-Prolog 5.2.47 (bzw. SWI-Prolog 5.2.54). Es hat ein integriertes graphisches Hilfesystem, einen graphischen Tracer zur Fehlersuche, und eine vereinfachte Version des Emacs-Editors geladen. Mit dem SWI-Prolog-Befehl
help(Befehl).        oder       apropos(Thema).
kann man dann über ein Hilfsfenster Information über einen PROLOG-Befehl oder ein Thema im Handbuch suchen lassen. Mit dem SWI-Prolog-Befehl
emacs.
kann man den Editor aufrufen, der in einem eigenen Fenster startet. (Wir werden üben, wie man damit eine Programmdatei schreibt und das Programm an Prolog schickt.) Mit dem SWI-Prolog-Befehl
guitracer.
kann man den graphischen oder ,,symbolischen'' Tracer aufrufen, um die Abarbeitung eines Programms schrittweise zu verfolgen. (Der Tracer muß aber mit weiteren Befehlen, debug. oder trace. oder spy(Befehl) eingeschaltet werden.) Mit dem SWI-Prolog-Befehl
manpce.
kann man Hilfe über die Programmierung der graphischen Bedienoberfläche bekommen. Es erscheint ein Fenster, wovon wir höchstens brauchen, daß man unter ,,Tools'' u.a. den Emacs-Editor und den graphischen ,,Tracer'' findet. (M.E. ist der nicht-graphische Tracer trace/2 hilfreicher.)

Prolog beenden oder abbrechen

Man beendet Prolog durch die Eingabe von
halt.     oder     ^D        d.h. gleichzeitigem Drücken der Ctrl bzw. Strg-Taste und der Taste d.
Wenn sich das Programm in einer Endlosschleife befindet, muß man es durch Eingabe von
^C        d.h. gleichzeitigem Drücken der Ctrl bzw. Strg-Taste und der Taste c
stoppen und kann es dann mit
halt.     oder     ^D
abbrechen.

Programme schreiben

Programme schreibt man in einem Editor, speichet sie in einer Datei und lädt diese Datei, z.B. meineProgramm.pro, indem man in Prolog den Befehl
consult('meineProgramm.pro').       oder       ['meineProgramm.pro'].
eingibt (ggf. mit passenden Pfadnamen). Wir empfehlen, als Editor den eingebauten Editor zu benutzen, den man mit emacs. aus Prolog aufruft. (In seiner Fensterleiste gibt es Optionen, die Datei zu sichern und nach Prolog zu laden.)
Dateien mit Prolog-Programmen sollten einen Namen tragen, der mit ,,.pro'' endet. Daran erkennt der Emacs-Editor, daß es sich um PROLOG-Programme handeln soll; er kann dann die Schlüsselwörter von PROLOG farbig markieren und die Programme lesbar formatieren. Außerdem bietet er dann ein Menü Prolog an, in dem man bestimmte Befehle, z.B. das Laden einer Programm-Datei in das laufende PROLOLG-System, durch anklicken mit der Maus aufrufen kann.



File translated from TEX by TTH, version 3.67.
On 3 Aug 2009, 18:42.