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

3. Übung des Programmierpraktikums


Abgabetermin: 30. 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. Berechnen Sie die folgenden Ausdrücke für gegebene komplexe Zahlen a, und b. Die verfügbaren math. Funktionen sind unter complex zu finden und werden über #include <complex> wie in §2.3.2 des Skriptes in Ihren Quelltext eingebunden.
    Benutzen Sie die doppelt genauen komplexen Zahlen.
    Geben Sie für die geg. Zahlen den Winkel $ \varphi_{b}^{}$ ( arg()) und den Betrag rb ( abs()) in der Euklidischen Zahlenebene aus.
    e$\scriptstyle \pi$ . a =    
    a3 =    
    $\displaystyle \sqrt{{b}}$ =    
    b + $\displaystyle \overline{{b}}$ =    
    ei$\scriptstyle \varphi_{b}$ - $\displaystyle \left(\vphantom{\cos\varphi_b + \mathbf{i}\cdot\sin\varphi_b}\right.$cos$\displaystyle \varphi_{b}^{}$ + i . sin$\displaystyle \varphi_{b}^{}$$\displaystyle \left.\vphantom{\cos\varphi_b + \mathbf{i}\cdot\sin\varphi_b}\right)$ =    
    3 . a - b =    

    Testdaten (a,b): (0 + i,  -3.5 + 2 . i),      (0 + $ {\frac{{2}}{{3}}}$ . i,  -3 - 4 . i),
  2. Lösen Sie die quadratische Gleichung

    a . x2 + b . x + c = 0 (1)
    für beliebige a, b, c $ \in$ $ \mathbb {R}$ (siehe Eingabedaten!) und geben Sie die entsprechenden Lösungen aus.

    Eingabedaten (a,b,c): (1.0, - 4.0, 1.0), (2.0, 4.0, 2.0), (0.0, 3.0, 4.5), (3.0, - 6.0, 51.0)


    Zusatzaufgabe: Lösen Sie die quadratische Gleichung (1) für beliebige a, b, c $ \in$ $ \mathbb {C}$ mit selbstgewählten, aussagekräftigen Eingabedaten.
    Abgabe Ihres Quelltextes als File bsp_8_zusatz.cpp .
  3. Geben Sie Familiennamen und Vornamen ein und speichern Sie diese als C++-string-s, analog zu §2.3.1 des Skriptes.
    Kombinieren Sie diese beiden Strings zu einem neuen String mit dem Gesamtnamen, speichern und geben Sie diesen aus.
    Vergleichen Sie den Familiennamen lexikographisch mit dem Namen Kranach und geben Sie aus, ob der Name vor oder hinter dem Vergleichsnamen liegt.
    Geben Sie die Anzahl der Zeichen des Gesamtnamens aus und geben Sie eine Information aus, falls der Name für eine Tabellenbreite von 20 Zeichen zu lang ist.

    Eingabedaten (famname, vorname): (Fiedling, Britt), (Schwarzenegger, Arnold)

Hinweise:
Schauen Sie sich die folgenden C++-Funktionalitäten an und nutzen Sie diese gegebenenfalls: complex<double>, arg, abs, sqrt, +, <, empty, size



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-17