第十五届蓝桥杯图形化省赛题目及解析

2024-09-06 04:12

本文主要是介绍第十五届蓝桥杯图形化省赛题目及解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第十五届蓝桥杯图形化省赛题目及解析

一. 单选题

1. 运行以下程序,角色会说( )?

A、29    

B、31    

C、33    

D、35

正确答案:C

答案解析:

重复执行直到m>n不成立,即重复执行直到m<=n。所有当m小于或者 等于n时,循环结束。循环过程中变量m与变量n的变化如下表:

通过上述表格可知,循环到第五次循环结束。m的值为14,n的值为19。说【m+n】,即14+19,结果为33。答案为C选项。

2. 运行下列哪个程序后,宇航员会向左上方移动?()

A.

图片

 B.

图片

C.

图片

 D.

图片

正确答案:B

答案解析:

通过选项我们可知,角色移动方式为改变xy坐标。若想让角色朝左上方移动,则x坐标需要减小,y坐标增加。所以x坐标需要增加负数,y坐标增加正数。为B选项。

3. 运行以下程序,角色不可能说()?

图片

A. 5       B. 6       C. 14      D. 15

正确答案:A

答案解析:

由题目可知随机数范围在1~10之间。说的数字为随机数增加5,说以说出的数字范围是6~15之间。A选项5不在该区间,故选A选项。

4.运行以下程序,舞台上最多能看到几只蜜蜂?(  )?

图片

图片

A. 10      

B. 11       

C. 20     

D. 21

正确答案:B

答案解析:

重复执行10次则移动到随机位置克隆出10只蜜蜂,最后一只蜜蜂克隆体与本体刚开始是重合的,此时最多能看到10只蜜蜂。当作为克隆体启动时,移动50步,本体与最后一个克隆体不再重合,此时最多能看到11只蜜蜂。执行图章程序,图章与克隆体重合,故最多看到11只蜜蜂,选择B选项。

5.已有列表"数据”如下图所示,运行以下程序后,Sum 的值为( )。

图片

图片

A. 222       B. 109       C. 57      D. 50

正确答案:D

答案解析:

依次删除列表第3、4、5项,需要注意删除第3项后,原本的第4项变为了第3项。所以再删除第4项时,会将最初的第5项删除。再删除第5项时,会将原本的第7项删除,所以重复执行时列表为[123, 25, 84, 25, 15]。重复执行时,i的初始值为2。每次重复执行,将第i项增加到变量m中,i的值每次增加2,所以是将第2、第4项求和。就是将25和25相加。和为50,故选D选项。

二、编程题

1. 八戒落地

1)点击绿旗,猪八戒在空中踩着一朵云,如图所示:

图片

2)1秒后,猪八戒踩着云向地面移动,如图所示:

图片

3)猪八戒到达地面任意位置后停止移动,并且云朵消失,如图所示。

图片

得分细则:

2 分:满足具体要求中的 1;

9 分:满足具体要求中的 2;

9 分:满足具体要求中的 3;

参考程序:

图片

考查知识点:

本题难度较低主要考察角色的移动和造型的切换。

2. 游乐场

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

图片

  1. 如果当前摩天轮是静止的,按下一次键盘空格键后,摩天轮开始顺时针持续转动

  2.  如果当前摩天轮是转动的,按下一次键盘空格键后,摩天轮停止转动

  3. 重复执行具体要求 2. 3。

得分细则:

2 分:满足具体要求中的 1;

13 分:满足具体要求中的 2;

15 分:满足具体要求中的 3,

10 分:满足具体要求中的 4;

参考程序:

图片

考查知识点:

本题主要考察变量的使用,需要使用一个变量记录转动状态,通过转动状态的判断,根据不同状态设置角色转动的速度。

3.画西瓜

1. 点击绿旗,在盘子上瞬间画出一个绿色半圆环,如图所示。

图片

2. 然后,在绿色半圆环的内部画出一个白色半圆环(能看到绘制过程),如图所示:

图片

3. 然后,在白色半圆环的内部画出西瓜瓤(西瓜瓤为红色实心半圆,能看到绘过程),如图所示:

图片

4. 然后,在西瓜瓤内,瞬间画出5行排列整的西瓜籽(西瓜籽为黑色小圆点),西瓜籽的数量及排列方式如图所示:

图片

5. 1秒后,西瓜被吃掉,西瓜籽被放在盘子里(西瓜籽数量不少于3粒),程序结束,如图所示。

图片

得分细则:

6 分:满足“具体要求"中的 1)

6 分:满足"具体要求"中的 2)

6 分:满足“具体要球”中的 3)

20 分:满足“具体要求"中的 4)

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

参考程序:

图片

图片

图片

图片

图片

考查知识点:

本题主要考察画笔与自定义代码块知识点

图片

定义自制积木时,勾选运行时不刷新屏幕则看不到绘制过程,根据题意自制积木。

绘制半圆需要转180度,如果循环180次那么每次转一度。移动的距离是圆的周长的一半,也就是πr(周长是2πr,一半是πr)。所有可以通过半径计算出需要走的步数,重复执行180次,则每次移动的距离就是πr/180。每次减小半径,移动到相对位置绘制半圆即可。

西瓜籽的绘制需要使用到循环嵌套,外循环控制行数,内循环控制每行的西瓜籽个数,因为西瓜籽每行减少一个,所以需要一个变量控制没循环每轮循环次数减少1。

