C++: Aufgaben zur strukturierten Programmierung

Aufgaben zum Einüben der Arbeitstechniken, die in der strukturierten Programmierung angewendet werden.

Einordnung des Artikels

Aufgaben

1. Früher wurden bereits Anwendungen vorgestellt, bei den die elementare Syntax von C++ eingesetzt werden sollte (siehe C++ Programmier-Aufgaben: Anwendungen aus Numerik, Finanzmathematik, Kombinatorik, Auszeichnungssprachen).

Überarbeiten Sie die Lösungen dieser Aufgaben im Sinne der strukturierten Programmierung.

2. Das Statistik-Projekt, das in den bisherigen Abschnitten des Kapitels C++: Fortgeschrittene Syntax entwickelt wurde, soll um Funktionen zur Berechnung statistischer Größen erweitert werden (die nötigen Formeln stehen unten):

Dabei sollen berechnet werden:

  1. Die Varianz Var(x1, x2,…, xn) und die Standardabweichung σ(x1, x2,…, xn) einer Zufallsfolge (x1, x2,…, xn).
  2. Die Kovarianz cov(x1, x2,…, xn; y1, y2,…, yn) zweier Zufallsfolgen (x1, x2,…, xn) und (y1, y2,…, yn).
  3. Der Korrelationskoeffizient ρ (x1, x2,…, xn; y1, y2,…, yn) zweier Zufallsfolgen.
  4. Die Regressionsgerade y = a x + b zu zwei Zufallsfolgen..

Erweitern Sie die drei Dateien main.cpp, Statistik.h und Statistik.cpp entsprechend und testen Sie die neuen Funktionen.

Formeln aus der Statistik

Der Erwartungswert oder Mittelwert E(x1, x2,…, xn) einer Zufallsfolge wird nach der Formel in Abbildung 1 berechnet:

Wenn klar ist, welche Zufallsfolge gemeint ist, wird der Mittelwert oft mit μ = E(x1, x2,…, xn) abgekürzt.

Die Varianz Var(x1, x2,…, xn) einer Zufallsfolge wird nach der Formel in Abbildung 2 berechnet:

Die Varianz kann auch durch die Formel in Abbildung 3 berechnet werden.

Auf den Unterschied zwischen empirischer Varianz und Varianz wird hier nicht eingegangen (analog für die Standardabweichung) - Sie können aber gerne die entsprechenden Funktion in Ihr Programm einbauen.

Die Standardabweichung σ(x1, x2,…, xn) ist einfach die Wurzel aus der Varianz:

Für die Kovarianz zweier Zufallsfolgen (x1, x2,…, xn) und (y1, y2,…, yn) benötigt man ihre Mittelwerte μx = E(x1, x2,…, xn) und μy = E(y1, y2,…, yn); die Kovarianz wird dann nach der Formel in Abbildung 5 berechnet.

Der Korrelationskoeffizient zwischen zwei Zufallsfolgen berechnet sich aus der Kovarianz und den beiden Standardabweichungen, siehe Abbildung 6.

Vermutet man, dass die Punkte (x1, y1), (x2, y2),... , (xn, yn) näherungsweise auf einer Geraden liegen, kann man die Regressionsgerade (nach der Methode der kleinsten Quadrate) aus der Steigung a und dem y-Abschnitt b berechnen, siehe Abbildung 7.