Hallo Leute,
ich habe folgende Aufgabe und leider keinen Schimmer wie ich sie lösen soll.
Hier erstmal der Code:
Die Aufgaben lauten:
a)
Welchen Wert berechnet diese Methode? Formulieren Sie eine entsprechende Nachbedingung
R.
b)
Geben Sie eine geeignete Schleifeninvariante Q an, mit deren Hilfe die partielle Korrektheit
der Methode bezüglich P und R nachgewiesen werden kann. Sie brauchen
den Nachweis nicht zu führen.
c)
Formulieren Sie Q und R als Java-Ausdrücke, sodass diese in den obigen assert-
Anweisungen verwendet werden können.
Soweit ich das Verstanden habe ich eine Schleifeninvariante eine Beziehung zwischen den höchsten Werten die vor dem Eintritt in die Schleife gelten und den Werten die unverändert bleiben?
Wäre klasse wenn mir jemand helfen könnte wie ich da ran gehen muss.
Ich habe noch nicht einmal rausgefunden was die Funktion berechnet, mir ist klar wie die Schleife funktioniert, aber was sie berechnet ist mir schleierhaft.
Liebe Grüße
ich habe folgende Aufgabe und leider keinen Schimmer wie ich sie lösen soll.
Hier erstmal der Code:
Java:
static int f(int m, int n) {
assert m <= n; // Vorbedingung P
int s = m+n,
i = m;
assert ... // Schleifeninvariante Q
while ( i <= n ) {
s = s - 2*i;
i = i + 1;
assert ... // Schleifeninvariante Q
}
assert ... // Nachbedingung R
return s;
}
Die Aufgaben lauten:
a)
Welchen Wert berechnet diese Methode? Formulieren Sie eine entsprechende Nachbedingung
R.
b)
Geben Sie eine geeignete Schleifeninvariante Q an, mit deren Hilfe die partielle Korrektheit
der Methode bezüglich P und R nachgewiesen werden kann. Sie brauchen
den Nachweis nicht zu führen.
c)
Formulieren Sie Q und R als Java-Ausdrücke, sodass diese in den obigen assert-
Anweisungen verwendet werden können.
Soweit ich das Verstanden habe ich eine Schleifeninvariante eine Beziehung zwischen den höchsten Werten die vor dem Eintritt in die Schleife gelten und den Werten die unverändert bleiben?
Wäre klasse wenn mir jemand helfen könnte wie ich da ran gehen muss.
Ich habe noch nicht einmal rausgefunden was die Funktion berechnet, mir ist klar wie die Schleife funktioniert, aber was sie berechnet ist mir schleierhaft.
Liebe Grüße