2021年06月Python四级理论答案及解析.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

一、单选题

1、对自然数1至n求和,如果将递推式f(n)=f(n-

1)+n(n1)转化成递归函数,则递归出口是?

A、f(1)=1

B、f(1)=0

C、f(0)=1

D、f(0)=0

解析:【喵呜刷题小喵解析】:根据题目中的递推式f(n)=f(n-

1)+n,我们可以得出这是一个从f(1)开始,逐步计算f(2)、f(3)、...、f(n)的过程。在

这个递推式中,每一项的值都依赖于前一项的值和当前的项数n。当n=1时,f(1)是

递推式的第一个项,不需要依赖其他项的值,因此f(1)是递归的出口。所以,选项

A

f(1)=1是正确的。选项B、C、D中的f(0)在递推式中并没有定义,因此不是正确的

递归出口。

2、对比两个求等差数列1+2+…+n的和的程序,其算法效率?

A、程序1比程序2高

B、程序2比程序1高

C、一样高

D、不能判断

解析:【喵呜刷题小喵解析】:对于求等差数列1+2+…+n的和,程序1和程序2的

算法效率可以通过比较它们的时间复杂度来判断。程序1可能是一个直接计算等差

数列和的公式,即S=

n(n+1)/2。这个公式的时间复杂度是O(1),因为它只进行了一次计算,不随n的增大

而增大。程序2可能是一个循环结构,逐个累加数列中的项。这个算法的时间复杂

度是O(n),因为它需要循环n次。因此,程序1的算法效率比程序2高。所以,正确

答案是A。

3、若以下程序段的运行结果为“##*”,则空格(1)、(2)处填写结果不可能为?

A、3,8

B、3,7

C、9,14

D、1,6

解析:【喵呜刷题小喵解析】:根据题目中的图片,空格(1)和空格(2)分别对

应A、B、C、D四个选项。由于程序段的运行结果为“##*”,我们可以推断出空格

(1)和空格(2)处的值应该满足某种条件,使得程序能够输出“##*”。首先,观

察A选项,如果空格(1)处填写“3”,空格(2)处填写“8”,则A选项的值为“3,8”

,符合题目要求。接着,观察B选项,如果空格(1)处填写“3”,空格(2)处填

写“7”,则B选项的值为“3,7”。此时,我们可以发现,B选项的值并不满足题目要求

,因为“3,7”无法使程序输出“##*”。然后,观察C选项,如果空格(1)处填写“9”

,空格(2)处填写“14”,则C选项的值为“9,14”,符合题目要求。最后,观察D选

项,如果空格(1)处填写“1”,空格(2)处填写“6”,则D选项的值为“1,6”,符合

题目要求。综上所述,只有B选项的值“3,7”无法使程序输出“##*”,因此,空格(1

)和空格(2)处填写结果不可能为B选项。

4、有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后

每个月又生一对兔子。假如兔子都不死,要求输出一年内兔子的数量是多少。如果

采用递归算法来编程,则核心的递归逻辑应该是?

A、f(n)=n*f(n-1)

B、f(n)=f(n-1)+n

C、f(n)=f(n-1)+f(n-2)

D、f(n)=f(n-1)+(n-1)f(n-2)

解析:【喵呜刷题小喵解析】根据题目描述,每个月都会有一对兔子出生,而每对

兔子在出生后第3个月开始每个月又生一对兔子。所以,我们可以得到这样的规律

:*

第一个月初有一对兔子,第二个月初有一对兔子,第三个月初有一对兔子,第三个

月底又有一对兔子出生。*

第四个月初有一对兔子,第四个月底又有两对兔子出生。*

第五个月初有三对兔子,第五个月底又有三对兔子出生。*

以此类推。所以,我们可以得到递推公式:f(n)=f(n-1)+f(n-

2),其中n表示月份数,f(n)表示第n个月的兔子总数。因此,核心的递归逻辑应该

是f(n)=f(n-1)+f(n-2)。所以正确答案是C。

5、下列程序使用了哪种算法?

A、递推

B、递归

C、排序

D、分治

解析:【喵呜刷题小喵解析】:从图片中我们可以看到,程序似乎使用了递归的算

法。递归算法是一种解决问题的算法,它将问题分解为更小、更简单的子问题,直

到这些子问题可以直接解决,然后逐步返回结果,最终得到原问题的解。在这个程

序中,函数被调用了自身,这是递归的一个明显标志,因此答案是递归(B)。

6、以下几项关于函数的说法,错误的是?

A、函数是一段具有特定功能的语句组

B、调用函数时,参数传入的顺序必须与定义时保持一致

C、在一个程序中,函数的定

文档评论(0)

喵呜刷题 + 关注
实名认证
文档贡献者

来喵呜刷题,完成你的职业蜕变!

1亿VIP精品文档

相关文档