• Keine Ergebnisse gefunden

Die untere und obereGrenze dieses Bereichs werden mit Hilfe zweier Konstanten als 1, bzw

N/A
N/A
Protected

Academic year: 2021

Aktie "Die untere und obereGrenze dieses Bereichs werden mit Hilfe zweier Konstanten als 1, bzw"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Praktikum zur Vorlesung

GRUNDLAGEN DERINFORMATIKI Studiengang Elektrotechnik

WS 02/03

AG Betriebssysteme FB3 Kirsten Berkenkötter Ausgabe: 26.11./3.12.2002

Praktikum 3: Funktionen und Rekursivität

1 Aufgabe 1: Fibonacci-Zahlen

Die Fibonacci-Zahlen sind folgendermaßen definiert:

F(1) = 1 F(2) = 2

F(n+2) = F(n+1) + F(n) , d.h. jede Fibonacci-Zahl ab n= 3 ist die Summe der zwei voherigen.

Diese Aufgabe soll mit Hilfe einer rekursiven Funktion folgenden Aussehens gelöst werden:

int fibonacci(int n)

Im Hauptprogramm sollen die Fibonacci-Zahlen innerhalb eines festgelegten Bereichs ermittelt und ausgegeben werden. Die untere und obereGrenze dieses Bereichs werden mit Hilfe zweier Konstanten als 1, bzw. 20 gesetzt.

2 Aufgabe 2: Die Türme von Hanoi

Das Problem

Die Türme von Hanoi sind ein Problem, dass 1883 von Edouard Lucas erfunden wurde:

In der Stadt Hanoi stehen in einem Brahma-Tempel drei Säulen. Auf einer dieser Säulen liegen 64 Scheiben, die von oben nach unten gesehen, einen streng monoton wachsenden Durchmes- ser haben. Die Welt wird in Schutt und Asche fallen, wenn die Mönche die Scheiben der ersten Säule auf eine andere Säule gelegt haben. Dabei darf nie mehr als eine Scheibe gleichzeitig bewegt und niemals eine größere auf eine kleinere gelegt werden.

A B C

1 2 3 4 5

(2)

Der Algorithmus

Die Säulen werden mit A, B und C bezeichnet. Es soll eine Lösung gesucht werden, wie unter Zuhilfenahme der Säule B dienScheiben von A nach C gebracht werden können.

Dieses Problem eignet sich gut für eine rekursive Lösung. Wir nehmen an, dass eine Lösung fürn-1Scheiben gefunden wurde. Dann ergeben sich folgende Schritte:

1. Bringe dien-1Scheiben von A nach B mit Hilfe von C.

2. Bringe die letzte Scheibe von A nach C.

3. Bringe dien-1Scheiben von B nach C mit Hilfe von A.

Das C-Programm

Der Hanoi-Algorithmus soll auf folgende Art und Weise umgesetzt werden:

Im Hauptprogramm werden die drei Säulen A, B und C als char-Variablen deklariert und in- itialisiert. Dabei soll A die Startsäule, C die Zielsäule und B die Hilfssäule sein. Die Anzahl der Scheiben soll zunächst 4 sein. Die Größe der Scheiben ist dann gleich ihrer Nummer im Stapel, also 1, 2, 3 und 4.

Aus dem Hauptprogramm heraus soll die Funktion void hanoi(int scheibe, char von, char nach, char ueber)

aufgerufen werden, die den rekursiven Algorithmus implementiert. Um das -virtuelle - Um- schichten der Scheiben darzustellen, wird die Funktion

void bewegen(int scheibe, char von, char nach)

verwendet, in der eine Ausgabe folgenden Formats erzeugt werden soll: Bewege Scheibenvon vonnachnach.

Anschließend soll das Programm so erweitert werden, dass die Anzahl der Scheiben vom Be- nutzer mitscanf erfragt wird. Hier soll auch überprüft werden, ob die eingegebene Zahl min- destens 1 ist. Ansonsten soll eine Fehlermeldung ausgegeben werden.

Referenzen

ÄHNLICHE DOKUMENTE

Fazit: Der Rentenzuschlag des Bundesratsmodells baut die Leistungen sogar für jene aus, die bereits eine hohe Rente haben.. Das betrifft 86%

die Einführung und Umsetzung von Umwelt-, und Sozialstandards sowie Produktsicherheit nach deutschen Normen zu fördern, (CSR-Programme (Indien, China),

Einen gesetzlichen Anspruch gibt es nur für den Fall, dass in der Apotheke das Kündi- gungsschutzgesetz gilt, also mehr als zehn Mitarbeiter* beschäftig sind, und die

Bei den meisten Akteuren herrscht Einigkeit, dass die Verzah- nung der humanitären Hilfe mit der Entwicklungszu- sammenarbeit verbessert werden muss, um Menschen in Notlagen

Die zu den Tripeln gehörenden Dreiecke nähern sich eben- falls einem rechtwinklig gleichschenkligen Dreieck an.. Die beiden Kathetenlängen un- terscheiden sich immer nur

Die Hyperbeln dieser Schar haben alle denselben Thaleskreis.. Dieser ist der Umkreis des

Durch Punktspiegelung an M erhalten wir folgende Variante: Wir setzen einem Rhom- bus kongruente rechtwinklige Dreiecke zyklisch an (Abb. 4: Rhombus mit

Um die Deutschkenntnisse von Geflüchteten einzuschätzen, gibt die Grobeinteilung des gemeinsamen europäischen Referenzrahmens (GER) für Sprache eine Orientierung:.. Die