• 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 11 Ausgabe: 19. Januar 2006

Abgabe: bis sp¨atestens 26. 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. WITHOUT NANA

Lesen Sie das nana-Manual und testen Sie mit bereits benutzten mit nana-Zusicherungen versehenen Programmdateien die Wirkungsweise von WITHOUT NANA.

Gibt es einen Unterschied zwischen einem mit Hilfe von

#define EIFFEL CHECK CHECK NO beziehungsweise einem mit Hilfe von

#define WITHOUT NANA

ubersetzten Programm mit Zusicherungen?¨ Aufgabe 2. EIFFEL CHECK

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

Erstellen Sie eine Tabelle, die ausweist, f¨ur welchenEIFFEL CHECK-Wert die einzelnen Zusicherungstypen noch aktiv bzw. inaktiv sind.

Aufgabe 3. CHECK()/INVARIANT()

Geben Sie jeweils drei Beispiele f¨ur den Einsatz des CHECK()- und des INVARIANT()-Makros an.

Aufgabe 4. simple stack

Spezifizieren Sie f¨ur die Klasse simple stack einen Kopierkonstruktor und einen Wertzuweisungsoperator.

Implementieren Sie diese beiden Methoden. Testen Sie mit gen¨ugend vielen Testdaten und benutzen Sie dann den Kopierkonstruktor zur Verbesserung der Lesbarkeit der Nachbedingungen der Klasse.

1

(2)

Aufgabe 5. Quantoren f¨ur STL-Container

Lesen Sie im nana-Manual die Seiten ¨uber die Benutzung der Qstl.h- Quantoren. Erl¨autern Sie in eigenen Worten die Besipiele f¨ur jeden dieser Quantoren.

Konsturieren Sie jeweils ein sinnvolles eigenes Beispiel.

2

Referenzen

ÄHNLICHE DOKUMENTE

http://en.wikipedia.org/wiki/Object Constraint Language Auf welchem Level kann sie als formale Methode eingeordnet

Welche Software-G¨ utekriterien verletzt das hard coding (http://en.wikipedia.org/wiki/Hard code).

Ordnen Sie die folgenden Anti-Pattern in Bezug auf die in der Vorlesung besprochenen SW-G¨ utekriterien ein:.

Erl¨autern Sie, die Mißachtung welcher Software-G¨ utekriterien zum Pro- blem ” Ein sahniger Brocken“ (Seite 5 der Materialsammlung) gef¨ uhrt hat (Erstellung einer

Schreiben Sie jetzt f¨ ur die letzte Version der Funktion fakultaet() (Aufgabe 1) f¨ ur jede Anweisung das Hoare-Tripel nieder und verifizie- ren Sie dann, dass Ihre Funktion

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 f¨ ur eine C++-Klasse Polarkoordinaten und eine Klasse Datum (gem¨aß Seite 16 der Materialsammlung) die Spezifikation (in Form von nana-Constructs) der n¨otigen ”

Reformulieren Sie einen (evtl. noch nicht ausf¨ uhrbaren) Contract nur mit Hilfe der grund- legenden Observatoren.. Kritisieren Sie analog die Berechnung von old keys in der