当前位置: 首页 > news >正文

占领矩阵-第15届蓝桥省赛Scratch中级组真题第5题

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第190讲。

如果想持续关注Scratch蓝桥真题解读,可以点击《Scratch蓝桥杯历年真题》并订阅合集,查阅教程更方便。

第15届蓝桥杯省赛已于2024年8月24日落下帷幕,中级组编程题一共有6题,分别如下:

  • 抓不住的蜜蜂

  • 穿越病毒区

  • 画台扇

  • 收集松果

  • 占领矩阵

  • 截取递增数

占领矩阵,本题是2024年8月24日举行的第15届蓝桥省赛Scratch中级组编程第5题,题目要求创作一个占领矩阵作品。点击绿旗,瞬间出现一个5行5列的白色实心圆矩阵,在展示321倒计时效果后,造型1瞬间占领矩阵,1秒后,造型2从左下到右上逐渐占领矩阵,最后造型1从右上到左下逐渐占领矩阵。

先来看看题目的要求吧。

一.题目说明

编程实现:

占领矩阵。

具体要求:

1). 点击绿旗,瞬间出现一个5行5列的白色实心圆组成的矩阵,如图所示;

图片

2). 然后,在矩阵中依次显示数字3、2、1,每个数字显示时长为 0.5 秒,数字的显示效果如图所示;

图片

3). 接下来,

图片

 瞬间占领整个矩阵,如图所示;

图片

4). 1秒后,

图片

在2秒内从左下角开始向右上角按如下规律逐渐占领整个矩阵;(参考视频)

图片

5). 最后,

图片

在2秒内从右上角开始向左下角按如下规律逐渐占领整个矩阵,而后游戏结束。(参考视频)

图片

评判标准:

  • 10分:满足"具体要求"中的1);

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

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

  • 22分:满足"具体要求"中的4);

  • 22分:满足"具体要求"中的5)。

二.思路分析

本题只有一个角色,就是圆圈,如图所示:

图片

角色一共有4个造型,如图:

图片

这是典型的克隆题目,考查的知识点主要包括克隆技巧、私有变量、自制积木、事件广播和列表等。

如果只考虑题目的要求1)、2)、3),那就比较简单了,直接使用”克隆4兄弟“和”自私的ID“模型。

题目的难点就在于要求4)和要求5),如何按照对角线(包括从左下到右上和从右上到左下)遍历矩阵,如图所示:

图片

对于这个问题,一般有如下两种思路:

  • 根据克隆体所处行和列,寻找规律,进行斜线遍历;

  • 直接按照对角线克隆圆圈;

相对来说,在Scratch编程中,使用第二种方式更为简单。

我们先来看两张图片吧,第一张图如下:

图片

第二张图如下:

图片

熟不熟悉,这不就是金字塔排列么?

所以,我们可以借鉴金字塔的克隆技巧,对”克隆4兄弟“模型稍作一点修改,就可以完成对角线克隆了。

为了方便描述,可以对每一条对角线进行编号,先看左下方的5条对角线,如图:

图片

首先,从左下到右上,克隆体的数量依次为1、2、3、4、5,这个可以使用变量来控制克隆体的个数。

其次,每条对角线的起始x坐标都是一样的,大概是-95,y坐标相隔一个圆圈的距离,大概是50。

第三,对于每条对角线而言,下一个克隆体(如果有的话)的位置都是在上一个克隆体的位置上右移50、下移50。

这样一来,我们就可以使用使用”克隆4兄弟“模型结合变量来克隆这5条对角线了。

同理,对于右上角的对角线,可以画图如下:

图片

分析方法基本相同,克隆体的数量依次为5、4、3、2、1,使用变量来控制其数量即可。

这一次,每条对角线的起始y坐标都是一样的,大概是95,而x坐标相隔一个圆圈的距离50。

对于每条对角线而言,下一个克隆体(如果有的话)的位置也是在上一个克隆体的位置上右移50、下移50。

因此,我们可以按照这种方式,从左下到右上依次克隆9条对角线,然后将每条对角线上的克隆体作为一组进行编号。

