ueb04 - x x 1 x 2 x 3 . . . ) ist die Liste (( x x 2 . . ....

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
¨ Ubungen zur Vorlesung Informatik I WS 2006/07 A. Clausing Institut f¨ur Informatik Blatt 4 Abgabe bis Montag, 20. 11. 2006, 12 15 Uhr Aufgabe 10. Aus der Schule kennen Sie das Pascalsche Dreieck: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 ........... Definieren Sie eine Funktion (pascal n) , die die n -te Zeile des Pascalschen Dreiecks ausgibt. Erl¨ autern Sie die Idee Ihrer Implementierung und beweisen Sie mit vollst¨ andiger Induktion deren Korrektheit. Aufgabe 11. Definieren Sie eine Funktion (prefix-form e) , die einen arithmetischen Ausdruck e , der in ge- klammerter Infix–Form gegeben ist, in den entsprechenden Ausdruck in geklammerter Pr¨ afix–Form umrechnet. Aufrufbeispiel: -> (prefix-form ’(3 + ((7 / 2) * 5))) (+ 3 (* (/ 7 2) 5)) Begr¨unden Sie, warum Ihre Funktion das Verlangte leistet. Aufgabe 12. a) Die Reißverschluss–Zerlegung einer Liste (
Background image of page 1
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: x x 1 x 2 x 3 . . . ) ist die Liste (( x x 2 . . . ) ( x 1 x 3 . . . )). Schreiben Sie eine tScheme–Funktion (zip-apart l) , die eine Liste l auf diese Weise zerlegt. b) Schreiben Sie eine Funktion (zip-together a b) , mit der man zwei Listen a und b nach dem Reißverschlussprinzip zu einer Liste vereinigen kann. Was tut Ihre Funktion, wenn die Listen nicht gleichlang sind? Geben Sie jeweils eine genaue Zusicherung f¨ur Ihre Funktion (ohne Beweis). Aufgabe 13. tScheme–Ausdr¨ucke, die nur aus Zahlen, Strings, Symbolen und Listen bestehen, sind m¨ogliche Eingaben von tScheme. Schreiben Sie ein tScheme–Pr¨adikat (inputexpr? e) , das f¨ur einen Ausdruck e feststellt, ob es sich um einen Eingabe–Ausdruck handelt....
View Full Document

Ask a homework question - tutors are online