Übungsaufgaben zum Thema Zählschleifen



Aufgabe 1: Zahlenbereich ausgeben

Schreiben Sie ein Programm, das nach einem Start- und Endwert fragt und dann alle Zahlen (Integer) inklusive der eingegebenen mit Hilfe einer while-Schleife ausgibt.

Beispielablauf :



Aufgabe 2: Integer addieren

Schreiben Sie ein Programm, das mit Hilfe einer for-Schleife Integer addiert, die eingegeben werden. Das Programm fragt zuerst, wie viele Zahlen addiert werden sollen. Danach fordert das Programm auf, die Zahlen nacheinander einzugeben. Schließlich gibt es das Ergebnis auf den Bildschirm aus.

Beispielablauf:

Wie viele Integerwerte sollen addiert werden: 5



        
Geben Sie bitte einen Integerwert ein: 3

Geben Sie bitte einen Integerwert ein: 4

Geben Sie bitte einen Integerwert ein: -4

Geben Sie bitte einen Integerwert ein: -3

Geben Sie bitte einen Integerwert ein: 7


Aufgabe 3: Reihe berechnen

Schreiben Sie ein Programm, das mit Hilfe einer for-Schleife die folgende Summe berechnet:

summe = 1.0/1 + 1.0/2 + 1.0/3 + 1.0/4 + 1.0/5 + … + 1.0/n

Die Variable n ist ein über die InOut-Bibliothek einzulesender Integerwert, bis zu dem die Reihe berechnet werden soll.

Beispielablauf :



Um einen Wert val auf eine Anzahl von n Stellen nach dem Komma zu runden, können Sie folgenden Ausdruck verwenden:
round(val * pow(10, n)) / pow(10, n)



Aufgabe 4: Addition von Quadrat- und Kubikzahlen

Schreiben Sie ein Programm, das Quadrat- und Kubikzahlen (als Integerwerte) von 1 bis n addiert. Dabei wird n wieder über die InOut-Bibliothek eingelesen.

Verwenden Sie nur eine einzelne for-Schleife.

Beispielablauf:

Bitte geben Sie n ein: 5

Die Quadratsumme ist: 55
Die Kubiksumme ist: 225

Aufgabe 5: Potenz einer Zahl

Schreiben Sie ein Programm, das mit Hilfe einer for-Schleife xn berechnet, wobei x eine Gleitpunktzahl und n eine positive Integerzahl ist. x und n werden zu Beginn eingegeben.

Wird eine negative Zahl für n eingegeben, so wird vom Programm darauf hingewiesen, dass n positiv sein muss.

xn = x * x * x * … * x

Die Operation * x wird n-mal durchgeführt.

Beispielablauf 1:

Bitte geben Sie x ein: 1.3

Bitte geben Sie n ein: 5

1.3 hoch 5 ergibt 3.7129

Beispielablauf 2:

Bitte geben Sie x ein: 5.6

Bitte geben Sie n ein: -3

n muss eine positive Integerzahl sein!

Beispielablauf 3:

Bitte geben Sie x ein: 7.25

Bitte geben Sie n ein: 0

7.25 hoch 0 ergibt 1.0

Aufgabe 6: Standardabweichung einer Menge von Eingabewerten

Schreiben Sie ein Programm, dass für eine Anzahl von Gleitkommazahlen, die über die InOut-Bibliothek eingelesen werden, mit Hilfe einer einzelnen for-Schleife die Standardabweichung berechnet.

Die Standardabweichung ist die Quadratwurzel aus der Varianz. Die empirische Varianz s2 einer Menge von Eingabewerten ist die Summe der Abweichungsquadrate aller Eingabewerte von ihrem arithmetischen Mittel bzw. Durchschnittswert x ¯ .

Sie wird nach der folgenden Formel berechnet:

s 2 = 1 n 1 i = 1 n x i x ¯ 2 ,   n 2 .

Diese Formel ist für unsere Zwecke indes nicht brauchbar, da sie das Vorhandensein des Mittel-(Durchschnitts-)werts voraussetzt. Die eingegebenen Zahlen müssten also entweder zwischengespeichert werden, wofür wir bislang keine Möglichkeit besitzen, oder zweimal hintereinander eingegeben werden. Einmal für die Berechnung des Mittelwerts und einmal für die Berechnung der quadratischen Abweichung vom Mittelwert.

Eine bessere Alternative ist die folgende Formel für die Varianz, in die man die obige Formel umformen kann, und bei der der Mittelwert zeitgleich mit der quadratischen Abweichung berechnet wird:

s 2 = 1 n 1 i = 1 n x i 2 n x ¯ 2 ,   n 2 .

Zunächst wird über die Konsole die Anzahl n der einzulesenden Zahlen eingegeben. Danach liest das Programm sukzessive die Zahlen ein und berechnet zwei Summen. Zum einen die Summe der eingegebenen Zahlenwerte, zum anderen die Summe der Quadrate der eingegebenen Zahlenwerte.

Aus der Summe der eingegebenen Zahlenwerte wird dann durch Teilen durch n der arithmetische Mittelwert berechnet und mit dessen Hilfe der in der eckigen Klammer stehende Teil der Formel.

Das Programm gibt schließlich die Standardabweichung aus.

Für die Berechnung der Quadratwurzel aus s 2 gibt es die Funktion sqrt() in der Mathematikbibliothek.

