image

编辑人: 舍溪插画

calendar2025-06-08

message1

visits962

第14届蓝桥杯Scratch_选拔赛_初级及中级(STEMA)真题2023年2月12日参考答案

一、单选题

1、运行以下程序(小象仅有两个造型),小象的造型是哪个?(    )

A、

elephant-a

B、

elephant-b

C、

elephant-a和elephant-b中的随机一个造型

D、

无法确定


2、运行以下程序,变量a的值是(    )。

A、

11

B、

13

C、

15

D、

17


3、运行以下程序,没有出现在列表中的数字是(    )。

A 3

B 9

C 14

D 20


4、运行以下程序,小猫和小企鹅谁能到达舞台右侧边缘?(   )

A 小企鹅

B 小猫

C 都能到达

D 都不能到达


5、运行以下程序,输入150时,小狗说出的结果是(    )。

A、

说:“获胜”2秒

B、

说:“失败”2秒

C、

先说:“获胜”2秒,再说:“失败”2秒

D、

先说:“失败”2秒,再说:“获胜”2秒


二、实操题

6、飞翔的小鸟

编程实现:

飞翔的小鸟。

具体要求:

1). 运行程序,角色、背景如图所示;

2). 一直按下键盘上的左键,小鸟面向左侧并持续向左侧水平移动(能看到移动过程);

3). 一直按下键盘上的右键,小鸟面向左侧并持续向右侧水平移动(能看到移动过程)。 

评分标准:

5分:满足“具体要求”中的1);

5分:满足“具体要求”中的1);

5分:满足“具体要求”中的1)。

参考答案:由于题目中未给出具体的编程语言,我将以Python的pygame库为例,提供一个简单的实现方案。```pythonimport pygameimport sys# 初始化pygamepygame.init()# 设置窗口大小win_width, win_height = 640, 480screen = pygame.display.set_mode((win_width, win_height))# 设置颜色WHITE = (255, 255, 255)# 加载图片bird_img = pygame.image.load('bird.png')# 设置小鸟的位置和速度bird_x = win_width // 2bird_y = win_height - 50bird_speed = 5# 设置小鸟的方向bird_dir = 0# 游戏主循环running = Truewhile running:# 处理事件for event in pygame.event.get():if event.type == pygame.QUIT:running = Falseelif event.type == pygame.KEYDOWN:if event.key == pygame.K_LEFT:bird_dir = -1elif event.key == pygame.K_RIGHT:bird_dir = 1# 更新小鸟的位置bird_x += bird_speed * bird_dir# 绘制小鸟screen.fill(WHITE)screen.blit(bird_img, (bird_x, bird_y))# 更新屏幕pygame.display.flip()# 退出pygamepygame.quit()sys.exit()```


7、变大的河豚

编程实现:

变大的河豚。

具体要求:

1). 点击绿旗,角色、背景如图所示;

2). 等待1秒,河豚身体逐渐变大(能看到变大过程);

3). 当河豚的身体碰到舞台任意边缘时程序结束。

评分标准:

4分:满足“具体要求“中的1);

7分:满足“具体要求“中的2);

7分:满足“具体要求“中的3)。

参考答案:由于题目没有提供具体的编程语言,我将以Scratch作为示例进行编程。1. 首先,在角色库中拖入河豚角色,并设置其初始大小。2. 在河豚角色的脚本中,添加“当绿旗被点击”的事件,使其执行等待1秒的命令。3. 接下来,添加“重复直到碰到边缘”的循环结构。在循环体内,使用“改变大小”的指令,使河豚的身体逐渐变大,同时更新河豚的大小显示。4. 当河豚碰到舞台边缘时,循环结束,程序结束。


8、小蜘蛛结网

编程实现:

小蜘蛛结网。

具体要求:

1). 点击绿旗,角色、背景如图所示;

2). 等待1秒,小蜘蛛结出蜘蛛网(要求能看到蜘蛛结网的过程,如下图所示);

3). 小蜘蛛完成结网后停在蜘蛛网中心位置。

参考答案:根据题目要求,我们可以使用Scratch编程软件来实现小蜘蛛结网的过程。1. 首先,我们需要创建一个小蜘蛛角色和一个背景。在角色库中,我们可以找到蜘蛛的形象,并将其拖入到角色面板中。对于背景,我们可以使用一张蜘蛛网的图片,并将其设置为舞台背景。2. 然后,我们需要给小蜘蛛添加结网的动作。可以使用Scratch中的“克隆自己”功能,创建多个小蜘蛛的克隆体,并在一定的时间内,让这些小蜘蛛克隆体从舞台的四个角落向中心移动,形成蜘蛛网。3. 最后,我们需要在小蜘蛛完成结网后,让它停在蜘蛛网的中心位置。可以通过在“当绿旗被点击”的事件下,添加一个“等待1秒”的等待时间,然后让小蜘蛛移动到蜘蛛网的中心位置。