同时,在克隆圆圈的时候,对每个克隆体进行编号,并将处在数字3、2、1位置上的编号分别存入三个列表中,这样就可以轻松地显示倒计时效果。

关键问题解决了,接下来,我们就进入程序实现环节。

三.编程实现

根据上面的思路分析,我们分5步来完成作品:

  • 克隆矩阵

  • 列表初始化

  • 倒计时

  • 从下到上占领矩阵

  • 从上到下占领矩阵

1. 克隆矩阵

根据前面的思路分析,我们分两步来克隆矩阵,先克隆左下角的三角形排列,定义自制积木如下:

图片

代码不少,说明两点:

1). 变量”_ID“和”_层“要定义为私有变量,注意它们的初始值和更新位置;

2). 这里使用”起点y“变量来指定对角线的起始y坐标,可以更轻松地控制y坐标的变化;

同理,再定义一个自制积木由于克隆右上方的三角形排列,代码如下:

图片

代码基本差不多,强调3点:

1). 一共有9条对角线,前面已经克隆了5条,因此这里只需要克隆4条对角线;

2). 对于右上对角线排列,起点x坐标是变化的,因此使用了变量”起点x“,并设置好其初始值;

3). 注意私有变量”_层“和”_ID“更新的位置;

2. 列表初始化

这一步非常简单,将处在数字3、2、1位置上的克隆体的ID分别保存到3个列表中,先创建好”数字3“、”数字2“和”数字1“3个列表。

分别定义自制积木,如下:

图片

这里有一个细节,我们怎么快速确定这些ID呢?

超平老师悄悄的告诉你一个小技巧,可以先将克隆体显示出来,并说出自己的ID,代码如下:

图片

执行代码,效果如下:

图片

有了这些编号,就可以轻松地找到每个数字需要的ID了。

3. 倒计时

有了前面两步的准备,显示倒计时就比较简单了,先在绿旗指令下编写代码如下:

图片

对应的,对克隆体编写代码如下:

图片

代码比较简单,这里就不再解释了。

4. 从下到上占领矩阵

私有变量“_层”表示的是每个克隆体所在的对角线,如图:

图片

因此,我们可以定义一个变量“当前层”,表示每次控制的层,依次改变每条对角线上的克隆体。

在绿旗代码块中继续编写代码如下:

图片

对应的,编写接收广播的代码如下:

图片

代码比较简单,强调3点:

1). 显示倒计时花了1.5秒,还需要等待1秒,因此一共需要等待2.5秒;

2). 发送广播消息的代码一定要写在绿旗指令下,绿旗指令控制的是本体,只需要本体发送一个广播消息即可;

3). 两次广播之间稍微等待一下,确保在2秒之内能占领矩阵,至于这里的广播方式,使用哪一种都可以;

5. 从上到下占领矩阵

在上面的代码块中继续编写代码如下:

图片

同理,编写接收广播的代码如下:

图片

至此,整个作品就创作好了,是时候来测试自己的作品啦。

四.总结与思考

本题是中级组编程部分第5题,分数为80分,积木块数量120个左右,涉及到的知识点主要包括:

  • 克隆技巧;

  • 自制积木;

  • 私有变量;

  • 事件广播机制;

  • 列表;

作为本次中级组省赛的第5题,难度较大,完成时间20分钟左右,本题的难点是如何整体控制每条对角线上的克隆体。

实际上,关于类似的场景在之前的真题中也出现过,比如第13届国赛的点亮LED屏幕,如图所示:

图片

具体详情可以参考《LED屏幕-第13届蓝桥杯Scratch国赛真题第7题》这篇教程。

在Scratch中,类似的问题,通用的解决方案就是熟练掌握各种不同排列的克隆技巧,比如标准的矩形、三角形、金字塔、圆形、螺旋形等。具体来说,就是灵活运用“克隆4兄弟”模型,稍微复杂一点的需要结合变量和列表等数据结构。

