Nächste Seite: Über dieses Dokument ...
5. Übung des Programmierpraktikums
Abgabetermin: 27. April 2009, 23:59 Uhr
Die Übungen sind grundsätzlich allein zu machen.
Gruppenarbeit ist nicht erlaubt.
Abzugeben sind jeweils die sinnvoll dokumentierten
Programmfiles
(Files für Bsp. 5: bsp_5.cpp, bsp_5_fkt.cpp, bsp_5_fkt.hpp )
indem Sie diese in Ihr Verzeichnis im globalen Abgabeordner kopieren.
- Schreiben Sie die Berechnung der Taylorreihe aus Aufg. 10 (Übungsblatt 4)
als Funktion, sodaß Sie diese Funktion im Hauptprogramm, z.B. via
cout << "Taylorapprox: << ln_taylor(x,n)" << endl;
aufrufen können (Namen und Paramterliste frei wählbar).
Hinweise:
Definieren und deklarieren Sie Ihre Funktion außerhalb des Hauptprogramms,
aber im gleiche File, siehe § 7.3.
Innerhalb Ihrer Funktion werden keine Ein-oder Ausgaben getätigt (also kein
cin oder cin), d.h. alle benötigten Größe sind über
die Parameterliste oder den Rückgabewert zu transferieren.
Globale Variable dürfen hier und in den weiteren Übungen nicht benutzt werden.
Testdaten (x, n): (1.9, 16), (0.01,1000), (0.01,10)
- Analog zu Aufg. 6 (Übungsblatt 2).
Schreiben Sie eine Funktion welche aus 3 natürliche Zahlen
die Summe, das arithmetische, geometrische
und harmonische Mittel berechnet, und an das aufrufende Programm zurückgibt.
Zusätzlich sollen die 3 natürliche Zahlen in der Funktion aufsteigend
angeordnet und an das aufrufende Hauptprogramm
in place (d.h., die Originalvariablen werden überschrieben)
zurückgegeben werden.
Hinweise: wie bei Aufg. 14.
Eingabedaten (n1, n2, n3): (16, 4, 1), (3, 5, 8)
- Wir wollen Lotto spielen und dazu die Anzahl der möglichen Kombinationen
für k zu tippende Zahlen aus n Zahlen bestimmen.
Diese Anzahl wird durch den folgenden Binomialkoeffizienten ausgedrückt:
Cn(k) = n =
|
(1) |
- Schreiben Sie eine Funktion binom
zur Berechnung obigen Binomialkoeffizientens
(der Funktionsname ist frei wählbar).
- Beachten Sie, daß die Fakultät (n!) in C++ nicht verfügbar ist.
Es gibt (mind.) zwei Möglichkeiten bzgl. des Binomialkoeff. dies zu beheben.
- Geben Sie die Anzahl der möglichen Kombinationen für die Eingabedaten aus und
vergleichen Sie Ihr Ergebnis mit Daten aus dem Internet
(Achtung bei Euromillionen
)
Eingabedaten (n, k): (45, 6), (50, 5), (9, 2), (6, 90)
- Wir spielen weiter Lotto und wollen wissen, wie groß die Wahrscheinlichkeit
p
[0, 1] ist, daß bei einem Tipschein mit k zu tippenden Zahlen aus n Zahlen,
r Zahlen richtig sind und z Zusatzzahlen richtig getippt wurden
(Wir nehmen im weiteren an, daß es nur eine Zusatzzahl gibt.).
Die entsprechende Formel für die Wahrscheinlichkeit ist
p =
|
(2) |
und diese soll in einer Funktion implemeniert werden
(Funktionen aus Aufg. 16 dürfen verwendet werden).
Erstellen Sie für die Eingabedaten
eine Übersicht über die Wahrscheinlichkeit, daß Sie
r-Zahlen und z Zusatzzahlen richtig haben, mit
r
[0, k] und z
[0, 1].
Vergleichen Sie auch mit
zweite Tabelle §6.1
Eingabedaten (n, k): (49, 6), (20, 4), (10, 2)
generelle Hinweise:
Die Befehle break, continue, goto
sind nicht erlaubt.
Abgabe der Lösungen:
Die Abgabe der Lösungen (*.cpp-Files, *.hpp, ...,
keine exe-Files)
erfolgt ausschließlich durch das Kopieren dieser Files
in Ihr (beim erstenmal anzulegendes) Verzeichnis
Nachname_Vorname im globalen Abgabeordner
y: \\pers.ad.uni-graz.at\fs\ou\621\stud_haase\Nachname_Vorname .
Hinweise hierzu sind unter der
LV-Homepage
zu finden.
Die Filenamen müssen dem Schema bsp_nummer,
gefolgt von der Filextension, entsprechen. Z.B. ist in Beispiel 1 das File
bsp_1.cpp abzugeben.
Andere Filebezeichner zählen als nicht abgegebene Files.
Nächste Seite: Über dieses Dokument ...
Gundolf Haase
2009-04-02