Aufgabe 1

Gegeben sei folgendes Programmstück:

uses listpunit;
var a,b,c : list;
begin
a := cons(genint(2),cons(genint(3),nil));
a := cons(genint(1),cons(a,nil);
b := cons(genint(4),cons(genint(5),nil));
c := outer(plus,a,b);

a) Welcher Wert wird c zugewiesen ?

b) Tracen Sie den Aufruf von outer!

 


Aufgabe 2

Gegeben seien die Formeln

(1) x2+2x+1
/2) (x+1)2

a) Geben Sie Lisp-Datenstrukturen für beide Formeln an.

b) Seien f1 und f2 die Listenstrukturen für die beiden Formeln. Welche Ableitungen berechnet die Funktion d(f:list;x:string)? Tracen Sie d(f1,'x') und d(f2,'x').


Abzugeben bis 22.6.2004, 24h