Programmieren

Entwurf von Programmschleifen - Aufgaben

 aufwärts

Weitere Aufgaben

 

Aufgabe 1:  (Berechnung von ln(2))

Eine schnell kon­vergierende Reihe zur Berechnung des natürlichen Logarithmus von 2 ist folgende:

ln(2)  =  
2
1 · 31
  +  
2
3 · 33
  +  
2
5 · 35
  +   ...

 

Entwerfen Sie ein Iterations­schema für die Berechnung. Leiten Sie daraus die Iterations­gleichungen und Initialisierungen ab. Programmieren Sie eine ent­sprechende While-Schleife zur Berechnung von ln(2). Fügen Sie diese While-Schleife in eine Funktion double ln2() ein.

 

Aufgabe 2:  (Fibonacci-Zahlen)

Für die Berechnung der Fibonacci-Zahlen kann auch folgendes Iterations­schema verwendet werden, das im Gegensatz zu dem weiter oben angegebenen Iterations­schema mit nur drei Variablen auskommt.

i01234567...
f1123581321...
g011235813...

Leiten Sie aus dem Iterations­schema die Iterations­gleichungen und Initialisierungen ab. Programmieren Sie eine ent­sprechende While-Schleife zur Berechnung der n-ten Fibonacci-Zahl. Fügen Sie diese While-Schleife in eine Funktion long fibo(int n) ein.

 

Aufgabe 3:  (Berechnung des größten gemeinsamen Teilers)

Der größte gemeinsame Teiler zweier nicht­negativer ganzer Zahlen x und y lässt sich mithilfe folgender Iterations­gleichungen berechnen:

Als Initialisierung wird gesetzt:

Erstellen Sie das zugehörige Iterations­schema mit x = 17 und y = 5. Programmieren Sie eine ent­sprechende While-Schleife. Wie lautet die Schleifen­bedingung der While-Schleife? Welche Variable enthält zum Schluss das Ergebnis?

Fügen Sie die While-Schleife in eine Funktion int ggt(int x, int y) ein, die den größten gemeinsamen Teiler von x und y berechnet.

 

Aufgabe 4:  (Quadrat­wurzel)

Die iterative Berechnung der Quadrat­wurzel a = Wurzelf nach dem Verfahren von Heronzur Person beruht auf folgenden Iterations­gleichungen eines sequentiellen Iterations­schemas:

mit den Initialisierungen

 

Setzen Sie diese Iterations­gleichungen in eine While-Schleife um. Brechen Sie die Iteration ab, wenn sich a und b um weniger als 10-12 unter­scheiden. Fügen Sie diese While-Schleife in eine Funktion double sqrt(double f) ein.

 

Aufgabe 5:  (Berechnung der Sinus­funktion)

Die Sinus­funktion sin(x) lässt sich mithilfe folgender Reihe berechnen:

sin(x)  =   Summe n = 0, ..., unendlich  (-1)n
x2n+1
(2n+1)!

 

Entwerfen Sie ein Iterations­schema für die Berechnung und verwenden Sie dabei folgende Variablen:

v Vorzeichen des Summanden
i Wert von 2n+1
s Summand ohne Vorzeichen
p Partialsumme

Wie geht der jeweils nächste Summand s aus dem vorher­gehenden Summanden s' hervor?

 

Iterations­schema:

n 0 1 2 3
 v    
i   
s   
p   

 

Leiten Sie aus dem Iterations­schema die zugehörigen Initialisierungen und Iterations­gleichungen ab. Programmieren Sie eine ent­sprechende While-Schleife zur Berechnung von sin(x). Brechen Sie die Schleife ab, wenn der neu hinzu­gekommene Summand kleiner als 10-14 ist.

Fügen Sie die While-Schleife in eine Funktion double sin(double x) ein.

 

Weiter mit:   [Funktionen]   oder   up

 

homeH.W. Lang   Hochschule Flensburg   lang@hs-flensburg.de   Impressum   Datenschutz   ©  
Valid HTML 4.01 Transitional

Hochschule Flensburg
Campus Flensburg

Informatik in Flensburg studieren...

 

Neu gestaltetes Studienangebot:

Bachelor-Studiengang
Angewandte Informatik

mit Schwerpunkten auf den Themen Software, Web, Mobile, Security und Usability.

Ihr Abschluss
nach 7 Semestern:
Bachelor of Science

 

Ebenfalls ganz neu:

Master-Studiengang
Angewandte Informatik

Ein projektorientiertes Studium auf höchstem Niveau mit den Schwerpunkten Internet-Sicherheit, Mobile Computing und Human-Computer Interaction.

Ihr Abschluss
nach 3 Semestern:
Master of Science

 

Weitere Informatik-Studienangebote an der Hochschule Flensburg:

Medieninformatik

Wirtschaftsinformatik