close

Anmelden

Neues Passwort anfordern?

Anmeldung mit OpenID

Einführung in die Programmierung (EPR) - G-CSC Home - Goethe

EinbettenHerunterladen
Goethe-Center for Scientific Computing (G-CSC)
Goethe-Universit¨at Frankfurt am Main
Einfu
¨ hrung in die Programmierung (EPR)
¨
(Ubung,
Wintersemester 2014/2015)
S. Reiter, M. Rupp, Dr. A. Vogel, Dr. K. Xylouris, Prof. Dr. G. Wittum
Aufgabenblatt 2 (Abgabe: Fr., 07.11., 9:29h online)
Folgende Programme sollen ausschließlich mit funktionaler Programmierung
umgesetzt werden, d.h. Funktionen werden durch Ausdr¨
ucke umgesetzt. F¨
ur
die L¨osung der Aufgaben wird der folgende Ausdruck hilfreich sein:
int Funktion( ... ) {
return ( (Bedingung) ? c : d );
}
Hierbei wird der Wert c zugegegeben, wenn die Bedingung in der Klammer
erf¨
ullt ist, ansonsten der Wert d. Beispiel:
int Funktion(int n) {
return ( (n>4) ? n : n+1 );
}
Die Funktion liefert n, wenn n gr¨oßer ist als vier, ansonsten n + 1.
Aufgabe 1 (5 Punkte, Summe von Quadraten)
Schreiben Sie ein Programm, das die Summe der ersten n Quadrate berechnet:
Summe: N → N;
Summe(n) := 12 + 22 + 32 + 42 + 52 + ... + n2 .
Geben Sie in der main-Funktion den Wert f¨
ur n = 10 aus.
Aufgabe 2 (5+5 Punkte, Fibonacci-Zahlen)
a) Programmieren Sie eine Funktion
double Fibonacci(double f0, double f1, int n),
die bez¨
uglich der ersten beiden Folgenglieder f0 und f1 die n-te verallgemeinerte Fibonacci-Zahl zur¨
uckliefert. Die verallgemeinerten Fibonacci-Zahlen
gehorchen folgender rekursiver Darstellung:
f0 , f1 ∈ R+ ;
F¨
ur n ≥ 2 : fn := fn−1 + fn−2 ∈ R+ .
Die klassischen Fibonacci-Zahlen erh¨alt man durch die Wahl f0 = 0 und
f1 = 1. Testen Sie Ihre Funktion, indem Sie in der main die klassischen
Fibonacci-Zahlen fn f¨
ur n = 2, 10, 30 ausgeben.
b) Schreiben Sie eine Funktion
double GoldenRatio(double f0, double f1, int n),
die den Quotienten zwischen der n-ten und n−1-ten Fibbonacci-Zahl zur¨
uckgibt:
fn
.
fn−1
Geben Sie in der main-Funktion die folgende Tabelle aus:
f0,
f1,
50,
51,
1 ,
1,
50, 5000,
1 , 500,
13,
15,
n, Quotient
30,
*
30,
*
20,
*
30,
*
30,
*
Dabei soll f¨
ur * der jeweilige Quotient der Funktion GoldenRatio(f0,f1,n)
ausgegeben werden.
Aufgabe 3 (10 Punkte, Modifizierte Fakult¨at)
Schreiben Sie ein Funktion, die folgende Abbildung f berechnet:
k
g(k) :=
i = 1 + 2 + . . . + k,
i=1
n
g(i) = g(1) · g(2) · . . . · g(n).
f (n) :=
i=1
Geben Sie in der main das Ergebnis von f (5) aus.
Information zur Abgabe: Bitte schicken Sie Ihre L¨osung als *.cpp Datei
¨
an Ihren Ubungsgruppenleiter
per Mail. Wichtig ist, dass Sie Ihre L¨osung
freitags vor 9:30h abgeschickt haben.
Document
Kategorie
Technik
Seitenansichten
26
Dateigröße
126 KB
Tags
1/--Seiten
melden