Common Lisp Assoziationslisten
Posted: Tue Jul 01, 2014 11:21 am
Folgende Aufgabe:
Definieren Sie in einer Funktion eine Assoziationsliste BAUTEILE, die zu den Assoziationsbegriffen
WASSER und LUFT mindestens jeweils drei Atome enthält. Die gesamte Assoziationsliste soll auf dem
Bildschirm ausgegeben werden (alert).
Mein Programm:
(defun c:test() ; defun = Deklaration der Funktion test c steht für command, so muss beim Aufrufen der Funktion keine Klammern eingegeben werden
(setq Temperatur 55) ; Deklaration der Listenvariablen von Wasser
(setq Siedepunkt 100)
(setq Gefrierpunkt 0)
(setq Sauerstoffgehalt 20) ; Deklaration der Listenvariablen von LUFT
(setq Dichte 1)
(setq Druck 101)
(setq WASSER (cons Temperatur(cons Siedepunkt( cons Gefrierpunkt()))))
(setq LUFT(cons Sauerstoffgehalt(cons Dichte(cons Druck()))))
(list WASSER LUFT) ; Liste mit Wasser und LUFT erstellen
(setq BAUTEILE (WASSER LUFT)) ; Liste Bauteile zusammensetzen aus WASSER und LUFT
(alert(assoc LUFT BAUTEILE(assoc WASSER BAUTEILE))) ; Gibt ein Nachrichtenfenster aus mit der Assoziationsliste BAUTEILE
)
-------------------------------------
Fehler: Fehlerhafte Funktion. Ich finde den Fehler nicht, könnte mir jemand einen Denkanstoß geben?
Definieren Sie in einer Funktion eine Assoziationsliste BAUTEILE, die zu den Assoziationsbegriffen
WASSER und LUFT mindestens jeweils drei Atome enthält. Die gesamte Assoziationsliste soll auf dem
Bildschirm ausgegeben werden (alert).
Mein Programm:
(defun c:test() ; defun = Deklaration der Funktion test c steht für command, so muss beim Aufrufen der Funktion keine Klammern eingegeben werden
(setq Temperatur 55) ; Deklaration der Listenvariablen von Wasser
(setq Siedepunkt 100)
(setq Gefrierpunkt 0)
(setq Sauerstoffgehalt 20) ; Deklaration der Listenvariablen von LUFT
(setq Dichte 1)
(setq Druck 101)
(setq WASSER (cons Temperatur(cons Siedepunkt( cons Gefrierpunkt()))))
(setq LUFT(cons Sauerstoffgehalt(cons Dichte(cons Druck()))))
(list WASSER LUFT) ; Liste mit Wasser und LUFT erstellen
(setq BAUTEILE (WASSER LUFT)) ; Liste Bauteile zusammensetzen aus WASSER und LUFT
(alert(assoc LUFT BAUTEILE(assoc WASSER BAUTEILE))) ; Gibt ein Nachrichtenfenster aus mit der Assoziationsliste BAUTEILE
)
-------------------------------------
Fehler: Fehlerhafte Funktion. Ich finde den Fehler nicht, könnte mir jemand einen Denkanstoß geben?