• Keine Ergebnisse gefunden

4.1 Das Größte

N/A
N/A
Protected

Academic year: 2022

Aktie "4.1 Das Größte"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Version 1.1 vom 08.05.18 Serge Autexier

Christoph Lüth Korrekte Software: Grundlagen und Methoden SoSe 18

4. Übungsblatt

Ausgabe: 08.05.18 Abgabe: 15.05.18

4.1 Das Größte

Folgendes C0-Programmnsoll das Maximum der Variablenaundbberechnen:

i f ( a <= b ) { max= b ;

} e l s e { max= a ;

}

(i) Analog zur Vorlesung ist die erste Spezifikation

` {true}c{a≤max∧b≤max}

Beweisen Sie, dasscdiese Spezifikation erfüllt.

(ii) Die Spezifikation ist nicht vollständig. Warum? Finden Sie ein zweites Programm, welches die Spezifika- tion ebenfalls erfüllt, und welches nicht das Maximum berechnet.

Hinweise:

• Das Maximum ist der kleinste Wert, der größer als beide ist.

• Die KonstanteMAX_INTist (implementationsabhängig) die größte darstellbare ganze Zahl.

(iii) Finden Sie eine vollständige Spezifikation, und beweisen Sie diese.

4.2 Factorial Revisited.

Beweisen Sie, dass folgendes Programm (eine Variante der Fakultätsfunktkion) die annotierten Vor- und Nach- bedingungen erfüllt:

//{1≤n} p= 1 ; c= 1 ;

while ( c < n ) { c= c + 1 ; p= p∗c ;

} //{p=n!}

Benutzen Sie dabei folgende Invariante

p=c!∧1≤c∧c≤n und die aus der Vorlesung bekannte Eigenschaft der Fakultätsfunktion:

0≤n=⇒(n+1)!= (n+1)·n! (1)

Änderungen:

• Version 1.0 Ausgegebene Version.

• Version 1.1 Formel (1) korrigiert.

— Seite 1 von 1 —

Referenzen

ÄHNLICHE DOKUMENTE

Serge Autexier Christoph Lüth Korrekte Software: Grundlagen und Methoden SoSe

Serge Autexier Christoph Lüth Korrekte Software: Grundlagen und Methoden SoSe

Serge Autexier Christoph Lüth Korrekte Software: Grundlagen und Methoden SoSe

Serge Autexier Christoph Lüth Korrekte Software: Grundlagen und Methoden SoSe

Serge Autexier Christoph Lüth Korrekte Software: Grundlagen und Methoden SoSe 199. ergänzen und eine

I Die (operationale) Semantik einer imperativen Sprache wie C0 ist ein Zustandsübergang: das System hat einen impliziten Zustand, der durch Zuweisung von Werten an Adressen

Partial cor- rectness means that if the programs starts in a state where the precondition P holds, and it terminates, then it does so in a state which satisfies the postcondition

Serge Autexier Christoph Lüth Korrekte Software: Grundlagen und Methoden SoSe