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 :
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 :
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
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)
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
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
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 .
Sie wird nach der folgenden Formel berechnet:
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:
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 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
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,
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,
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 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.
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,
Die Fibonacci-Folge besitzt auch einen Bezug
zum Goldenen Schnitt, der für das
Seitenverhältnis 1,618033… steht. Je mehr
Folgenglieder berechnet werden, um so mehr nähert sich der
Quotient
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.
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.