首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

赛题解析丨2020NOC编程猫创新编程全国决赛精选赛题解析来啦~

上周,赛事喵为大家准备了全国复赛精选赛题解析,这回让我们一起来看看全国决赛的精选赛题解析。即使2020赛季结束了,但是新的挑战也即将到来,加强练习,才能随时迎战。

小学组精选赛题解析

1

如图所示是雷电猴的脚本,雷电猴移动接星星的过程中,参数“移动速度”不会出现的值(  )。(多选题)

选项A:14      选项B:15      选项C:16      选项D:17

正确答案:AB

解析:

此题主要考查函数的返回值、多分支和多种取整方式的区别,用分支的限制条件代入算式就可以得到答案。

变量初始值为0,每次增加2,可知得分的值均为偶数:

当得分=48时,进入第二个条件,48/4=12,返回值为12;

当得分=50时,进入第三个条件,50/3=16.666....,向下舍入后返回值是16;

当得分=52时,进入第三个条件,52/3=17.333…,向下舍入后返回值是17;

由此可见A、B选项是不会出现的,答案是A、B。

2

如果输入的数字是5,输出的结果是________。(填空题)

注:仅填写数字,勿填写汉字或其他字符

正确答案:26

解析:

此题考查递归算法,计算过程如下:

当n=5时,执行“否则”框内的脚本,返回5*f(4)+f(3),其中f(3)=1,f(4)=4*f(3)+f(2)=4*1+1=5,代入最初的算式,即为5*5+1=26,所以最终结果为26。

3

运行下图所示的脚本,角色可能出现在第几象限?(  )。(单选题)

注:角色出现的位置为角色中心点对应的坐标位置

选项A:第一象限或第二象限

选项B:第二象限或第四象限

选项C:第一象限或第三象限

选项D:第二象限或第三象限

正确答案:B

解析:

本题考查坐标与象限的知识。

无论xy取值多少,xy不会相等,(x-y)与(y-x)互为相反数,一定是异号;第二、四象限的横纵坐标为异号,因此答案为B。

4

宇宙中有一种叫“黑洞”的天体,由高密度物质组成,引力极其强大,连光线都无法逃脱。数学中也有一种神奇的“数字黑洞”——123,也叫作西西弗斯数。

任意选取一个自然数,如“1234567890”,该自然数中包含5个偶数、5个奇数、该数是10位数,将统计出的这3个数按照“偶-奇-总”的顺序排列得到一个新数:5510,接着将新数5510按以上规则重复进行,可得到新数:134,又将新数134按以上规则重复进行,最终得到数字123。继续重复以上规则的,得到的数字始终是123,像物质进入黑洞一样再也逃不出去了,因此123叫做数字黑洞。(操作题)

请用编程验证西西弗斯黑洞(123数字黑洞),其规则如下:

请点击下方编辑器进行答题,答题过程中注意点击“保存作品”,完成后点击右侧“退出全屏”按钮,继续回答其他题目。

【程序要求】

注意:请勿误删除预置程序中的原有脚本,未通过程序计算、直接输出最终结果者不得分。

1、点击开始后,输入任意一个自然数,求出这个自然数中所包含的偶数的个数、奇数的个数和这个数的位数;

2、将求出的这3个数按照“偶-奇-总”的顺序排列得到一个新数,并以新建对话框的形式输出得到的新数;

3、对得到的新数重复前面的做法,直到得到的最终数为123,并将最终数以对话的形式显示在舞台上。

解析:

题目要求在点击开始后,输入任意一个自然数,可以使用文字输入输出行使获取一个自然数,然后,将自然数存储到变量中,方便后续调取数据完成“数字黑洞”效果;

获取自然数后,我们会先判断这个自然数是否为“123”,如果这个数字就是“123”,也就是最终数为“123”,那么就可以通过对话的形式将最终数“123”显示在舞台上;

