• Keine Ergebnisse gefunden

oder per E-Mail an c.markmann@uni-wuppertal.de

N/A
N/A
Protected

Academic year: 2022

Aktie "oder per E-Mail an c.markmann@uni-wuppertal.de"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

BERGISCHE UNIVERSIT ¨ AT WUPPERTAL

GAUSS-STRASSE 20 42119 WUPPERTAL TELEFAX (0202) 439-2901 TELEFON (0202) 439-0 WWW www.uni-wuppertal.de

Fachbereich C

MATHEMATIK UND NATURWISSENSCHAFTEN Fachgruppe Mathematik und Informatik

Programming by Contract

WS 2005/2006 – ¨ Ubungsblatt 10 Ausgabe: 12. Januar 2006

Abgabe: bis sp¨atestens 19. Januar 2006 in der Vorlesung

oder per E-Mail an c.markmann@uni-wuppertal.de

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

E-Mail: Hans-Juergen.Buhl@math.uni-wuppertal.de WWW: http://www.math.uni-wuppertal.de/buhl

Aufgabe 1. grundlegende Observatoren

Was sind grundlegende Observatoren? Wie sollten sie spezifiziert wer- den (Notwendigkeit der Angabe von Vorbedingungen, ...)?

Schreiben Sie f¨ur eine C++-KlassePolarkoordinatenund eine Klasse Datum (gem¨aß Seite 16 der Materialsammlung) die Spezifikation (in Form von nana-Constructs) der n¨otigen ”basic queries“!

Aufgabe 2. abgeleitete Observatoren

Was sindabgeleitete Observatorenund wie sollten diese spezifiziert wer- den?

Spezifizieren Sie abgeleitete Observatoren f¨ur die x- und y-Koordinate eines Exemplars bzw. die Abfrage, ob ein Datum zu einem Schaltjahr geh¨ort.

Aufgabe 3. Konstruktoren und Destruktoren

Wie sollten Konstruktoren und Destruktoren spezifiziert werden?

Spezifizieren Sie f¨ur die KlassenPolarkoordinatenundDatumje einen Default-, einen Kopier- und einen Konstruktor mit Parametern sowie einen Destruktor.

Aufgabe 4. Modifikatoren

Was sind Modifikatoren und wie sollten Sie spezifiziert werden?

Spezifizieren Sie f¨ur die Klasse Polarkoordinaten eine Me- thode set_x_y(double x, double y) sowie eine Methode double_vector(), der die L¨ange des Exemplar-Vektors verdop- pelt.

1

(2)

Aufgabe 5. Invarianten/fallunterscheidende Nachbedingungen

Schreiben Sie die Invarianten f¨ur die beiden KlassenPolarkoordinaten und Datum.

Spezifizieren Sie eine Integer-wertige Funktion int kodiere(int d) mit dem Definitionsbereich 1,5,7, die 1 auf -4, 5 auf 5 und 7 auf 4 abbildet.

2

Referenzen

ÄHNLICHE DOKUMENTE

Geben Sie auf jedem Blatt Ihren Namen, Vornamen, Matrikelnummer, Studiengang sowie Ihre Gruppennummer an. Weitere Informationen

Magdalena Boos (in der Vorlesung oder in der ¨ Ubung).

Schreiben Sie f¨ ur alle Methoden der Klasse day (Aufgabe 5 von ¨ Ubungs- blatt 6), auch die von Ihnen selbst konzipierten istWochentag(), operator+ und operator-

Schreiben Sie ein kleines Testprogramm mit allen Zusicherungstypen REQUIRE(), ENSURE(), invariant(), INVARIANT() sowie CHECK(), und testen Sie die verschiedenen Einstellungen f¨

Die Norm N heißt

[r]

irgendwann

Falko Lorenz, Karin Halupczok SoSe 2013. Abgabetermin: