• Keine Ergebnisse gefunden

WS2000/2001{¨Ubungsblatt813.Dezember2000Bearbeitungstermin:51.KW Einf¨uhrungindieInformatikundProgrammierung(InformatikI)

N/A
N/A
Protected

Academic year: 2022

Aktie "WS2000/2001{¨Ubungsblatt813.Dezember2000Bearbeitungstermin:51.KW Einf¨uhrungindieInformatikundProgrammierung(InformatikI)"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

BERGISCHE UNIVERSIT ¨AT GESAMTHOCHSCHULE WUPPERTAL

GAUSS-STRASSE 20 42097 WUPPERTAL (Korrespondenzanschrift) 42119 WUPPERTAL (Lieferanschrift) TELEX 8 592 262 bughw TELEFAX (0202) 439-2901 TELEFON (0202) 439-1

Fachbereich 7

MATHEMATIK

Prof. Dr. Hans-J ¨urgen Buhl Praktische Informatik / Numerik

e-mail: Juergen.Buhl@math.uni-wuppertal.de

Einf¨ uhrung in die Informatik und Programmierung

(Informatik I)

WS2000/2001 – ¨ Ubungsblatt 8 13. Dezember 2000

Bearbeitungstermin: 51. KW

Aufgabe 1. Statistische Auswertung, 6 Punkte Testen Sie die folgende Klasse Stichprobe:

//////////////////////////////////

// Datei: Stichprobe.cc // Version: 1.0

// Zweck: (errechnete) Observatoren // Autor: Hans-Juergen Buhl

// Datum: 17.09.1999

//////////////////////////////////

#include <iostream>

using namespace std;

class Stichprobe { unsigned long Anzahl;

double SummeBisher;

public:

Stichprobe(): Anzahl(0), SummeBisher(0) {}

void reset() { Anzahl = 0;

SummeBisher = 0;

}

1

(2)

unsigned long getAnzahl() const { return Anzahl;

}

double getMittelwert() const { if (Anzahl < 1){

cerr << "\n ***** Stichprobe::getMittelwert() - Fehler: Anzahl <=0\n";

exit(1);

};

// Anzahl >= 0

return (SummeBisher / Anzahl);

}

void addItem(const double i){

Anzahl++;

SummeBisher += i;

} };

int main(){

Stichprobe s;

s.addItem(10.0);

cout << "Stichprobengr¨oße = " << s.getAnzahl() << ", Mittelwert = "

<< s.getMittelwert() << endl;

s.addItem(3.0);

s.addItem(2.0);

cout << "Stichprobengr¨oße = " << s.getAnzahl() << ", Mittelwert = "

<< s.getMittelwert() << endl;

//

s.reset();

s.addItem(-15.0);

s.addItem(5.0);

cout << "Stichprobengr¨oße = " << s.getAnzahl() << ", Mittelwert = "

<< s.getMittelwert() << endl;

//

Stichprobe s2;

s2.addItem(1.0);

s2.addItem(2.0);

cout << "Stichprobengr¨oße = " << s2.getAnzahl() << ", Mittelwert = "

2

(3)

<< s2.getMittelwert() << endl;

//

s.reset();

cout << "Stichprobengr¨oße = " << s.getAnzahl() << ", Mittelwert = "

<< s.getMittelwert() << endl;

}

Ist alles notwendige getestet worden? Erg¨anzen Sie weitere Ihnen notwendig erscheinende Methoden (removeItem(), ...) und testen Sie auch diese.

Neben dem Mittelwert ist auch die Standardabweichung σ eine wichtige sta- tistische Kenngr¨oße von Stichproben. Sie errechnet sich zu

σ = vu uu t1

n

Xn

i=1

ai2 1 n

Xn i=1

ai

!2

Erg¨anzen sie die Klasse Stichprobeum die notwendigen Attribute und um die Methode getStandardabweichung().

Andern Sie Ihre L¨¨ osung von Aufgabe 2 / ¨Ubungsblatt 5 durch die Benutzung der Klasse Stichprobeso ab, daß Sie keine Vektoren mehr ben¨otigen.

Aufgabe 2. Ausgabeoperator, 2 Punkte Schreiben Sie zur Klasse compeinen Operator

ostream& operator<< (ostream& os, const comp& z) Aufgabe 3. Zinsen und Zinseszinsen, 6 Punkte

Schreiben Sie ein Programm, das das Anwachsen eines Startkapitals von K Euro durch Zins- und Zinseszinsen (j¨ahrlicher Zinssatz p %) in einem Zeit- raum von 25 Jahren ¨ubersichtlich tabelliert ausdruckt.

Aufgabe 4. rationalNumbers, 6 Punkte

Schreiben Sie eine Klasse rationalNumber mit den n¨otigen Konstruktoren und den Operatoren

rationalNumber operator* (const rationalNumber& z, const rationalNumber& n) rationalNumber operator/ (const rationalNumber& z, const rationalNumber& n) ostream& operator<< (ostream& os, const rationalNumber& p)

Achten Sie darauf, die Ergebnisse nur gek¨urzt abzuliefern (Aufgabe 1 / Ubungsblatt 5). Testen Sie!¨

cProf. Dr. Hans-J¨urgen Buhl

3

Referenzen

ÄHNLICHE DOKUMENTE

Die Präferenzen der In- dividuen seien gegeben durch die Indifferenzkurven in der Edgeworth-Box (s.u.); dabei mögen die fett gezeichneten Kurven zu Konsument 2 gehören. c)

Dann ist es teurer: WennX&gt;Y, dann p(X)&gt;p(Y) (größere Pakete kosten mehr); Antwort: wenn ein Markt arbitragefrei ist, gibt es immer risikoneutrale Wahrsch.

Bauen Sie absichtlich durch kleine textuelle Modifika- tionen syntaktische Fehler in das Programm ein, und notieren Sie sich die Fehlermeldungstypen mit den jeweiligen Fehlerursachen

¨ Andern Sie das Programm so ab, daß Sie in einer for-Z¨ ahlschlei- fe diese Summe explizit selbst berechnen, und testen Sie das modifizierte Programm..

Schreiben Sie ein Programm, das mittels einer for-Z¨ ahlschleife und der Funk- tionen double sqrt(double) sowie double pow(double, int) (aus cmath) die eu- klidische Norm eines

Erg¨ anzen Sie die Klasse quadGleichung und das zugeh¨ orige Testrahmen- programm um die in der Vorlesung nur angedeutete Funktionalit¨ at (Einbau der Formeln zur Berechnung

Schreiben Sie ein Programm, das das Anwachsen eines Startkapitals von K Euro (1. Januar) durch Zinsen (Zinssatz p %) bis Jahresende berechnet, wenn durch eine Eingabeschleife im Jahr

rs (1) ist die Rate für Geld, das heute für ein Jahr angelegt wird, rs (2) ist die Rate für Geld von Zeitpunkt 0 bis Zeitpunkt 2... Bei einem bestimmten Wert wird der Netto-