如果自然数不是“123”,我们可以使用字符串积木将自然数进行拆分,然后通过整除条件依次判断每个数字的奇偶数类型,并记录奇偶数的个数;接下来,通过字符串长度积木获取自然数的位数,然后将奇偶数的个数存储到变量中,最后使用字符串拼接积木将获取的这3个数按照“偶-奇-总”的顺序排列就能得到一个新数了,然后以新建对话框的形式输出得到的新数即可;

为了简化脚本,我们可以将“新数获取”部分内容进行封装,通过函数的返回值来重复生成“新数”,实现“数字黑洞”效果。

完整bcm代码文件

https://education.codemao.cn/27/public-edu/1/c04e4b0bd5c94b11ab32e2be0b0515d80668.bcm

(复制链接到浏览器获取bcm文件)

中学组精选赛题解析

1

阅读下面的程序,写出程序运行输出的结果_______。(Python填空题)

注:仅填写数字,勿填写汉字或其他字符

正确答案:27

解析:

本道题目考查函数、分支相关知识。

传入9调用函数func,即n=9,经过判断函数执行到第8行进行整除运算,可得t3为3;n- t3 * 3 得值为0,不等于1,不执行if内语句,来到代码第11行,(n - t3 * 3) // 2即(9-3*3)//2,则t2值为0;(3 **  t3) * (2 ** t2)即(3**3) * (2 ** 0),则函数返回27。

2

已知数字列表中存储了从2到100之内的所有整数,现在要用下图所示的脚本把列表中所有不是质数的数字删除,“?”处缺失的条件可能是

(   )。(多选题)

选项A:m = n    选项B:m≥ n     选项C:m≤ n    选项D:m > n-1

正确答案:ABD

解析:

此题考查的是循环的边界问题(循环在哪里结束)。已知:如果一个数,不能被任何除了1和它本身的正整数整除,那么这个数就是质数。为了找出列表中所有的质数,外层循环是逐一获取2到100之间的所有整数,内层循环判断获取的数字是否是质数,所以m的数值会从2逐渐增大至n-1,如果n一直不能被m整除,则它是质数。所以内层循环中m的数值最大有效值应该为n-1。A.当m增长到和n相等时,内层循环结束。m的最大有效值为n-1。B.当m增长到大于等于n时,内层循环结束。m的最大有效值为n-1。C.当m的数值小于等于n时,内层循环结束。m的最大有效值为2。D.当m的数值大于n-1时,内层循环结束。m的最大有效值为n-1。

3

运行下图所示的脚本,如果输入的边界值是5,输出的结果是__________。(填空题)

注:仅填写数字,勿填写汉字或其他字符

正确答案:15

解析:

此题考查的是多分支、函数返回值和递归算法的结合,当输入的值为5时,执行“否则”框内的脚本,计算过程如下:

当n=5时,返回值为:

[ 5 × f (5-1) ] ÷ 2 ]

= 5 × f (4)÷ 2

= 2.5 × [ 4 × f(3)÷ 2 ]

= 5 × f(3)

= 5 × [ 3 × f(2)÷ 2 ]

= 5 × 1.5 × 2

= 15

4

给定一个正整数 n (0 < n < 1 000 000 000),每个数位上数字均不为 0。正整数n的位数为m,现在从m位中删除k位(0 < k < m),求组成的新整数最小为多少?(操作题)

例如:n = 9128456,k=2,则生成的新整数最小为12456;n = 92415,k=2,则生成的新整数最小为215;n = 2318,k=1,则生成的新整数最小为218;n = 1333,k=3,则生成的新整数最小为1。

【程序要求】

1、控制台分别输入正整数n和删除位数k且有输入提示信息;

2、控制台输出最小新整数;

3、运行时间不能超过3秒。

【参考程序】

解析:

9128456删除2位,删除内容为9、8;92415删除2位,删除内容为9、4;2318删除1位,删除内容为3;我们可以发现删除的元素都是峰后元素,即呈下降趋势的元素;但我们要防止最后一位是峰后元素,要在原数字最后增加一位0,输出结果时去除即可。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210120A03T7U00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券