莲花-第10届蓝桥杯Scratch选拔赛真题精选

news2025/1/11 14:44:03

[导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第99讲。

蓝桥杯选拔赛每一届都要举行4~5次,和省赛、国赛相比,题目要简单不少,再加上篇幅有限,因此我精挑细选了一部分题目进行解读。

莲花,本题是第10届蓝桥杯Scratch真题,出现在2019年的市选拔赛考试中,题目要求使用Scratch中的画笔相关指令绘制出一幅四层结构的莲花图形,每一层都是由12个基本花瓣构成的,由外至内每一层的花瓣长度和大小都依次减小,颜色值则不停的增加。

先来看看题目的要求吧。

一.题目说明

编程实现:

1). 设置背景为白色,以坐标(0,0)点为中心绘制一个如下图所示的莲花图形;

2). 四层结构,基本单元中最大的花瓣边长为20,画笔大小为7,颜色值为0,每向内绘制一层,边长减小5,画笔大小减小1,画笔颜色值增加10。

评判标准:   

  • 10分:设置背景为白色,画笔大小为7,颜色值为0;

  • 30分:在10分标准基础上,能够绘制一个基本花瓣;

  • 40分:在30分标准基础上,能够绘制一圈完整的基本花瓣,共12个;

  • 45分:在40分的基础上,能够绘制题目要求图案,包括4层花瓣;

  • 50分:画笔每向内绘制一层,边长减小5,画笔大小减小1,画笔颜色值增加10。

     

二.思路分析

本题属于Scratch画笔绘制作品,只有一个默认的小猫角色, 如图所示:

考察的重点是画笔相关指令的灵活运用。乍一看,不知道从何下手,根据题目描述,我们可以发现莲花是一个四层结构,每一层又有12个花瓣组合而成,所以花瓣是这个作品的关键,如果花瓣绘制好了,其它部分相对就比较简单了。

所以,我们可以将作品分成如下3步完成:

  • 绘制一个花瓣

  • 绘制外层花瓣

  • 绘制莲花 

三.编程实现

根据思路分析,我们分如下3步来编写程序:

  • 绘制一个花瓣

  • 绘制外层花瓣

  • 绘制莲花

1. 绘制一个花瓣

绘制花朵的第一步是先绘制一个花瓣,先来看看生活中的花瓣,如图所示:

从图中可以看出,花瓣可以简单地看成是由两个圆弧组成的,因此绘制花瓣时,可以通过绘制两个对称的圆弧来实现,如下图所示:

而圆弧又是圆环的一部分,实际上是由很多小的线段组成,我们只需要在绘制线段时不停地旋转画笔即可实现。

我们先来绘制一个1/4圆弧,在小猫角色中编写代码如下:

需要说明的是,这里右转的角度并不是固定的,可以大一点,也可以小一点,但是要确保重复次数*右转角度 = 90,这里的20是指最外层花瓣的大小,执行代码,绘制效果如下:

接下来还需要绘制一个1/4圆弧,但是需要先右转90度角才行,否则就和之前的1/4圆弧连在一起形成半圆了,继续编写代码如下图所示:

再次执行代码,结果如图所示:

如此一来,我们的第一个基本花瓣就绘制好了,还不错吧。

为了方便,我们使用函数的编程思想将其封装起来,也就是定义一个自制积木用于绘制基本花瓣,编写代码如图所示:

在这里,有两点需要注意:

1). 我们在自制积木中添加了一个参数“大小”,这个是用来控制花瓣大小的,因为我们的莲花是四层结构,每一层的花瓣大小各不相同。

2). 在绘制完第二个1/4圆弧之后,增加了一个右转90度指令,这个是确保绘制完一个基本花瓣后,角色又回到原始角度方向,确保下一次绘制花瓣时方向不会有偏差。

2. 绘制外层的12个花瓣

有了基本花瓣,接下来就可以绘制最外层的花瓣了,根据题目描述,边长是20,画笔大小为7,颜色值为0,一圈是12个基本花瓣,所以这里需要使用循环,12个花瓣,就是循环12次,每绘制一个花瓣,就旋转 360 / 12 = 30度。

对应的代码如下图所示:

执行程序,绘制的花瓣效果如下:

3. 绘制莲花

