A50663. 用递归实现加法计算。要求从1+2+3+4+5+6+….+N, N为10,得数是多少?
填空题
困难
知识点
题目描述
用递归实现加法计算。要求从1+2+3+4+5+6+….+N, N为10,得数是多少?
参考答案
答案见编程解析
注:
1.递归是一种很有意思的程序。一个函数中可以调用函数本身,这就是递归。
递归需要有明确的边界,到达边界以后,这个递归就结束调用、返回结果,否则就进入“死循环”了。
递归的功能和循环类似,但多数时候递归的性能并不好,有很多额外的开销,
但在一些情况下,能够让代码变得更为简洁,但通常没有循环那么直观。
2.因为Scratch四级是最后一个级别的考试,递归肯定是会被考察到。
题库肯定要“嘚瑟一下”,表示Scratch中也是编写递归程序的。
但多为选择题或判断题,通过阅读递归程序,了解计算结果。
编程题中是不大可能要求使用递归实现的,
因为这个级别的考试中,递归基本上都可以转化成循环来实现。答案解析
计时器也是考试内容之一。因此这里使用计时器,记录程序的运行时间。
开始的时候,将数字n设置为10,加总的得数为0,然后加总计算,10次。做完以后,显示时间。这里的加总计算是一个“自制积木”,就是Scratch中的函数。
这是递归的关键。函数很简单,只有一个输入参数“数字n”,然后判断如果数字n大于0,就加总到得数中。做完后,数字n减去1,然后再调用积木自身。这就构成了递归了。
第一次数字为10,加入到得数中,然后传递9到这个函数中,9也会被加入到结果中,依次类推,到1进入函数的时候,还是满足条件,还是会被加总到总数中。然后减掉1,即为零,不满足条件,后面的就不执行了。因此10+9+8+7+…+2+1 =55



上一题
下一题