• Keine Ergebnisse gefunden

3.2 Eigenschaften von Programmen

N/A
N/A
Protected

Academic year: 2022

Aktie "3.2 Eigenschaften von Programmen"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

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

3. Übungsblatt

Ausgabe: 14.05.20 Abgabe: 19.05.20

Dieses Übungsblatt ist ein PDF-Formular. Bitte in einem PDF-Viewer Ihrer Wahl ausfüllen, abspeichern, und an die Veranstalter mailen.

Gruppe: 1 2 3 4 5 6 7 8 9 10 11 12

Name: Matrikelnummer:

Name: Matrikelnummer:

Name: Matrikelnummer:

3.1 Eigenschaften von arithmetischen und boolschen Ausdrücken

(a) Wir definieren die Funktion Vars auf arithmetischen Ausdrücken, welche die Menge der in einem arith- metischen Ausdruck enthaltenen Programmvariablen liefert:

Vars(x)=def{x} x∈Loc

Vars(n)=def∅ n∈Z

Vars(a1⊕a2)=defVars(a1)∪Vars(a2) ⊕ ∈ {+,−,×, /}

(i) Seienx,y,z∈ Loc. Berechnen Sie die Menge der Programmvariablen der folgenden arithmetischen Ausdrücke:

Vars(x+3∗y) = (1)

Vars((z∗2)/x) = (2)

(ii) Folgende Eigenschaft soll für arithmetische Ausdrücke gelten:

∀a∈AExp.σΣ.∀n∈Z.ha,σi →Aexpn =⇒ Vars(a)⊆dom(σ) (3) Was bedeutet diese Eigenschaft (in natürlicher Sprache)?

— Seite 1 von 3 —

(2)

3. Übungsblatt Korrekte Software: Grundlagen und Methoden, SoSe 2020

(iii) Beweisen Sie Eigenschaft (3).

(b) Wir erweitern jetzt die Funktion Vars auf boolsche Ausdrücke wie folgt:

Vars(0)=defVars(1)=def

Vars(a1⊕a2)=defVars(a1)∪Vars(a2) ⊕ ∈ {==,<=},a1,a2AExp Vars(b1⊕b2)=defVars(b1)∪Vars(b2) ⊕ ∈ {&&,||},b1,b2BExp

Vars(!b)=defVars(b) b∈BExp

(i) Seienx,y,z ∈Loc. Berechnen Sie die Menge der Programmvariablen der folgenden boolschen Aus- drücke:

Vars(x+3∗y==z+5) = (4)

Vars(x<=2∗y&& 2∗z<=x) = (5)

(ii) Wir betrachten wieder eine Eigenschaft, diesmal für boolsche Ausdrücke:

∀b∈BExp.σ∈Σ.∀n∈ {true,false}.hb,σi →Bexpn =⇒ Vars(b)⊆dom(σ) (6) Was bedeutet diese Eigenschaft?

— Seite 2 von 3 —

(3)

3. Übungsblatt Korrekte Software: Grundlagen und Methoden, SoSe 2020

(iii) Widerlegen Sie Eigenschaft (6), indem Sie ein Gegenbeispiel angeben.

3.2 Eigenschaften von Programmen

Betrachten Sie folgende spezielle Eigenschaft von C0-Programmen:

∀c∈Stmt.∀x∈Loc.σ,σ0 ∈Σ.(x∈dom(σ)∧ hc,σi →Stmtσ0) =⇒ x∈dom(σ0) (7) (a) Was bedeutet diese Eigenschaft?

(b) Warum gilt diese Eigenschaft?

(c) Geben Sie eine Beweisskizze für Eigenschaft (7) an. Die Beweisskizze sollte angeben, welche Beweisme- thode (Induktion (welche, worüber?)) genutzt wird.

— Seite 3 von 3 —

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 198. Spezifieren Sie ein Prädikat perm ( a, n, b, m ) , welches wahr

Korrekte Software: Grundlagen und Methoden Vorlesung 11 vom 19.06.18: Funktionen und Prozeduren. Serge Autexier, Christoph Lüth Universität Bremen

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

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

Korrekte Software: Grundlagen und Methoden Vorlesung 1 vom 06.04.17: Einführung.. Serge Autexier, Christoph Lüth Universität Bremen