温馨提示 : 图片点击可放大噢!
判断题01考察点:变量
解析:答案是A,正确。
新建变量时,勾选仅适用于当前角色是指在本角色内定义的变量,只在本角色程序范围内使用有效;勾选适用与所有角色是指此变量既可以在本角色范围内使用,又可以在本程序的任何地方使用。所以,答案是A。
注意:注意区分全局变量与局部变量。
0 21. 本题与第一题为同类题目,答案是B,错误。解析详见第一题。
0 3考察点:二进制与十进制
解析:答案是B,错误。
十进制是逢十进一,0到9后,该“十”了,要进一,十位为1,个位为0;
二进制是逢二进一,0到1后,该“二”了,要进一,写作10,为十进制中的2,二进制数字顺序:0,1,10,11,100,101,110,111,1000;
(110110)2=(54)10,二进制转十进制
方法一:将二进制110110从左到右依次反过来是011011,然后再用二进制的每个数去乘以2的相应次方并递增0*20+1*21+1*22+0*23+1*24+1*25=0+2+4+0+16+32=54
方法二:把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为"按权相加"法。即:
27 26 25 24 23 22 21 20
128 64 32 16 8 4 2 1
1 | 1 | 0 | 1 | 1 | 0 |
110110=32+16+4+2=54
注意:二进制是用0和1两个数码来表示的数,它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。在次要特别注意区分二进制转十进制与十进制转二进制的方法
0 4考察点:找规律、细节观察,斐波那契数列的认识
解析:答案是A,正确。
方法一:找规律,我们仔细观察分析可找到数列的前两项相加之和就是后一项,0+1=1,1+1=2,1+2=3,2+3=5......21+34=55,即可得出答案。
方法二:套用斐波那契数列f(0)=0,f(1)=1,f(2)=1,f(3)=2......f(n) 其中n>=3,直接套入通项公式:f(n)=f(n-1)+f(n-2)=>f(10)=f(10-1)+f(10-2)=34+21=55.
注意:牢记斐波那契数列的通项公式与求和公式,遇到此类找规律的试题时,才能游刃有余。
拓展:斐波那契数列求和公式:Sn=A(n+2)-A2
0 5考察点:图形化运算规律
解析:答案是B,错误。
图形化运算模块里面先运算每一个小积木块里面的加减乘除,相当于是一个小括号,再计算外面嵌套的加减乘除,即由里到外的运算顺序,题目中先运算4+8=12,再运算120*12=1440而非488。
注意:区分数学里面的先加减后乘除、先算括号里面的这些规则,再图形化编程里面,永远是单个完整模块优先级最高。类似的题目本次市赛还有判断题第6,填空题第2、3都是考察此类知识点的。
0 6考察点:图形化运算规律
解析:答案是A,正确。
先算24+129=153,再算153/3=51。
注意:详见判断题第5题解析。
0 7考察点:十进制转换为二进制。
解析:答案是B,错误。
方法一:用2整除的方式
如下图所示:
注意:除2取余时候数据取准确,直到除尽,在自下而上、从左往右整理0和1的数据。
0 8考察点:图形化四大分区
解析:答案是B,错误。
图中标红区域是脚本编辑区,而非积木区。积木去是存放各个变成模块的地方,又称之为命令区。
注意:图形化编程平台可大致分为四大分区,分别是舞台区、角色背景区、脚本编辑区、积木区。
0 9考察点:图形化编程基础常识。
解析:答案是B,错误。
这个积木是妙小程中的积木,与scratch积木的分类一致。
“当克隆体启动时”是控制角色做事情的命令,所以应该在“控制”标签区中找到,比如控制程序重复执行、控制程序选择判断、控制程序克隆操作等;而事件标签就是判断某个事件发生的状态,比如当角色被点击、当绿旗被点击、当接收到广播等。
注意:每个标签区的名称,表示的也就是该标签区下的所有积木命令的总称。
注意:编程猫中,克隆在事件中
10考察点:图章、克隆。
解析:答案是B,错误。
图章可比做是盖章,盖在哪里,角色就会被原模原样第呈现在哪里,图章只是复制了角色本体,不受角色外观变化的影响,既不包含脚本,也不能移动;
当克隆发生的那一刻,克隆体会继承原角色的所有状态,包括当前位置、方向、造型、效果属性等等,不同时刻克隆出来的“克隆体”,它们定格的动作和方向都是不同的。
注意:区分图章与克隆都是复制角色,但是前者复制角色原本的样子,后者复制角色某一时刻的所有状态。
填空题01考察点:画笔
解析:答案是8;120。
从中心点看起,画笔落笔移动30步后,会改变度数,如下图所示,然后再增加30步,也就是边长是60步,除第一次外,每个边长都是等长的,推测出大致轮廓是等边三角形,即个角60度,旋转的角度与60度互补,即180-60=120度,所以第二个空应该填写120。读图1程序可知,每次循环,画笔都执行一次左转,观察图2,一共执行了8次左转,所以第一个空填8。
0 2
考察点:图形化运算规律。
解析:答案是17。
先算37对取余7是2,再算7*2=14,最后算14+3=17,详细运算规律请见判断题第5题。
注意:多个运算嵌套,先找到完整的一个运算模块,然后从里到外依次计算,切忌陷入数学运算法则陷阱。
考都只占一个字符,“编程,我学习了3年啦!”从左向右数,第八位是“3”;连接3和3*5最终的结果就是315。
注意:数字符的时候从左向右数;连接a和b运行出来的效果就是ab。切忌乱加符号。
0 3考察点:字符
解析:答案是315。
在图形化里,没个汉子、符号都只占一个字符,“编程,我学习了3年啦!”从左向右数,第八位是“3”;连接3和3*5最终的结果就是315。
注意:数字符的时候从左向右数;连接a和b运行出来的效果就是ab。切忌乱加符号。
0 4考察点:闰年的计算
解析:答案是4
普通闰年:公历年份是4的倍数的,且不是100的倍数,为普通闰年;世纪闰年:公历年份是整百数的,必须是400的倍数才是世纪闰年,换成编程语言就是:凡是满足年数对4取余为0或者年数对400取余为0的年份都是闰年,否则是平年。
注意:闰年的判断,四年一闰,百年不闰,四百年再闰。
0 5考察点:十进制转换为二进制。
解析:答案是10110
见下图:
详见判断题第7题解析。
0 6考察点:取余、条件非。
解析:答案是0。
本题的判断条件是:输入数字对5取余=0,
第一种判断方法:输入数字对5取余,若为0,说明是5的倍数,否则不是5的倍数。
第二种判断方法:判断条件非,也就是输入数字对5取余=0不成立,那就不是5的倍数,否则是5的倍数。
注意:条件非的运用与正常条件判断的区别,两者刚好相反。
0 7考察点:计时器、等待时间、向上取整、克隆。
解析:答案是4.
当程序开始后,计时器开始运行,计时器精确到小数点后三位,程序是一块一块积木执行的,要求每块积木执行的时间不可忽略,就需要考虑到程序运行到重复执行时候,计时器的时间比3秒稍微大了一点点,让计时器向上取整,那么只要是三秒多一点点,数字也都会向前进一位,即4。
注意:本题隐藏、克隆体显示、克隆体是否移到其他位置。
0 8考察点:字符。
解析:答案是0。
“连接a和b”运行的结果是ab,那么程序运行“连接a和b”的结果是“2020年10月1日”,程序要求说出第七个字符,我们从左向右数第7为是0。
注意:参考填空题第3题。
0 9考察点:奇数、列表、变量。
解析:答案是2。
所有的数字非奇即偶,用“数字”变量遍历1-100之间的数,用“奇数列表”存放奇数,程序总执行100次,每执行一次,程序遍历一个数,判断该数字不能被2整除的都是奇数,再将奇数存放在“奇数列表”中即可。
注意:判定奇数、偶数的标准就是能否被2整除。
10考察点:奇数、列表、变量。
解析:答案是2。
所有的数字非奇即偶,用“数字”变量遍历1-100之间的数,用“奇数列表”存放奇数,程序总执行100次,每执行一次,程序遍历一个数,判断该数字不能被2整除的都是奇数,再将奇数存放在“奇数列表”中即可。
注意:判定奇数、偶数的标准就是能否被2整除。
公开程序题0 14第一题:
题目解析:
对本题提取编程要素:绘制一个病毒角色和一个抗疫物品角色,病毒克隆自己,随机位置、随机方向、移动;抗疫物品跟着鼠标移动,病毒碰到抗议物品后删除此克隆体,用计数变量记录删除克隆体的数量。
编程参考思路:
1. 绘制病毒角色,抗议物品这里我以绘制一个针管角色为例
2. 在针管角色里,只需要编写重复执行移到鼠标指针的程序即可
3. 在病毒角色里,病毒本体需要隐藏,其初始位置不用管,之后需要“重复执行克隆自己”,在这里不要忘了加一个等待时间,“当克隆体启动时”需要明确让克隆体“移到随机位置”后,再“面向0-360度的随机方向”显示,之后“重复执行”移动几步即可。
4. 设置一个名为“计数”的变量,在程序的一开始就将“计数”变量初始为0,之后需要在病毒角色的“当克隆体启动时”程序里面,重复判断是否碰到“针管”角色,即如果“碰到针管”,那么将“计数”变量增加1,之后立马删除此克隆体
考查知识点:
克隆、变量、绘制角色、随机数
注意事项:
题目交代了编程的背景是关于抗击新冠病毒的程序,故绘制病毒与抗疫物品角色时,应该尽量绘制出病毒的丑陋形态、抗疫物品的美观大方。克隆的角色不仅是要移到随机位置,而且还要面向随机方向移动的,这样才能满足题目要求的无固定路线移动。
题目拓展:
可以在满足程序要求的基础上,在克隆角色的时候加一个等待时间,在克隆体移动的时候加一个“碰到边缘就反弹”,选择一个合适的程序背景、音乐,让程序更加完美。
02第二题:
题目解析
计算小球下落距离,接下来以动画的形式给大家解读题目的意思:
见附录1
列表里面的数据:
100
100
50
25
12.5
6.25
3.125
1.5625
0.78125
0.390625
考察知识点:
本题是典型的算法题:
1.递推、遍历的综合运用。
递推算法是指从已知的初始条件出发,依据某种递推关系,逐次推出所要求的各中间结果及最后结果,本题是重复地计算,小球弹起的高度为上一次的高度/2
遍历算法是对列表中的每一项依次访问的方法,本题是用变量依次记录列表中的每一项的值。
2.列表、变量、运算的综合使用
参考思路:
本道题除了第一次小球落地距离,剩下的九次小球落地的距离为,n-1次小球的距离+小球弹起的高度*2,具体程序操作是先把第一次落地高度加入列表,再把剩下的九次,每次小球弹起、落地的一个来回高度加入列表,最后,遍历列表中的十组数据,定义一个变量i,初始为0,用于记录列表中遍历的项数,每遍历一项,i的值增加1,取列表中的第i项,直到i的值等于10,列表中的数据也就相加完了,相加之和就是小球十次落地的总距离(299.609375米);而第十次反弹的高度就是列表里面的第十项(0.390625)对应的数据的一半(0.1953125米),换句话说也就是小球第九次弹起落地的总距离的一半。
视频详解:
小鬼爱编程,未来大不同