Brückenkurs Programmieren Arbeitsblatt Aufgabe 1 Schreiben Sie ein Programm, dass die Fakultät einer Zahl rekursiv bestimmt. Hinweis Hier ein Beispiel für eine rekursive Berechnung der Summe der natürlichen Zahlen von 1 bis 10. function addiere(zahl) { if ( zahl == 0 ) { return 0; } else { return zahl + addiere(zahl−1) } } println(addiere(10)); Aufgabe 2 Entwickeln Sie eine Funktion, die das Verhalten von Math.pow() nachbildet. Greifen Sie hierbei nur auf die Grundrechenarten und die kennengelernten Kontrollstrukturen zurück. Aufgabe 3 Schreiben Sie eine Funktion, die die Taylorreihe für die Exponentialfunktion um 0 berechnet. Diese Taylorreihe ist wie folgt definiert: ex = k X xn n=0 n! Die Werte x und k sollen hierbei vom Benutzer der Funktion als Argument übergeben werden. Die Funktion soll ausschliesslich mit eigenen Mitteln umgesetzt werden. D.h. auch die Fakultät und Potenz soll mit selbst definierten Funktionen berechnet werden. Autoren: Sebastian Philippi, Ivo Senner, Björn Kasteleiner, Jan Marco Müller 21. März 2013 1 Arbeitsblatt Aufgabe 4 Schreiben Sie ein Programm, das die Fibonacci-Folge bis zum 10. Element bestimmt. Eine Definition der Fibonacci-Folge kann zum Beispiel in der Wikipedia1 nachgeschlagen werden. Aufgabe 4.1 Man bestimme die Fibonacci-Folge iterativ. Aufgabe 4.2 Man bestimme die Fibonacci-Folge rekursiv. Aufgabe 5 Die Zahl PI kann mittels der folgenden Formel berechnet werden: PI 4 =1− 1 3 + 1 5 − 1 7 + 1 9 − 1 11 + 1 13 ... Schreiben Sie einen rekursiven Algorithmus, der dieses Verfahren implementiert. Aufgabe 5.1 Schreiben Sie einen iterativen Algorithmus, der dieses Verfahren implementiert. Aufgabe 6 Schreiben Sie eine Anwendung, die für zufällige generierte Zahlen die Auftrittsäufigkeit „grafisch“ darstellt. Die Grenzwerte (d.h. der minimale und maximale Zahlenwert) der Generierung und auch die Anzahl der zu gernerierenden Zahlen soll dabei vom Anwender eingegeben werden. Beispiel: Der Benutzer gibt die Grenzwerte 1 und 4 an und legt die Anzahl der generierten Zahlen auf 20 fest. Eine Ausgabe könnte dann wie folgt aussehen: 1: 2: 3: 4: ===== ===== ==== ====== 1 http://de.wikipedia.org/wiki/Fibonacci-Folge 2 Arbeitsblatt Aufgabe 6.1 Ermöglichen Sie eine Skalierung der Darstellung, um zu verhindern das eine hohe Anzahl an Generierungen über das Zeilenende hinaus ragt und somit zu jeder Zeit eine lesbares Ergebnisse möglich ist. Aufgabe 6.2 Bilden Sie die textuelle Darstellung auf der Zeichenfläche unter Verwendung der Funktionen addLine() und addText() nach. Aufgabe 6.3 Überprüfen Sie Ihr Programm und identifizieren Sie Code, der sinnvoll in Funktionen ausgelagert werden kann. Schreiben Sie die Funktionen und nutzen Sie diese in ihrem Programm. 3