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
Programming by Contract
WS 2003/2004 – ¨ Ubungsblatt 5 11. Dezember 2003
Ausgabe: 1. Dezember 2003
Aufgabe 1. Spezifikation des arithmetischen Mittelwerts (Version A) Es werde der arithmetische Mittelwert durch
Z := (X+Y)/2 berechnet.
Spezifizieren Sie durch
a) Definitionsbereich (genau!) b) Wertebereich
c) Definition des Resultats d) Eigenschaften des Resultats
e) Vor- und Nachbedingungen, Nebeneffekte
Aufgabe 2. Spezifikation des arithmetischen Mittelwerts (Version B) Es werde der arithmetische Mittelwert durch
Z :=X+ (Y −X)/2 berechnet.
Spezifizieren Sie durch
a) Definitionsbereich (genau!) b) Wertebereich
c) Definition des Resultats d) Eigenschaften des Resultats
e) Vor- und Nachbedingungen, Nebeneffekte
1
Aufgabe 3. Spezifikation des arithmetischen Mittelwerts (Version C)
function arithMittel( x, y : real ) : real;
begin
if (sign(x) = sign(y)) then
arithMittel := x + (y - x)/2 else
arithMittel := (x + y)/2;
end { arithMittel } Spezifizieren Sie durch
a) Definitionsbereich (genau!) b) Wertebereich
c) Definition des Resultats d) Eigenschaften des Resultats
e) Vor- und Nachbedingungen, Nebeneffekte Aufgabe 4. Eigenschaften von arithMittel
Sind alle der w¨unschenswerten Eigenschaften
1. arithMittel soll so genau, wie im Gleitkomma-Raster m¨oglich, sein (außer evtl. im Underflow-Bereich).
2. arithMittelsoll immer zwischen x und y liegen.
3. Falls zwischen x und y mindestens ein weiterer Rasterpunkt des Gleitkommasystems liegt, so sollarithMittelstreng zwischenxund y liegen.
4. Es soll nie ein Overflow auftreten k¨onnen.
5. Underflow soll nur in dem Falle auftreten d¨urfen, wenn das (exakte) Ergebnis im Absolutwert kleiner alsFLT MIN ist.
erf¨ullt?
2