Beispielablauf:

Bitte geben Sie die Anzahl n der Eingabewerte ein: 4
    
Bitte geben Sie die 1. Zahl ein: 2
        
Bitte geben Sie die 2. Zahl ein: 3

Bitte geben Sie die 3. Zahl ein: 1

Bitte geben Sie die 4. Zahl ein: 2

Die Standardabweichung ist: 0.8165

Aufgabe 7: Zahlenfolgen

  1. Schreiben Sie ein Programm, welches die Länge einer Zahlenfolge einliest und die Länge der Abschnitte, aus denen diese bestehen soll. Die Zahlenfolge wird dann mit Hilfe einer einzelnen for-Schleife ausgegeben. Dabei besteht jeder Abschnitt aus den Zählwerten von 1 bis zur Länge des Abschnitts. Ist das Ende der Zahlenfolge erreicht, bevor der letzte Abschnitt voll ist, so wird nur noch der in die Folge passende Teil des Abschnitts ausgegeben.

    Beispielablauf 1:

    Laenge der Zahlenfolge: 20
    
    Abschnittslaenge: 5
    
    Ergebnis:
    1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5,

    Beispielablauf 2:

    Laenge der Zahlenfolge: 14
    
    Abschnittslaenge: 3
    
    Ergebnis:
    1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2,
  2. Schreiben Sie Variationen Ihrer vorhandenen Lösung, mit denen sich die folgenden Zahlenfolgen generieren lassen:

    Beispielablauf 3:

    Laenge der Zahlenfolge: 20
    
    Abschnittslaenge: 5
    
    Ergebnis:
    +1, -2, +3, -4, +5, -1, +2, -3, +4, -5, +1, -2, +3, -4, +5, -1, +2, -3, +4, -5,

    Beispielablauf 4:

    Laenge der Zahlenfolge: 20
    
    Abschnittslaenge: 5
    
    Ergebnis:
    1, 2, 3, 4, 5, 4, 3, 2, 1, 2, 3, 4, 5, 4, 3, 2, 1, 2, 3, 4,

    Beispielablauf 5:

    Laenge der Zahlenfolge: 20
    
    Abschnittslaenge: 5
    
    Ergebnis:
    +1, -2, +3, -4, +5, -4, +3, -2, +1, -2, +3, -4, +5, -4, +3, -2, +1, -2, +3, -4,

Aufgabe 8: Fibonacci-Folge

Die Fibonacci-Folge ist eine seit Jahrtausenden bekannte Folge von Zahlen mit starkem Bezug zu Wachstumsvorgängen in der Natur. Sie beschreibt z. B. die Anzahl von Spiralen bei den Fruchtständen vieler Pflanzen, bei Honigbienen die Anzahl der Ahnen einer Drohne oder kann auch zur Beschreibung des Wachstums einer Population von Kaninchen herangezogen werden. Die Glieder a i der Fibonacci-Folge werden so gebildet, dass ausgehend von den Startwerten 1 und 1 jedes weitere Glied der Zahlenfolge durch Summieren der beiden vorherigen Glieder gebildet wird. Insgesamt ergibt sich so die folgende Zahlenfolge:

1, 1, 2, 3, 5, 8, 13, usw.

  1. Schreiben Sie ein Programm, dass die Anzahl der gewünschten Glieder der Fibonacci-Folge einliest, diese dann in einer for-Schleife berechnet und in das Ausgabefenster ausgibt.

    Programmausgabe:

    Anzahl der Glieder: 10
    1, 1, 2, 3, 5, 8, 13, 21, 34, 55,




  2. Die Fibonacci-Folge besitzt auch einen Bezug zum Goldenen Schnitt, der für das Seitenverhältnis 1,618033… steht. Je mehr Folgenglieder a i berechnet werden, um so mehr nähert sich der Quotient q i = a i a i 1 zweier aufeinander folgender Glieder diesem Seitenverhältnis an.

    Erweitern Sie Ihr Programm dahingehend, dass zusätzlich zu den Gliedern der Fibonacci-Folge der Wert dieses Quotienten ausgegeben wird.

  3. Anzahl der Glieder: 20
    1: a_i=1, q_i=./.
    2: a_i=1, q_i=1.0
    3: a_i=2, q_i=2.0
    4: a_i=3, q_i=1.5
    5: a_i=5, q_i=1.666667
    6: a_i=8, q_i=1.6
    7: a_i=13, q_i=1.625
    8: a_i=21, q_i=1.615385
    9: a_i=34, q_i=1.619048
    10: a_i=55, q_i=1.617647
    11: a_i=89, q_i=1.618182
    12: a_i=144, q_i=1.617978
    13: a_i=233, q_i=1.618056
    14: a_i=377, q_i=1.618026
    15: a_i=610, q_i=1.618037
    16: a_i=987, q_i=1.618033
    17: a_i=1597, q_i=1.618034
    18: a_i=2584, q_i=1.618034
    19: a_i=4181, q_i=1.618034
    20: a_i=6765, q_i=1.618034

Da die Fibonacci-Folge sehr schnell wächst, werden Folgen mit mehr als 92 Gliedern den Bereich der Standard-Integertypen sprengen. Allerdings ist in diesen Bereichen der Wert für q_i längst ausreichend genau.