ueb08 - [...] , zwischen dem beliebig viele, durch Kommas...

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 8 Abgabe bis Montag, 18. 12. 2006, 12 15 Uhr Aufgabe 26. Eine (nicht gerade effiziente) M¨oglichkeit zur Berechnung der Modulo–Funktion ist die folgende: mod : N × N N , mod ( n,m ) = n falls n < m n - m falls m n < 2 m mod ( mod ( n, 2 m ) ,m ) falls 2 m n Erl¨ autern Sie, warum diese Funktion und die Funktion mod aus dem Initialisierungsfile von tScheme f¨ur alle n,m N dasselbe Resultat liefern. Implementieren Sie die obige Version von mod in tScheme und untersuchen Sie die Laufzeit. Aufgabe 27. Beweisen Sie, dass jede endliche Sprache L A ? ¨uber einem Alphabet A kontextfrei ist (d.h. dass es eine kontextfreie Grammatik G mit L ( G ) = L gibt). Aufgabe 28. Ein Ausdruck in der Programmiersprache Mathematica ist entweder atomar oder zusammengesetzt, bestehend aus einem Kopf (der ein beliebiger Ausdruck sein darf), gefolgt von einem Klammerpaar
Background image of page 1
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: [...] , zwischen dem beliebig viele, durch Kommas getrennte Ausdr¨ucke stehen d¨urfen. Atomare Ausdr¨ucke sind Zahlen, Namen und Strings. Geben Sie je eine Grammatik f¨ur Mathematica–Ausdr¨ucke ohne und mit EBNF an. (Behandeln Sie Zahlen, Namen und Strings jeweils als terminale Symbole.) Ermitteln Sie bzgl. jeder der beiden Grammatiken einen Syntaxbaum f¨ur f[1][a, b] . Aufgabe 29. Man kann Mathematica–Ausdr¨ucke in tScheme–Code ¨ubersetzen, indem man die eckigen Klammern durch runde ersetzt, den Kopf hinter statt vor der ¨ offnenden Klammer schreibt und die Kommas wegl¨ asst. Schreiben Sie ein tScheme–Programm, der diese ¨ Ubersetzung vornimmt. Aufgabe 30. (Aufgabe 30 ist gestrichen, in der Vorgabe war ein Fehler. In der Vorlesung am 14. 12. sage ich noch etwas dazu. A. Cl.)...
View Full Document

This note was uploaded on 11/04/2009 for the course INFORMATIK Info1 taught by Professor Ka during the Spring '05 term at Uni Münster.

Ask a homework question - tutors are online