其中无论是绘制半圆还是西瓜籽,移动的坐标位置都需要通过数学方法计算出来,所以我们在初始化起始位置、设置半径、西瓜籽距离时尽量都为整数,方便计算。

当然不知道周长计算公式,通过尝试不同步数也是能够将题目完成的,使用周长公式能够节约一些时间。

4. 消除数字球

用鼠标点击任意两个小球,若点击的两个小球上的数字之和为 6,则这两个小球消除,如果没有可以消除的小球,那么游戏结束。

  1. 点击绿旗,变量“时长”为 0,在舞台的随机位置,瞬间呈现6个随机数字的小球,如图1所示:

    图片

  2. 所有球不能碰到舞台边缘,且球之间不能接触!

  3. 全部小球呈现后,“时长"开始每隔 1秒增加 1:

  4. 点击任意两个小球,被点击的小球出现白色边框(表示选中状态),如图所示:

    图片

例如:鼠标分别点击舞台下方的数字为4和5的小球。

5. 如果选中的两个小球上的数字之和不等于 6,则两个小球的自色边框在 0.2 秒后消失,如图所示:

图片

6.如果选中的两个小球上的数字之和等于 6,则这两个小球在 0.2 秒后消失:重复执行“具体要求”4). 5). 6),如果小球已经全部消除或者已经没有可以消除的小球,“时长"不再变化,2 秒后程序结束。

评分细则:

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

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

2 分:满足"具体要求"中的 3);

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

18 分:满足“具体要求"中的 5);

18 分:满足“具体要求"中的 6):18 分:满足“具体要求"中的 7)。

参考代码:

图片

数字球中判断碰到数字球,可以新建一个角色,然后拖入碰到数字球,将该代码块再拖入到数字球角色即可。碰到数字球不成立,碰到边缘不成立,则不会有重叠和碰到边缘的情况。

小球数字用于保存每轮第一次点击的数字,所以需要初始化为0,开始时先检查是否能够组成数字六。结束变量等于2,则结束程序。

图片

克隆出小球,先将数字保存到列表中,循环判断编号是否大于5,大于5代表被点击了。如果组合为6,即状态为正确,删除克隆体,删除列表中数字,这里只要删除相同数字即可,不用管是否对应。比如列表中有两个1,删除第一个即可。如果状态是错误,则只需要将造型改回去。

注意变量的初始化,状态和数字小球都要初始化。

图片

当角色被点击,克隆体也会执行,如果小球数字是0,代表本轮第一次点击,只需要切换造型,保存小球数字。

否则是第二次点击,需要判断和第一次点击的和是不是6,如果是6则正确,并且检查是否还能配对。

图片

    循环嵌套两两组队,判断是否能够组成6,一开始将结束设为1,假设已经不存在。循环中如果存在,将结束设为0,不能结束。循环结束后判断如果是1,代码不存在能够组成6的小球。则将结束设为2。

图片

考查知识点:

    本题考查比较全面,难度较大,需要对克隆体的各种操作比较熟悉,同时涉及到列表和变量的使用。使用变量记录小球数字和结束状态,使用列表记录小球数字。并嵌套循环遍历列表,两两组队是否能够组成6。

↓ 更多真题点 击 关 注查看 ↓

这篇关于第十五届蓝桥杯图形化省赛题目及解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1140961

相关文章

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

一文解析C#中的StringSplitOptions枚举

《一文解析C#中的StringSplitOptions枚举》StringSplitOptions是C#中的一个枚举类型,用于控制string.Split()方法分割字符串时的行为,核心作用是处理分割后... 目录C#的StringSplitOptions枚举1.StringSplitOptions枚举的常用

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

MyBatis延迟加载与多级缓存全解析

《MyBatis延迟加载与多级缓存全解析》文章介绍MyBatis的延迟加载与多级缓存机制,延迟加载按需加载关联数据提升性能,一级缓存会话级默认开启,二级缓存工厂级支持跨会话共享,增删改操作会清空对应缓... 目录MyBATis延迟加载策略一对多示例一对多示例MyBatis框架的缓存一级缓存二级缓存MyBat

前端缓存策略的自解方案全解析

《前端缓存策略的自解方案全解析》缓存从来都是前端的一个痛点,很多前端搞不清楚缓存到底是何物,:本文主要介绍前端缓存的自解方案,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、为什么“清缓存”成了技术圈的梗二、先给缓存“把个脉”:浏览器到底缓存了谁?三、设计思路:把“发版”做成“自愈”四、代码

Java集合之Iterator迭代器实现代码解析

《Java集合之Iterator迭代器实现代码解析》迭代器Iterator是Java集合框架中的一个核心接口,位于java.util包下,它定义了一种标准的元素访问机制,为各种集合类型提供了一种统一的... 目录一、什么是Iterator二、Iterator的核心方法三、基本使用示例四、Iterator的工

Java JDK Validation 注解解析与使用方法验证

《JavaJDKValidation注解解析与使用方法验证》JakartaValidation提供了一种声明式、标准化的方式来验证Java对象,与框架无关,可以方便地集成到各种Java应用中,... 目录核心概念1. 主要注解基本约束注解其他常用注解2. 核心接口使用方法1. 基本使用添加依赖 (Maven

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二