• Keine Ergebnisse gefunden

oder per email an c.markmann@uni-wuppertal.de

N/A
N/A
Protected

Academic year: 2022

Aktie "oder per email 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 5 Ausgabe: 24. November 2005

Abgabe: bis sp¨atestens 1. Dezember 2005 in der Vorlesung

oder per email 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. Hoare-Tripel

Beschreiben Sie in eigenen Worten, was man unter einem Hoare-Tripel versteht.

Erg¨anzen Sie dann im gcd-Algorithmus (Seite 13f. der Materialsamm- lung) alle auftretenden Hoare-Tripel, indem Sie diese einzeln jeweils in drei Zeilen niederschreiben und kurz erl¨autern.

Aufgabe 2. name list

Erl¨autern Sie die zweite und dritte Nachbedingung der Methode name list::put()(Materialsammlung Seite 15), indem Sie sie mit Hil- fe des (mathematischen) Operators ⇒ darstellen.

Erweitern Sie die Vorbedingung auftrueund erg¨anzen Sie zwei weitere Nachbedingungen der Form ENSURE(not in list || ... ).

Aufgabe 3. MergeSort

Welche Methoden des MergeSort-Beispiels (Seite 17f. der Materi- alsammlung) sollten public, welche private und welche virtuelle (Spezifikationshilfs-)Methoden sein?

Was ist eine virtuelle Methode/ein virtuelles Attribut im Kontext von Spezifikationssprachen?

Aufgabe 4. Stack und Queue

Modifizieren Sie die axiomatische Spezifikation 1.2.1 der Material- sammlung zur Spezifikation einer Queue und die denotationale Spe- zifikation 1.2.2 der Materialsammlung zur Spezifikation eines Stacks.

1

(2)

Aufgabe 5. virtuelle Methode TRIANGULAR()

Schreiben Sie die in Kapitel 3.8 ben¨otigte virtuelle Methode

-: function TRIANGULAR(A : SQUARE MATRIX) return BOOLEAN;

in ANNA-¨ahnlicher Syntax.

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).

Geben Sie an, wie sich die Vorbedingungen, die Nachbedingungen und die Invarianten in einer Kindklasse relativ zu denjenigen einer Eltern- klasse verhalten sollten, wenn

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 ”

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

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