next up previous
Nächste Seite: Über dieses Dokument ...

2. Übung des Programmierpraktikums


Abgabetermin: 23. März 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. Überprüfen Sie, ob die folgenden Rechenregeln der Mathematik auch im Computer gelten, indem Sie rechte und linke Seite nachstehender Gleichungen und die Differenz beider Seiten ausgeben. Die verfügbaren math. Funktionen sind unter cmath zu finden und werden über #include <cmath> in Ihren Quelltext eingebunden.
    $\displaystyle \left(\vphantom{\mathrm{e}^{a}}\right.$ea$\displaystyle \left.\vphantom{\mathrm{e}^{a}}\right)^{b}_{}$ = ea . b  
    log10b = $\displaystyle {\frac{{\ln b}}{{\ln{10}}}}$  
    $\displaystyle \pi$/2 - arccosa = arctan$\displaystyle {\frac{{a}}{{\sqrt{1-a^2}}}}$  
    sinh a - cosh a = -e-a  

    Testen Sie diese Rechenregeln sowohl für einfach genaue Zahlen (float) als auch für doppelt genaue Zahlen (double). Geben Sie jeweils die Anzahl von Byte zur Speicherung einer Zahl unter Nutzung von sizeof an und geben Sie die relative Genauigkeit für Ihren Datentyp analog zum Beispiel Ex390.cpp an.
    Die Zahl $ \pi$ wird von den meisten Compilern in obigem Headerfile als M_PI bereitgestellt.

    Testdaten (a,b): (0.9876, 1.762e - 4), (0.00187, 98),
  2. Schreiben Sie ein Programm, welches eine Gleikommazahl a und eine ganze Zahl n einliest und diese Zahlen in den entsprechenden Datentypen speichert. Geben Sie gleich nach dem Einlesen die reziproken Werte beider Zahlen aus. Berechnen Sie eine neue Gleitkommazahl b, welche auf n Nachkommastellen gerundet ist, d.h., aus 1123.987654 wird 1123.99 bei n = 2.

    Nutzen Sie evtl. die Funktionen floor, ceil aus cmath oder die Tatsache, daß bei der Umwandlung einer Gleikommazahl in eine ganze Zahl die Nachkommastellen wegfallen, siehe Beispiel Ex320.cpp an.

    Eingabedaten (a, n): (113.375145, 3), (3.98765, 2)
  3. Schreiben Sie ein Programm, welches 3 natürliche Zahlen einliest und davon die Summe, das arithmetische, geometrische und harmonische Mittel berechnet, sowie in Variablen speichert. Die Eingabedaten und Ergebnisse sollen (informativ) ausgegebenen werden. Wählen sie die Typen der zu definierenden Variablen nach dem Wertebereich der Ergebnisse aus.

    Eingabedaten (i1, i2, i3): (16, 4, 1), (3, 5, 8)

Hinweise:
Schauen Sie sich die folgenden C++-Funktionalitäten an und nutzen Sie diese gegebenenfalls: sizeof, exp, log, log10, acos, atan, sqrt, ainh, cosh, numeric_limits, pow, floor, ceil, static_cast



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-03-13