接着就是绘制里面的3层花瓣了,相信聪明的你已经想到了,这里可以使用循环。不错,使用循环可以极大的简化代码,不过需要注意的是,每一层花瓣的长度、颜色和画笔粗细都不一样,每向内绘制一层,边长减小5,画笔大小减小1,画笔颜色值增加10。

其中,画笔大小的减小和画笔颜色的增加有相应的指令直接使用,相对比较简单,那么,边长要怎么逐次减少呢?

数字本身是不能变化的,比如20就是20,15就是15,无论什么时候都是固定不变的,在编程语言中,这叫常量,就是指不能变化的量。

内容可以变化的量叫变量,因此,我们可以定义一个变量来表示边长的大小,将它的初始值设置为20,每绘制完一圈花瓣,再将变量减少5,也就是增加-5,这部分的代码如下:

执行程序,一朵美丽的莲花就正式诞生了,至此,整个作品就创作完成了,一起来欣赏一下自己绘制的花瓣吧。

四.总结与思考

本题难度系数为4,积木块数量30个左右 ,涉及到的知识点主要包括:

  • 循环编程,包括指定次数循环以及循环的嵌套使用;

  • 画笔相关指令,包括擦除、落笔、抬笔、设置画笔粗细、设置画笔颜色、更改画笔粗细、更改画笔颜色等;

  • 运动编程,包括移动10步、右转指令、面向方向指令和移到(x,y)等;

  • 自制积木及其参数的使用;

  • 变量的使用。

本题难度中等,关键是如何绘制一个基本花瓣,如果是第一次碰到这类题目,可能有些不知所措,所以说,学习在于积累,一旦掌握了常见图案的绘制和基本的Scratch编程技巧,这类题目就是小菜一碟了。

在绘制莲花的过程中,我们使用了逐层分解的思维模型,将一朵莲花拆分成4层,每一层又拆分成12个花瓣,每个花瓣又拆分成两个1/4圆弧,一步一步缩小问题的规模,将复杂问题变成简单的问题。这种分析问题、解决问题的思维正是编程所提倡的计算思维,也是我们学习编程的真正意义所在。

如果你觉得文章对你有所帮助,别忘了点赞,你的鼓励是我坚持继续写下去的最大动力,Thanks♪(・ω・)ノ。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/76509.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

16. 模型选择,欠拟合和过拟合 代码实现

我们现在可以通过多项式拟合来探索这些概念。 import math import numpy as np import torch from torch import nn from d2l import torch as d2l1. 生成数据集 max_degree 20 # 多项式的最大阶数,20个特征 n_train, n_test 100, 100 # 训练和测试数据集大小…

Kafka概念以及参数

概念: Concept: 主题:Topic。主题是承载消息的逻辑容器,在实际使用中多用来区分具体的业务。 Subject: Topic. A topic is a logical container that carries messages. In practice, it is often used to distinguish specific services.…

[附源码]计算机毕业设计的高校车辆租赁管理系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

在软件定义网络中使用机器学习的方法进行 DDOS 攻击检测与缓解--实验

在软件定义网络中使用机器学习的方法进行 DDOS 攻击检测与缓解--实验〇、拉取代码一、 配置环境二、 正常流量收集三、攻击流量数据四、DDoS攻击检测与缓解4.1 正常流量的检测4.2 攻击流量的检测与缓解五,精准度和检测率申明: 未经许可,禁止以…

Existence theorem

In mathematics, an existence theorem is a theorem which asserts the existence of a certain object.[1] It might be a statement which begins with the phrase “there exist(s)”, or it might be a universal statement whose last quantifier is existential (e.g., …

ADI Blackfin DSP处理器-BF533的开发详解22:SD卡的设计和实现原理及应用(含源码)

硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 功能介绍 ADSP-EDU-BF53x 板卡上设计了一个 SD/MMC 接口,可以通过该接口实现对 SD/MMC 卡数据的访问。 SD 卡有两种工作模式&#x…

C#使用 Async 和 Await 的异步编程

总目录 文章目录总目录前言一、概述二、命名规范三、await/async的作用四、基本使用五、使用Async和Await实现多任务顺序执行且不阻塞1.同步执行2.并行执行3.并行且可指定顺序执行总结前言 C# 中的 Async 和 Await 关键字是异步编程的核心。 通过这两个关键字,可以…

spring依赖查找、依赖注入深入学习及源码分析

文章目录一、依赖查找1、单一类型依赖查找(接口 - BeanFactory)根据Bean名称查找根据Bean类型实时查找根据Bean类型延迟查找(Spring 5.1)根据Bean名称类型查找2、集合类型依赖查找(接口 - ListableBeanFactory&#xf…

Metal每日分享,颜色转换滤镜效果

本案例的目的是理解如何用Metal实现像素颜色转换滤镜,通过对像素颜色的不同读取方式获取到相应像素颜色,灰度图移除场景中除了黑白灰以外所有的颜色,让整个图像灰度化; Demo HarbethDemo地址 实操代码 // 转成灰度图滤镜 let f…

js深拷贝浅拷贝与lodash

title: js深拷贝浅拷贝与lodash date: 2022/9/27 14:46:25 categories: lodashjs入门 深拷贝和浅拷贝 ref:JS传递参数时的内部存储逻辑 JS 變數傳遞探討:pass by value 、 pass by reference 還是 pass by sharing? 在这个问题前&#xff…

LeetCode HOT 100 —— 169.多数元素

题目 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 思路 方法一:哈希表 遍历整个数组,记录每个数值出…

JAVA IO详解

目录 一、流的概念与作用 二、Java IO的用途和特征 三、流的使用详解 一、流的概念与作用 流(Stream): 在Java IO中,流是一个核心的概念。流从概念上来说是一个连续的数据传输过程。人们根据数据传输特性将流抽象为各种类,方便更直观的进…

【服务器数据恢复】服务器raid5崩溃导致上层应用不可用的数据恢复案例

服务器数据故障: 某公司服务器8块硬盘组成raid5磁盘阵列,其中有2块硬盘故障指示灯报警,其他硬盘指示灯正常,上层应用不可用。 服务器数据恢复过程: 1、服务器数据恢复工程师拿到故障服务器所有硬盘后对出现物理故障的…

ADI Blackfin DSP处理器-BF533的开发详解18:用触摸屏的例程来理解中断(含源码)

硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 硬件实现原理 ADSP-EDU-BF533 开发板上的中断资源连接到了 CPLD,并通过 CPLD 将中断信号连接到 PF0 触发,通过 CPLD映射的…

ubuntu交叉编译(armv7_32位)onnx源码_cpu版本

1 下载onnx git clone https://github.com/microsoft/onnxruntime cd onnxruntime git submodule update --init --recursive2 编译 由于是交叉编译,所以需要设置一下编译工具,在网上搜索看到了这个 chineseocr_lite/build-onnxruntime-android.sh a…

Jmeter(一):jmeter概述与工作原理,安装与基本配置介绍

Jmeter(1):jmeter概述与工作原理 jmeter概述与工作原理 JMeter 是 Apache 基金会 Jakarta 上的一个纯 Java 开源项目,起初用于基 于 Web 的压力测试(pressure test),后来其应用范围逐渐扩展到对文件传输 FTP, 大型数据…

基于JavaWeb+JSP的校园二手交易平台(源码+数据库+说明文档)

目录 一、前后端功能模块 1.用户web前端页面功能模块 2.后台信息管理模块 二、开发环境 三、开发技术 四、页面设计 1.登录注册界面 2.网页主页界面 3.商品列表界面 4.商品详情界面 5.支付页面 6.支付成功后页面 7.我的订单页面 ​8.个人已发布与待处理订单界面…

google外链重要性高吗?谷歌外链作用大不大

google外链重要性高吗? 答案是:非常重要,而且要注重建设付费GPB外链。 要相信有价值的外链一般都比较难获取,那种高流量的外链一般要靠自己去outreach, 但是成功率比较低,我们需要用金钱和优质外链资源去交换 做高质…

程序员的浪费,Python一对一还原《点燃我,温暖你》里面比较火的那个爱心代码 | 附源码

前言 包子们,上午好 最近有个剧挺火的 就是那个程序员的剧,叫《点燃我,温暖你》 最近听说很火呀,那作为程序员,Python中的战斗机的小编,能不给大家安排一波! 怎么说呢,用这个表白也…

我凭借这 1000 道 java 真题,顺利拿下京东、饿了么、阿里大厂 offer

今天这篇文章也算是一次面试总结了吧! 毕竟金九银十过去了,总得给大家来点东西交代交代! 所以今天,这篇文章就应运而生了,给大家来点正正经经的干货教学,让大家体验一下干货的魅力! 小编今天这里…