Grundlagen der Programmierung 1 (PRG-1) - G-CSC

Werbung
Goethe-Center for Scientific Computing (G-CSC)
Goethe-Universität Frankfurt am Main
Grundlagen der Programmierung 1 (PRG-1)
(Übung, Wintersemester 2014/2015)
S. Reiter, M. Rupp, Dr. A. Vogel, Dr. K. Xylouris, Prof. Dr. G. Wittum
Aufgabenblatt 2 (Abgabe: Mo., 10.11., 12h)
Aufgabe 1 (10 Punkte, EBNF für algebraische Gleichungen)
Eine algebraische Gleichung über den natürlichen Zahlen ist eine Gleichung
der Form
n
X
ai xi = an xn + . . . + a1 x + a0 = 0,
i=0
wobei n ≥ 0 frei wählbar ist und die Koeffizienten ai ∈ N natürliche Zahlen
sind. Der Einfachheit halber sollen diese Gleichungen so geschrieben werden,
dass die Potenzen durch Multiplikation dargestellt werden, d.h. x2 = x ∗ x
etc., und dass in der Summe auch mehrfach dieselben Potenzen zugelassen
sind. In der Schreibweise sollen jedoch die x Zeichen in jedem Summand
immer rechts von den Koeffizienten stehen und zudem keine Leerzeichen vorkommen. Beispiele von algebraischen Gleichungen sind dann:
2*x*x*x+67*x*x+122*x+19=0
45*x*x*x*x+30*x*x*x*x=0
45*x+30*x*x=0
3=0
x=0
Verwenden Sie die erweiterte Backus-Naur-Form (EBNF), um die Regeln für
eine korrekt geschriebene obige Gleichung zu definieren. (<Gleichung> ::= ...).
Aufgabe 2 (10 Punkte, LEO’)
Sei analog zur Sprache LEO aus der Vorlesung die leicht unterschiedliche
Sprache LEO’ gegeben, die nur die folgenden drei Regeln besitzt:
(i) LE ist ein gültiges Wort der Sprache.
(ii) Wenn xE ein gültiges Wort ist, dann auch xEO.
(iii) Wenn Lx ein gültiges Wort ist, dann auch Lxx.
Beweisen Sie mit vollständiger Induktion, dass das Wort LO nicht Teil der
Sprache LEO’ ist.
Aufgabe 3 (10 Punkte, Fibonacci-Zahlen)
Die Fibonacci-Zahlen sind eine rekursiv definiert Folge von positiven, ganzen
Zahlen. Bezeichne fib: N 7→ N die Funktion, die die n-te Fibonnaci-Zahl
angibt, so ist für n ∈ N diese Funktion definiert durch:



0,
n = 0,
fib(n) := 1,
n = 1,


fib(n − 1) + fib(n − 2), n ≥ 2.
Beweisen Sie mit vollständiger Induktion, dass diese Definition der FibonacciZahlen für jedes n ≥ 0 terminiert.
Hinweis: Die Abgabe der schriftlichen Übungszettel erfolgt vor der
Vorlesung. Bitte schreiben Sie auf die Lösung Ihren Namen und die
Übungsgruppe. Heften Sie gegebenenfalls mehrere Zettel zusammen.
Herunterladen