9、王子与骑士。

具体要求:

1). 运行程序,王子出现在舞台左侧,克隆 6 名骑士,排成 2 行 3 列的队伍;

2).用鼠标左键点击一名骑士,被点击的骑士大小增加 20,并说出自己在第几行,第几列2秒,之后骑士恢复原来大小,如下图,左下角第一个骑士在第1行第1列;

3). 用鼠标左键点击一次王子,出现询问框,王子说:“请输入指令”;

4). 当输入“前进”指令,从第1行第1列骑士到第2行第3列骑士依次水平向左移动,当到达舞台左边缘后消失(骑士需从王子身后通过);

5). 当输入“集合”指令,骑士恢复初始呈现效果,程序结束(程序结束后,骑士不消失仍然保持初始呈现效果)。

参考答案:根据题目要求,需要使用图形界面库或游戏开发引擎来实现这个模拟场景。1. 创建一个舞台,并在左侧放置王子角色。2. 克隆6名骑士,并将它们排成2行3列的队伍。3. 编写事件监听器,当鼠标左键点击骑士时,增加其大小20,并播放语音提示其所在位置,然后恢复其原始大小。4. 编写事件监听器,当鼠标左键点击王子时,显示输入框,王子说出“请输入指令”。5. 当用户输入“前进”指令时,从第1行第1列骑士到第2行第3列骑士依次水平向左移动,当到达舞台左边缘后消失。6. 当用户输入“集合”指令时,骑士恢复初始呈现效果,程序结束。


10、小猫小狗玩数学

题目要求

编程实现:

小猫出算式题,玩家输入算式结果,小狗能够判断算式结果是否正确。

具体要求:

1). 运行程序,角色、背景如图所示(变量:“答对题数”初始值0);

2). 小猫说出3个数字(3个数字均是0-10之间的随机数,数字间使用逗号隔开);

3). 小猫说出2个符号(2个符号的四种可能情况:“+,-”、“-,+”、“+,+”、“-,-”符号间使用逗号隔开);

4). 小猫将之前的3个数字和2个符号组成算式并询问;

例如:3个随机数字“7,9,4”与2个随机符号“-,-”组合成的算式:7 - 9 - 4 = ?

5). 玩家输入的结果为正确时,小狗说:“回答正确”,答对题数+1;玩家输入的结果为错误时,小狗说:“回答错误”,答对题数不变;

6). 小猫共出3道题,小狗完成3道题的判断后,说出玩家答对的题目数,程序结束。

参考答案:【编程实现思路】:1. 首先,需要定义小猫、小狗和玩家的角色,以及他们的交互方式。2. 然后,小猫随机生成3个数字,以及2个符号,组成算式,并询问玩家答案。3. 玩家输入答案后,小狗判断答案是否正确,如果正确,答对题数加1,如果错误,答对题数不变。4. 小猫继续出下一道算式题,直到出完3道题。5. 最后,小狗统计答对题数,并告诉玩家答对了几道题。【编程实现代码】:由于题目没有指定编程语言,这里以Python为例,给出实现代码的大致框架:```pythonimport randomclass Cat:def __init__(self):self.correct_count = 0def generate_question(self):nums = [random.randint(0, 10) for _ in range(3)]ops = random.choice([['+', '+'], ['+', '-'], ['-', '+'], ['-', '-']])num1, num2, op1, op2 = nums[0], nums[1], ops[0], ops[1]num3 = nums[2] if len(nums) > 2 else 0question = f"num1 op1 num2 op2 num3 = ?"return questiondef judge_answer(self, answer):correct = eval(f"num1 op1 num2 op2 num3") == answerif correct:self.correct_count += 1return correctclass Dog:def __init__(self):self.cat = Cat()def play_game(self):for i in range(3):question = self.cat.generate_question()answer = input(question)self.cat.judge_answer(answer)print("回答正确" if self.cat.judge_answer(answer) else "回答错误")print(f"答对了self.cat.correct_count道题")class Player:def __init__(self):self.dog = Dog()def start_game(self):self.dog.play_game()player = Player()player.start_game()```


喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:第14届蓝桥杯Scratch_选拔赛_初级及中级(STEMA)真题2023年2月12日参考答案

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share