给出伪代码
MUL(a,b)
x=a
y=0
WHILE x>=b DO
x=x-b
y=y+1
IF x=0 THEN
RETURN(true)
ELSE
RETURN(false)
我必须证明算法是如何工作的。
到目前为止,我只有解释它是如何工作的,但我不确定你应该如何证明它是如何工作的。
修改:澄清一下。我确实在另一个帖子上问了this个问题。但这两个问题是分开的。我正在进行的任务包括3个问题。第一个问题是我解释算法如何工作的地方。第二个问题在我的另一个thread上,第三个问题(这个主题)是我必须证明我在问题1中解释的算法如何工作的地方。我之所以提出这个问题的原因不是为了得到这个问题的答案,而只是解释我被要求做什么,因为我似乎无法自己解决这个问题。就个人而言,我会像第一个问题那样做,但这不会有多大意义。
答案 0 :(得分:2)
尝试显示算法的前置条件和后置条件。前置条件在执行前预测初始状态,后置条件在执行后预测最终状态。
如果可以证明如果前置条件为真,那么算法是正确的,后置条件必须为真。