Grundkurs Common-Lisp WS 96|97

1. Übung (30-okt-1997)



(1) Macintosh Common-Lisp (1 Punkt)

Mache Dich mit den Macintosh-Computern des CIP-Raumes der Computerlinguistik und mit Macintosh Common-Lisp (MCL) vertraut. Erstelle eine Diskette, auf der Du Deine Programme aus künftigen Übungen speichern kannst. Benutze den MCL-Editor Fred, um eine neue Datei auf Deiner Diskette anzulegen und abzupeichern. Beschrifte die Diskette mit Deinem Namen, so daß Verwechslungen vermieden werden.

(2) Erweiterte Backus-Naur-Form (4 Punkte)

a) Gib einen EBNF-Ausdruck an, der die Syntax von (Fließkomma-)Zahlen in Exponentdarstellung (e.g. `4.2E1' oder `314159265E-8') formal beschreibt.

b) Gib eine EBNF-Grammatik an, die die Menge der natürlichen Zahlen (i.e. positive Ganzzahlen) syntaktisch beschreibt. Hinweis: Die Darstellung 1 + 1 + 1 ist eine gültige Beschreibung der Zahl 3 (in Worten: drei).

(3) Common-Lisp Syntax (6 Punkte)

Welche der folgenden Ausdrücke sind syntaktisch wohlgeformte Common-Lisp Formen? Achtung: Nicht alle syntaktisch korrekten Ausdrücke lassen sich notwendigerweise durch den Common-Lisp Interpreter fehlerfrei auswerten; eine undefinierte Semantik führt auch für wohlgeformte Ausdrücke zu einem Auswertungsfehler.

a) (ok (oder) nicht)

b) (gut (oder)) schlecht)

c) "liste()"

d) ((()))

e) ((")" foo)")

f) )(foo bar)(

(4) Numerische Funktionen (4 Punkte)

Welche Ausdrücke in Common-Lisp entsprechen den folgenden Termen?

a) 2 + 3.14 + 6 - 3

b) (4 + 4 * 7) / 11

Was ist das Ergebnis der Auswertung des folgenden Ausdrucks?

c) (* (max 3 5 7) (/ (min 3 5) (+ 7 5)))

(5) Listenselektoren (5 Punkte)

Wähle aus den folgenden Listen jeweils das Element birne aus

a) (apfel orange birne zitrone)

b) ((apfel orange) (birne zitrone))

c) ((apfel) (orange) (birne) (zitrone))

d) (apfel (orange) ((birne (zitrone))))

e) (apfel (orange (birne (zitrone))))



Abgabetermin ist der 6-nov-1997

lisp-aufgaben@coli.uni-sb.de