18. Ý Ø
˽ ˾
Á ¹Ø Ò¹ Ð× Ø Ò Ë½ Ð× Ë¾
Ï Ð Û Ð Ó Ë Ó
ü x + y ¸ x/y º º º
´ ¸
µ
ü
{P}S{Q}
P S ¸
Q
19. {x1 ≥ 0 ∧ x2 0}
y 1 := 0;
{x1 ≥ 0 ∧ x2 0 ∧ y 1 ≡ 0}
y 2 := x1;
{x1 ≡ y 1 × x2 + y 2 ∧ y 2 ≥ 0}
Û Ð y 2 ≥ x1 Ó
{x1 ≡ y 1 × x2 + y 2 ∧ y 2 ≥ x2}
y 1 := y 1 + 1;
{x1 ≡ y 1 × x2 + y 2 − x2 ∧ y 2 − x2 ≥ 0}
y 2 := y 2 − x2;
{x1 ≡ y 1 × x2 + y 2 ∧ y 2 ≥ 0}
Ó
{x1 ≡ y 1 × x2 + y 2 ∧ y 2 ≥ 0 ∧ y 2 x2}
22. ´Ö
Ø Ú ×Ý×Ø Ñ×µ
~start
~close
~heat
~error
start oven ¹
close open door
open door cook ¹
door
start ~start ~start ´
~close close done close ¸
heat ~heat heat
error ~error ~error
23. ¸
µº
close start oven
open door door start cooking
reset
start start start
close close warmup close
~heat ~heat heat
error ~error ~error
24. ´ µ ¸ ¸
~start
~close
~heat
~error ¸ ¹
start oven close open door ¸
open door cook
door ¹
start ~start ~start
~close
heat
close
~heat
done close
heat
´heat ∧ ¬close µ
error ~error ~error
¹
close start oven
open door door start cooking
reset
start start start
close close warmup close
~heat ~heat heat
error ~error ~error
þ