Prof.Dr. W. Koepf
Dipl.-Math. T. Sprenger Ubungen zur Vorlesung
Ubungsblatt 02 COMPUTERALGEBRA I 26.10.2006
Aufgabe 1: (Map & Apply)
Erklaren Sie, was die folgenden Befehle bewirken und testen Sie die Befehle mit der Liste liste=Table[Random[Integer,{1,100}],{k,100}].
(1) Map[PrimeQ,liste]
(2) Count[Map[PrimeQ,liste],True]
(3) Map[(#^2)&,liste]
(4) Select[Map[Sqrt,liste],IntegerQ]
(5) N[Apply[Plus,liste]/Length[liste]]
(6) Sqrt[Apply[Plus,Map[(#^2)&,liste]]]
(7) Apply[Max,liste]
Geben Sie zwei weitere { moglichst interessante { Beispiele an, eines fur die Anwendung von Map und eines fur Apply. Beschreiben Sie genau, was ihre Beispiele bewirken. (8 Punkte)
Aufgabe 2: (Mustererkennung)
Schreiben Sie eine Liste von Regeln, welche den Logarithmusregeln ln(x) + ln(y) ! ln(xy) und n ln(x) ! ln(xn) entspricht. Wenden Sie die Regeln auf den Ausdruck
2 ln(x) + 3 ln(y) 4 ln(z)
an. Zum Einsetzen benotigt man die //. Funktion. Warum? (4 Punkte) Aufgabe 3: (Rekursion & Iteration)
Sei n 2 N0. Die Doppelfakultatsfunktion ist gegeben durch
n!! :=
(n (n 2)!!; n 2 N n f1g
1; n 2 f0; 1g:
Programmieren Sie die Doppelfakultatsfunktion (1) rekursiv ohne Remember-Eekt.
(2) rekursiv mit Remember-Eekt.
(3) iterativ mit einer Schleife.
(4) iterativ mit Nest.
(5) iterativ mit Fold.
(6) mit Apply und Times.
(8 Punkte)
Aufgabe 4: (Binomialkoezienten)
Versuchen Sie eine moglichst eziente Prozedur zu schreiben, die fur n; k 2 N0 den Binomialko- ezienten nk
aus der bekannten Rekursionsgleichung des Pascalschen Dreiecks bestimmt. Testen Sie Ihre Prozedur an 1000500
und vergleichen Sie mit Binomial. (6 Punkte)
Abgabetermin: Dienstag, 07.11.2006, 09.15 Uhr ansprenger@mathematik.uni-kassel.de