机器人二级考试所有的知识点(机器人等级考试)
机器人二级考试所有的知识点(机器人等级考试)需要注意的是,循环体内经过计算后 i 其实被重新赋值了,而下一次循环其实是在 i 的新值的基础上加1(步长)的,既然 i 的值在循环体内就变化了,那么肯定不是循环10次这么简单了。首先我们需要意识到一个问题,这个循环模块是否真的循环了10次?因为步长为1,i 从1开始到10,不就是循环10次么,最后一次循环当然就是第10次循环了,第10次循环中,i不就是10吗?i i =20,所以答案就是20。那么你的答案是什么呢?这么容易计算吗?当然不是这么简单。答案太草率了,当然肯定也是错误的。—正确的解题思路—
下面的Mixly程序模块运行后,串口监视器输出的最后一个值是什么?
程序模块
咋一看也挺简单,这是一个关于循环模块的基础题型,题目问串口监视器输出的最后一个值,也就是最后一次循环完成时 i 的值。
很多小朋友会这么计算:
因为步长为1,i 从1开始到10,不就是循环10次么,最后一次循环当然就是第10次循环了,第10次循环中,i不就是10吗?i i =20,所以答案就是20。
那么你的答案是什么呢?这么容易计算吗?当然不是这么简单。答案太草率了,当然肯定也是错误的。
—正确的解题思路—
首先我们需要意识到一个问题,这个循环模块是否真的循环了10次?
需要注意的是,循环体内经过计算后 i 其实被重新赋值了,而下一次循环其实是在 i 的新值的基础上加1(步长)的,既然 i 的值在循环体内就变化了,那么肯定不是循环10次这么简单了。
粗暴一点,我们用人脑模拟计算机循环一遍:
(1)第一次循环,i为初始值1,循环体内给i赋新值 i i=2,第一次循环结束i等于2。监视器输出2。
(2)第二次循环,因为第一次循环结束后i等于2,i加步长1后,i变为3,进入循环体内后,给i赋新值 i i=6,第二次循环结束i等于6。监视器输出6。
(3)第三次循环,因为第二次循环结束后i等于6,i加步长1后,i变为7,进入循环体内后,给i赋新值 i i=14,第三次循环结束i等于14。监视器输出14。
(4)第四次循环,因为第三次循环结束后i等于14,i加步长1后,i变为15,因为循环规则为i从1到10,而15大于10,因此循环结束,也就是说没有第四次循环了。
所以串口监视器输出的三个值分别为:2、6、14,最后一个值为14,正确答案为14,您答对了吗?
下面我们写程序验证一下:
监视器最后一个值为14
执行后监视器最后一个值为14,验证通过。
一个小插曲,孩子问,模拟第四次循环时,i 等于14,已经大于10了,为啥你还要 i 加步长1后,i 变为15,再去和10比较呢?岂不是多此一举?
这是因为我是模拟计算机程序的运行逻辑来写的,程序在每次循环完成后,都是先加步长,然后再去做比较的。我这样写是让小朋友规范地理解循环模块的执行逻辑,如果能把握程序执行逻辑的每个细节,将来可能会避免掉很多小的失误。
我从大学毕业就一直从事程序开发工作,深知细节对于程序质量的重要性。对细节把握精准的富有经验的程序员开发的产品,其稳定性与兼容性总是强大很多的。