题库首页 › 青少年软件编程(机器人) › 题目 14265

Arduino UNO/Nano主控板,下图程序模块控制板载LED灯闪烁2次,程序中变量val的值是?( )

Arduino UNO/Nano主控板,下图程序模块控制板载 题目配图
A:2
B:3
C:-2
D:-3

正确答案:D

答案解析

题目说“初始化:使用 1 从 6 到 2 步长为 [ ] val”。
通常这是类似“for i from 6 to 2 step val”的结构,并且要使 LED 闪烁 2 次。
LED 闪烁一次是指:高 → 延时 → 低 → 延时,这是循环体。
循环次数要控制闪烁 2 次,则循环总共执行 2 次。
循环结构分析
起点 = 6,终点 = 2,步长 = val。
循环次数 = (终点 - 起点) / val + 1,并且要保证实际走 2 次。
我们设步长为负(因为从 6 到 2 是递减)。
假设步长 = -4:
i 从 6 到 2,步长 -4:
第一次 i = 6
第二次 i = 2 (6 + (-4) = 2,到达终点或越过终点但最后一次执行吗?注意 for 循环到 i=2 时会执行,再下一步 i=-2 超出范围停止。)
验证:6 → 2(这两次都在 6 到 2 范围内),共 2 次。
这样闪烁就是 2 次。
所以 val = -4?选项里没有 -4。
检查选项: A:2 B:3 C:-2 D:-3
如果是 2(正步长),从 6 到 2 是递减,正步长不会执行(除非循环允许反向)。Arduino 图形化编程里,“从 6 到 2 步长 2”可能不会执行(如果步长>0 且起点>终点)。所以一定是负的步长。
步长 -2:
i 从 6 开始:6, 4, 2 → 3 次循环,闪烁 3 次,不符合。
步长 -3:
i 从 6 开始:6, 3(此时已经越过 2 吗? 6→3,下次 3+(-3)=0,其实循环会在 i=6 时执行,i=3 时大于等于 2(因为到 2 才停),所以 i=3 会执行,i=0 不执行) → 实际循环 6 和 3 两次,i=3 时已经大于等于 2(终点是 2,步长-3,判断条件可能是 i>=2 继续循环),所以当 i=3>=2 成立,执行;然后 i=0<2,停止。
所以步长 -3:i=6 和 i=3 两次,正确。
步长 -4:i=6 和 i=2(i=2>=2 成立,执行),也是 2 次。但选项没有 -4,只有 -3。
所以可能这里的循环判断条件是 i >= 2(含等于),步长-3 时:
i=6 (>=2) 执行
i=3 (>=2) 执行
i=0 (<2) 停止
共 2 次,符合。
选项 D: -3

试卷来源:202506 青少年等级考试机器人理论真题三级

本卷相关题目

在线做题 同科目题库