Formale Verifikation - AufgabenGanzzahlige Wurzel |
Aufgabe: (Ganzzahlige Wurzel)
Gegeben sei folgendes Programm X mit ganzzahligen Variablen a, x, y und z:
x=0;
y=1;
z=1;
while (y<=a)
{
x=x+1;
z=z+2;
y=y+z;
}
|
Das Programm soll die ganzzahlige Quadratwurzel x von a berechnen, d.h. es soll gelten x a x+1.
Beweisen Sie, dass die Nachbedingung
R: x2a a < (x+1)2
gilt, falls die Schleife terminiert.
Benutzen Sie als Schleifeninvariante
P: x2a y = x2+z z = 2x+1
Weiter mit: |
H.W. Lang Fachhochschule Flensburg lang@fh-flensburg.de Impressum © |