退一步讲,在比赛的时候,如果实在无法实现对角线克隆,你也可以按照常规的方式完成5行5列的矩阵克隆,确保满足题目的前3个要求,这样可以快速拿到36分,将近一半的分数,也还是蛮划算的吧。

超平老师给你留一道思考题,如果不使用上面介绍对角线克隆技巧,能否找到同一条对角线上的克隆体呢?

你还有什么好的方法吗,非常欢迎您和超平老师交流分享。

如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄

需要素材和源码的,可以移步至“超平的编程课”gzh。

相关文章:

占领矩阵-第15届蓝桥省赛Scratch中级组真题第5题

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第190讲。 如果想持续关注Scratch蓝桥真题解读,可以点击《Scratch蓝桥杯历年真题》并订阅合集,…...

[论文笔记] Chain-of-Thought Reasoning without Prompting

分析: 在CoT解码路径中,我们可以看到模型在第三个位置(𝑖? = 3)开始展示推理过程,并且给出了正确的答案“8”。模型首先识别出说话者有3个苹果,然后识别出爸爸比说话者多2个,即5个苹果,最后将这两个数量相加得到总数8个苹果。 这个例子表明,通过探索替代的解码路径…...

C++八股进阶

之前那个只是总结了一下常考点,这个是纯手打记笔记加深理解 这里写目录标题 C的四种智能指针为什么要使用智能指针?四种智能指针: C中的内存分配情况C中的指针参数传递和引用参数传递C 中 const 和 static 关键字(定义&#xff0…...

渗透测试--文件上传常用绕过方式

文件上传常用绕过方式 1.前端代码,限制只允许上传图片。修改png为php即可绕过前端校验。 2.后端校验Content-Type 校验文件格式 前端修改,抓取上传数据包,并且修改 Content-Type 3.服务端检测(目录路径检测) 对目…...

音视频生态下Unity3D和虚幻引擎(Unreal Engine)的区别

技术背景 好多开发者跟我们做技术交流的时候,会问我们,为什么有Unity3D的RTMP|RTSP播放模块,还有RTMP推送和轻量级RTSP服务模块,为什么不去支持虚幻引擎?二者区别在哪里?本文就Unity3D和虚幻引擎之间的差异…...

搭建基于H.265编码的RTSP推流云服务器

一、前言 网上能够找到的RTSP流地址,均是基于H.264编码的RTSP流地址,无法测试应用是否可以播放H265实时流为此,搭建本地的把H.264转码成H.265的RTSP服务器,不管是通过VLC搭建本地RTSP服务器,还是通过FFmpeg搭建本地RT…...

C++20 std::format

一、前言 1、传统 C 格式化的问题与挑战 可读性差:使用 C 中的 printf 和 scanf 家族函数进行格式化输出和输入时,它们的语法较为复杂,难以阅读。在较大的代码项目中,可读性差会导致维护困难。类型安全性差:printf 和…...

Python基础知识 (九)os模块、异常、异常的传递性

目录 OS模块 目录的具体操作 什么是异常 异常常见处理方式 异常分类: 捕获一个指定异常 捕获多个异常 捕获所有异常 异常具有传递性 OS模块 在Python中,os模块的常用函数分为两类: (a)通过os.path调用的函数…...

鸿蒙手势交互(三:组合手势)

三、组合手势 由多种单一手势组合而成,通过在GestureGroup中使用不同的GestureMode来声明该组合手势的类型,支持顺序识别、并行识别和互斥识别三种类型。 GestureGroup(mode:GestureMode, gesture:GestureType[]) //- mode:为GestureMode枚…...

【计算机方向】中科院二区TOP神刊!国人发文友好,刊文量高,录用容易!

期刊解析 🚩本 期 期 刊 看 点 🚩 中科院二区TOP期刊! 审稿友好,IF4.8,自引率6.2% 最新年度发文530。 今天小编带来计算机领域SCI快刊的解读! 如有相关领域作者有意投稿,可作为重点关注&am…...

Stable Diffusion 保姆级教程

1. 引言 近年来,Stable Diffusion 成为了图像生成领域的热门技术,它是一种基于扩散模型的生成模型,可以通过输入简单的文本描述生成高质量的图像。相比传统的生成对抗网络(GAN),Stable Diffusion 更具稳定…...

踩坑记录:adb修改settings数据库ContentObserver无回调

在Android 14版本开发过程中遇到一个,通过adb修改settings数据库,发现生效但是监听的ContentObserver无回调 以背光亮度值调节为例 adb shell settings put system screen_brightness 18 调节亮度值到指定值,修改完后查看 adb shell set…...

JAVA毕业设计183—基于Java+Springboot+vue的旅游小程序系统(源代码+数据库)

毕设所有选题: https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootvue的旅游小程序系统(源代码数据库)183 一、系统介绍 本项目前后端不分离,分为用户、管理员两种角色 1、用户: 注册、登录、公告信息(…...

[大语言模型] 情感认知在大型语言模型中的近期进展-2024-09-26

[大语言模型] 情感认知在大型语言模型中的近期进展-2024-09-26 论文信息 Title: Recent Advancement of Emotion Cognition in Large Language Models Authors: Yuyan Chen, Yanghua Xiao https://arxiv.org/abs/2409.13354 情感认知在大型语言模型中的近期进展 《Recent A…...

WiFi无线连接管理安卓设备工具:WiFiADB

介绍 WiFi ADB 使您能够通过 WiFi TCP/IP 连接直接在设备上轻松调试和测试 Android 应用,无需使用 USB 数据线。在启用 WiFi 上的 ADB 后,打开控制台将电脑连接到设备。 手机和电脑在同一个WiFi然后电脑上运行adb connect x.x.x.x:x命令即可 下载 谷…...

Django项目配置日志

需求 在Django项目中实现控制台输出到日志文件,并且设置固定的大小以及当超过指定大小后覆盖最早的信息。 系统日志 使用Django自带的配置,可以自动记录Django的系统日志。 可以使用logging模块来配置。下面是一个完整的示例代码,展示了如…...

在IntelliJ IDEA中设置文件自动定位

当然,以下是一个整理成博客格式的内容,关于如何在IntelliJ IDEA中设置文件自动定位功能。 在IntelliJ IDEA中设置文件自动定位 背景 最近由于公司项目开发的需求,我从VSCode转到了IntelliJ IDEA。虽然IDEA提供了许多强大的功能,…...

机器学习笔记 - week6 -(十一、机器学习系统的设计)

11.1 首先要做什么 在接下来的视频中,我将谈到机器学习系统的设计。这些视频将谈及在设计复杂的机器学习系统时,你将遇到的主要问题。同时我们会试着给出一些关于如何巧妙构建一个复杂的机器学习系统的建议。下面的课程的的数学性可能不是那么强&#xf…...

对c语言中的指针进行深入全面的解析

1.普通的指针: 实际上指针就是存放地址的变量,eg: int a10; int *p&a; 拆分一下int *中的*说明p是一个指针,int是它所指向的类型; 2.字符串指针和字符串数组 char*str1"abcd"; 先看这一个,这个就是一个字符串…...

xxl-job 适配达梦数据库

前言 在数字化转型的浪潮中,任务调度成为了后端服务不可或缺的一部分。XXL-JOB 是一个轻量级、分布式的任务调度框架,广泛应用于各种业务场景。达梦数据库(DM),作为一款国内领先的数据库产品,已经被越来越…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类&#xff1a;块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

华硕a豆14 Air香氛版,美学与科技的馨香融合

在快节奏的现代生活中&#xff0c;我们渴望一个能激发创想、愉悦感官的工作与生活伙伴&#xff0c;它不仅是冰冷的科技工具&#xff0c;更能触动我们内心深处的细腻情感。正是在这样的期许下&#xff0c;华硕a豆14 Air香氛版翩然而至&#xff0c;它以一种前所未有的方式&#x…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息&#xff0c;对客户进行统一管理&#xff0c;可以把所有客户信息录入系统&#xff0c;进行维护和统计功能。可通过文件的方式保存相关录入数据&#xff0c;对…...