ChatGPT虽然是在22年11月发布的,但在国内火起来应该是23年2月份,而3月份的青少年机器人考题就出现了ChatGPT,明显这道题是临时加进来的,毕竟ChatGPT太火爆了。我还用ChatGPT给孩子写过一篇作文,结果孩子总是不满意,让ChatGPT反复改了好几稿,居然都没有入人家的法眼,最后还是人家自己写了,但机器人等级考试这4分孩子倒是拿到手了。
下面对3月份的四级理论真题(30道题)进行逐一解析,希望能帮助到考级的孩子们。
一、单选题(80分)
1. Arduino C语言中,前缀0x表示的数制是?
A. 二进制
B. 八进制
C. 十进制
D. 十六进制
解析:二进制前缀0b, 八进制前缀0, 十进制无前缀, 十六进制前缀0x。机器人4级考试一般都有两道左右数制的题目,后面第18题,则是考察数制转换的。
标准答案:D
2. Arduino UNO/Nano主控板,下列选项中,关于A0~A5引脚描述正确的是?
A. 仅用于模拟信号输入
B. 仅用于模拟信号输出
C. 可用于模拟信号输入和输出
D. 可用于数字信号输入和输出以及模拟信号输入
解析:0~13为数字引脚;A0~A5为模拟输入引脚,但同时也可以做数字引脚用;PWM(3、5、6、9、10、11)为模拟输出引脚。
标准答案:D
3. 下列选项中关于break语句和continue语句说法正确的是?
A. 在循环结构中break语句是结束本次循环
B. 在循环结构中continue语句是结束整个循环
C. 在循环结构中break是终止整个程序的运行
D. 在循环结构中break是结束整个循环,continue是结束本次循环
解析:当循环中遇到break语句就立即跳出整个循环,也就是说循环结束了,不再继续后面的循环。而当循环中遇到continue语句,则马上执行下一次循环,而本次循环则不再继续。
标准答案:D
4. Arduino UNO/Nano主控板,电路搭设如下图所示,下列选项中,关于LED控制引脚模式设置正确的是?
4
A. pinMode(6,INPUT);
B. pinMode(6,OUTPUT);
C. pinMode(2,INPUT);
D. pinMode(2,OUTPUT);
解析:黄色引脚为数字引脚,红色是5V引脚,黑色接地,所以要设置黄色数字引脚D6的工作模式,而控制LED需要输出电压,所以工作模式为OUTPUT。
标准答案:B
5. Arduino UNO/Nano主控板,通过引脚3向一个传感器发送一个20微秒的低电平触发信号,如下图所示,下列程序正确的是?
5
A.
A
B.
B
C.
C
D.
D
解析:因为要发送电平,所以工作模式为OUTPUT,A、C排除;delayMicroseconds()是微秒延迟函数,而delay是秒延迟函数,故B也排除。这段其实是超声波的trig引脚触发程序。
标准答案:D
6. Arduino C程序如下,当程序运行时,串口监视器输出结果是?
6
A.0
B.1
C.2
D.3
解析:3和3求余的结果是0,在逻辑判断里,非0为真,0为假,所以执行else分支,打印2。
标准答案:C
7. Arduino C程序如下,当程序运行时,串口监视器输出结果是?
7
A.
A
B.
B
C.
C
D.
D
解析:这类题有个经验,外循环是行数,内循环是列数。外循环1~3,就是三行,排除B、C。接下来看内循环,内循环也是1~3,就是三列。再看打印条件是i%2和j%2同时为真,则打印一个* 。考察的重点是循环、求余、以及逻辑且的判断。
现在看第一行的三列(i为1):
(1) 第1列,j为1:1%2和1%2同时为真,打印*。
(2)第2列, j为2,2%2余数0为假,打印一个空格。
(3) 第3列,j为3,3%2为真,整体为真,打印一个*,第一行打印“* *”,D排除,答案只剩下B。
答案出来后,就不需要再向下计算剩余两行了,毕竟考试时间只有30分钟。
标准答案:B
8. 2022年底,OpenAI发布了新一代聊天机器人模型,推动人工智能应用达到一个新的高度,该模型的名称是?
A. ChatGPT
B. Keras
C. AlphaFold
D. TensorFlow
解析:ChatGPT虽然是在22年11月发布的,但在国内火起来应该是23年2月份,而3月份的青少年机器人考题就出现了ChatGPT,明显这道题是临时加进来的,毕竟ChatGPT太火爆了。我还用ChatGPT给孩子写过一篇作文,结果孩子总是不满意,让ChatGPT反复改了好几稿,居然都没有入人家的法眼,最后还是人家自己写了,但机器人等级考试这4分倒是拿到手了。
标准答案:A
9. Arduino Nano主控板,通过光敏电阻控制LED灯亮度的变化。电路搭设及部分程序如下图所示,当光照强度逐渐增强时,LED的亮度逐渐减弱,此时红框A对应的程序是?
9-1
9-2
A.
A
B.
B
C.
C
D.
D
解析:光敏电阻连接A0引脚,LED连接D6引脚,光越强阻值越小,A0引脚读取的值ldrVal(0~1023)就越大。如果把ldrVal映射为0~255,则灯亮度也越强;如果反转一下映射为255~0,则灯亮度变弱。
标准答案:B
10. Arduino UNO/Nano主控板,通过电位器控制LED灯亮度的变化,部分程序如下,当电位器从一端旋转至另外一端时,LED灯会亮灭几次?
10
A.1
B.2
C.3
D.4
解析:这里没有做map映射,从一端旋转到另一端,potVal的值从0输出到1023。而LED的analogWrite(模拟输出)范围为0~255,可以把1023分为4段,亮灭4次。
比如:potVal=255的时候最亮,256的时候熄灭,重新开始逐渐变亮。
标准答案:D
11. 下列选项中,可用于保存小数的变量类型是?
A. int
B. byte
C. float
D. boolean
解析:int是整型,byte字节型,保存0~255,boolean是布尔型,0或1,而float是浮点型,支持小数。
标准答案:C
12. Arduino UNO/Nano主控板,下列引脚中既具有模拟信号输出功能,又具有数字信号输出功能的是?
A.0
B.6
C.13
D.A0
解析:PWM支持模拟信号输出,PWM引脚有3、5、6、9、10、11,因此答案是B。所有PWM引脚同时也支持数字信号输出。
标准答案:B
13. 下列图示电路中,属于上拉电阻电路的是?
13
A.a
B.b
C.c
D.d
解析:关于上拉电阻电路、下拉电阻电路、内部上拉电阻电路的区分,我做了一个小视频,反响不错,可以在我头条里找到这个视频看一下就明白了。
这道题中:
a:开关断开时,数字引脚D7通过10KΩ电阻和5V相连,这个10KΩ电阻是上拉电阻,这个电路是上拉电阻电路。
b:开关断开时,数字引脚D7通过10KΩ电阻和地相连,这个10KΩ电阻是下拉电阻,这个电路是下拉电阻电路。
c:开关断开时,数字引脚D7即不能连接5V,也不能接地,是一种悬空状态,这是错误的电路。
d:这个更错了,如果开关闭合,就会短路。
标准答案:A
14. Arduino UNO/Nano主控板,读取超声波传感器的返回值,电路搭设和部分程序如下图所示,程序中A/B/C/D分别是?
14
A. 5/4/HIGH/LOW
B. 4/5/HIGH/LOW
C. 5/4/LOW/HIGH
D. 4/5/LOW/HIGH
解析:超声波这段代码不但理论必考,实操也是大概率考到,所有必须数量掌握,只有这6句代码,多练习几遍记牢就行,没有什么是多练习几篇记不住的哦。
左图可以看到触发引脚trig连接D5,信号引脚echo连接D4,代码中字母A指触发引脚,即5,排除B、D。触发的过程是LOW-HIGH_LOW, 代码中字母C是LOW,D是HIGH,排除A,答案是C。
标准答案:C
15. 关于Arduino UNO/Nano主控板的板载LED灯,下列说法错误的是?
A. 该指示灯由13引脚控制
B. 该指示灯的阳极(正极)和13引脚连接
C. 在Arduino C程序中,可以通过“LED_BUILTIN”标识符来控制该指示灯
D. 当串口接收或发送数据是,该指示灯闪烁
解析:Arduino UNO/Nano通过13引脚连接了一个板载LED,通过13引脚控制LED亮灭,开发板上电,这个板载LED都会闪烁,所以D是错误的。
很多人会好奇这个板载LED到底有什么用?其实它用途就是用来测试开发版是否正常的。比如写一段通过13引脚控制板载LED的程序,不需要连接其他设备就可以测试开发板是否正常。
标准答案:D
16. Arduino C语言中,switch ... case语句属于?
A. 顺序结构
B. 循环结构
C. 选择结构
D. 递归结构
解析:顺序、循环、选择是一定要掌握的,递归算法比较复杂,大学数据结构会学到,这里可以不用去掌握。顺序结构就是一行行代码去写,循环常用的有for,while结构,选择常用的有if ...else、switch ... case这样的结构。
标准答案:C
17. Arduino UNO/Nano主控板,电路搭设如下,下列选项中,实现按键开关按下后,LED熄灭的程序段是?
17
A.
A
B.
B
C.
C
D.
D
解析:必考题,一定会有这样的题目,这类题目,首先要分析出来两个细节:
(1) 判断按键的电路模式是什么?如图,这是上拉电路,判断方法可以参考前面的13题,或者看我的电阻视频(又来推荐我的小视频了,哈哈哈),断开时连5V,返回高电平,读取的值为1;按键按下时接地读取值为0,题目是按下按键,所以是0,可以排除B、D。
(2) 判断LED连接5V还是接地?如图LED连接5V,如果输出底电平,形成电压差,LED点亮;如果熄灭LED,则需要信号输出高电平,两端都是5V,形不成电压差, LED就熄灭。因此选A。
标准答案:A、
18. Arduino C程序如下,该程序运行后在串口监视器显示的内容是?
18
A.1110
B.14
C.16
D.E
解析:0开头是八进制,八进制16转十进制为14。
如何将八进制转十进制公式?
公式:将八进制数的每一位按权展开,分别乘以8的幂次方,再将结果相加即可得到十进制数。
计算步骤:
(1)6(最后一位)×1(8的0次方)=6
(2)1(倒数第二位)×8(8的1次方)=8
(3)6+8=14,答案选B。
标准答案:B
19. 当采用5V电压给LED供电时,需要串联限流电阻。下图电路中,蓝色LED的工作电压为3V,电流为10mA,下列选项中,限流电阻最合理的阻值是 ?
19
A. 150Ω
B. 200Ω
C. 300Ω
D. 500Ω
解析:限流电阻和LED串联在一起,会承担一部分电压,这样通过LED的电流就不会过大。
限流电阻的电压为5V-3V=2V,电流0.01A,我们带入公式R=U/I,计算如下:
2/0.01=200Ω
标准答案:B
20. Arduino UNO/Nano主控板,analogRead()函数返回值的范围是 ?
A. 0/1
B. 0 ~ 5
C. 0 ~ 255
D. 0 ~ 1023
解析:妥妥的送分题,考察的是analogRead函数,这是模拟输入函数,返回值0~1023,在前面9、10已经考察过了。
标准答案:D
二、多选题(10分)
21. 下列选项所示表达式,运算结果为真的有?
A. !false
B. false || true
C. false && true
D. 0 != 2
解析:
A. !false,!为非,假求非,结果是真
B. false || true ||是或的关系,有一个真就为真,后面true为真,所以结果为真
C. false && true &&是且的关系,两个条件需要同时为真,前一个不为真,所以结果为假
D. 0 != 2 条件成立,结果为真。
标准答案:A|B|D
22. 有关晶体三极管,下列说法正确的是?
A. 晶体三极管根据构造,可以分为NPN和PNP两种类型
B. 晶体三极管的三个引脚,分别为基极、集电极和发射极
C. 晶体三极管由两个PN结构成
D. 当NPN晶体三极管工作于开关状态,基极输入低电平时,晶体三极管处于截止
解析:晶体三极管涉及的不深入,仅仅是一些基础,这道题目几乎都覆盖到了。
标准答案:A|B|C|D
23. Arduino UNO/Nano主控板,当引脚作为数字引脚使用时,引脚的工作模式有 ?
A. INPUT
B. OUTPUT
C. INPUT_PULLUP
D. INPUT_PULLDOWN
解析:这里有个前提是Arduino UNO/Nano,INPUT输入模式,OUTPUT输出,INPUT_PULLUP内部上拉输入,内部上拉推荐看下小视频,哈哈说第三遍了,我快魔怔了。
Arduino UNO/Nano不支持INPUT_PULLDOWN,但此模式是存在的,只是Arduino UNO/Nano不支持而已,五级会用到。
标准答案:A|B|C
24. Arduino UNO/Nano主控板,下列选项中,可用于永久保存数据的有?
A. Flash
B. EEPROM
C. SRAM
D. 寄存器
解析:这个推荐看我的3月13号的一篇微头条,做了详细的解读。
Flash:我们手机电脑都是用Flash永久存储数据的,电脑的SSD固态硬盘就是使用NAND Flash作为存储介质的。
EEPROM:带电可擦除可编程只读永久存储器,可随机访问、修改任何一个字节,拥有非常高的可靠性与性能,但是电路复杂,成本高。
SRAM:静态随机存储器,用在单片机上,对应你电脑上的内存DRAM,换句话数,你可以简单理解为内存,断电数据就没有了,不能永久保存数据。
寄存器:整合在芯片内部的,又叫缓存,比如最新的英特尔酷睿™ i9 处理器i9-9900,8核16线程16MB缓存,缓存断电后数据就没有了,也不能永久保存数据。
标准答案:A|B
25. 根据是否对输出量进行检测和反馈,控制系统可分为?
A. 开环控制
B. 闭环控制
C. 非线性控制
D. 线性控制
解析:这类题会在多选或判断中出现,考察的是相关的理论基础。
如果可以对输出量检测和反馈的就是闭环,比如我们国家的东风洲际弹道导弹系列,俄的匕首导弹,以及俄乌战场上的明星-海马斯火箭炮,这类制导武器在发射后,其控制系统会根据对目标的偏差,实时修正弹头的姿态。
如果不能对输出量检测和反馈的就是开环控制,比如俄军在战争初期通过直升机发射的S-8系列无制导火箭弹,发