Einf. in das Symbolische Programmieren, CIS, SS 2001 26.9.2001 ---------------------------------------------------------------------------- Anwesenheitsaufgabe 1 --------------------- Schreibe ein Programm blaetter(+Term,-Atomliste), das die Blaetter eines Terms als Liste ausgibt, in der Reihenfolge von links nach rechts wie im Term. Hinweise: -------- a) Benutze ein Hilfspraedikat blaetter(+Term,+Akkumulator,-Liste), das folgendes leistet: 1. Falls Term nur aus einem Blatt besteht, ist die Liste der Akkumulator, erweitert um das Blatt. 2. Falls Term aus Funktionszeichen und Argumenten besteht, akkumuliere die Blaetter der Argumentterme. b) Fuer a) 2. benutze ein weiteres Hilfspraedikat blattfolge(+Termliste,+Akkumulator,-Liste) das folgende Fallunterscheidung vornimmt: 1. Falls die Termliste leer ist, ist die Liste ... ? 2. Falls die Termliste nicht leer ist, also von der Form [Term|Terme] ist, akkumuliere zuerst ... und dann ... Viel Vergnuegen! Man braucht maximal 15 Minuten!