So finden Sie den Loop Invariant in Hire Triples
-
28-09-2020 - |
Frage
Hey, ich bin neu, um Triples zu hoare, und ich kann nicht verstehen, die Loop-Invarianten in der Hypothese zu finden.Zum Beispiel diese während der Schleife
generasacodicetagpre.Der Invariante ist [2x + y> 5], aber ich verstehe nicht, wie man es finden kann.Ein Schritt für Schritt Erläuterung, wie er findet, wird er sehr geschätzt.
Lösung
Verstehen Sie zuerst die Bedeutung des Schleifens invariant. Es bedeutet eine Erkrankung, die bei jeder Iteration des Programms / Algorithmus an der Beginn sowie bei der Kündigung der Schleife trifft. Ihr Programm ist so etwas.
$$ x> 1 \ text {und} y> 1 $$
$$ \ Text {während} x> 0 $$
$$ \ HSPACE {4cm} \ text {do} x:= x - 1, y:= y + 2 $$
$$ \ Text {ende} $$
$$ x + y> 5 $$
$ 2x + y> 5 $ ist ein Invariante wie Sie beschrieben. Es ist aus dem Programm sichtbar, das sowohl $ x $ und $ y $ größer als
Beispiel:
lass $ x= 2 $ und $ y= 2 $ , dann $ 2 \ mal 2 + 2= 6> 5 $ ist zufrieden. Nun in der zweiten Iteration