编程中的循环推理、临时变量与嵌套语句
在编程中,解决问题的算法是关键。对于一些问题,虽然没有通用的算法,但四步流程能为找到解决方案提供重要指导。
1. while 语句的推理
我们已经证明,至少在伪代码中,解决方案对某个特定问题实例是有效的。但对于其他不同规模的情况呢?我们无法测试所有可能的初始情况(因为有无数种),但可以测试几种情况,让自己相信解决方案是正确的。
非正式推理 while 语句有两个步骤:
- 步骤一 :证明当初始情况使 while 语句的测试为假时,语句能正确工作。例如,当堆中只有一个物品时,机器人捡起该物品后进行测试,结果为假。
- 步骤二 :证明每次执行循环体时,新情况是旧情况的较小但相似版本。“较小”意味着完成循环前的工作量减少,“相似”意味着执行循环体时情况没有根本改变(如机器人方向改变就属于不相似变化)。
通过跟踪循环的几次迭代,我们发现每次迭代后堆的大小减少 1。这让我们相信,最终 while 循环会变为假,而我们已经验证了这种情况的正确性。
2. 临时变量
机器人类有计算背包中物品数量的方法,但没有计算交叉点上物品数量的对应方法。例如,一个机器人要跟随另一个机器人留下的痕迹,交叉点上物品数量不同,机器人的行动也不同:0 个物品前进,1 个物品左转,2 个物品右转。利用临时变量可以解决这类问题。
临时变量(也称为局部变量)存储一个值,供同一方法后续使用。例如以下代码中的 sanDiego 和 karel 就是临时变
超级会员免费看
订阅专栏 解锁全文
1776

被折叠的 条评论
为什么被折叠?



