• Keine Ergebnisse gefunden

SS2007–¨Ubungsblatt5Ausgabe:10.Mai2007Abgabe:bissp¨atestens17.Mai2007inderVorlesung ProgrammingbyContract

N/A
N/A
Protected

Academic year: 2022

Aktie "SS2007–¨Ubungsblatt5Ausgabe:10.Mai2007Abgabe:bissp¨atestens17.Mai2007inderVorlesung ProgrammingbyContract"

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

SS 2007 – ¨ Ubungsblatt 5 Ausgabe: 10. Mai 2007

Abgabe: bis sp¨atestens 17. Mai 2007 in der Vorlesung

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 ein Hoare-Tripel http://de.wikipedia.org/wiki/Hoarekalk%C3%BCl ist.

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

Modifizieren Sie die denotationale Spezifikation 1.2.2 der Material- sammlung zur Spezifikation eines Stacks.

Aufgabe 4. Kindklassen

K¨onnen in C++ Kindklassen einzelne Attribute oder Methoden der Elternklasse nicht besitzen? Wenn ja: Wie kann das realisiert werden, und ist es sinnvoll?

Aufgabe 5. Umgangssprachliche Spezifikation

Zeigen Sie, dass das Parkplatzproblem genau eine L¨osung der in der Vorlesung spezifizierten Art f¨ur alle Eingabegr¨oßen besitzt, die die

1

(2)

Vorbedingungen erf¨ullen. Warum sollte der Auftraggeber der Software Parkplatzproblem mit den Vorbedingungen einverstanden sein? Wie k¨onnte eine Softwarel¨osung aussehen, die ohne den obigen Beweis die Einhaltung des Contracts f¨ur sich in Anspruch nimmt?

2

Referenzen

ÄHNLICHE DOKUMENTE

Erkl¨aren Sie in eigenen Worten, welche Eigenschaften hier semantisch gefordert

Zeigen Sie, dass das Parkplatzproblem genau eine L¨osung der in der Vorlesung spezifizierten Art f¨ur alle Eingabegr¨oßen besitzt, die die Vorbedingungen erf¨ullen. Warum sollte

Welche Qualit¨atsanforderungen der Vorlesung verletzt Code mit ” magic Pushbuttons“ (http://en.wikipedia.org/wiki/Magic pushbutton).

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

Geben Sie in eigenen Worten an, wie sich die Vorbedingungen, die Nachbedingungen und die Invarianten in einer Kindklasse relativ zu denjenigen einer Elternklasse verhalten sollten,

Legen Sie ein Verzeichnis $HOME/src/nana-2.5 an, entpacken Sie die Datei nana 2.5.orig.tar.gz dorthin und lesen Sie die Installations- anleitung INSTALL sowie das Kapitel 2

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-

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