Bearbeiten Sie die folgenden Aufgaben als Hausaufgaben. Ein Computerlabor findet heute nicht statt.
Aufgabe 8: (If-Anweisung)
Folgendes Programmstück ist gegeben:
Legen Sie die Schlussregel für die If-Anweisung zugrunde. Identifizieren Sie die Bedingungen B und ¬B. Die Nachbedingung soll Q: a ≤ b sein.
Beweisen Sie die Prämissen If1 und If2 (von unten nach oben) und ermitteln Sie dabei die schwächste Vorbedingung P für das Programmstück.
Aufgabe 9: (Ganzzahlige Division)
Gegeben sei folgendes Programm X mit ganzzahligen Variablen a, b, q und r:
Das Programm soll den Rest r bei ganzzahliger Division von a durch b berechnen.
Beweisen Sie, dass die Nachbedingung
R: a = q·b + r ∧ r ≥ 0 ∧ r < b
gilt, falls die Schleife terminiert (partielle Korrektheit).
Legen Sie die Schlussregel für die While-Schleife zugrunde. Gehen Sie schrittweise vor: