next up previous
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.

  1. 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)
  2. 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)
  3. 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$\displaystyle \choosek$ = $\displaystyle {\frac{{n!}}{{k! (n-k)!}}}$ (1)
    Eingabedaten (n, k): (45, 6), (50, 5), (9, 2), (6, 90)
  4. Wir spielen weiter Lotto und wollen wissen, wie groß die Wahrscheinlichkeit p $ \in$ [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 = $\displaystyle {\frac{{ {k \choose r} {1 \choose z} {n-k-1 \choose k-r-z} }}{{{n \choose k}}}}$ (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 $ \in$ [0, k] und z $ \in$ [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.




next up previous
Nächste Seite: Über dieses Dokument ...
Gundolf Haase 2009-04-02