加减大师-第10届蓝桥杯Scratch选拔赛真题精选

news2024/11/19 5:41:08

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

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

加减大师,本题是第10届蓝桥杯Scratch真题,出现在2019年的市选拔赛考试中,题目要求编程创作加减大师作品,博士汪是加减大师,它会随机地出加减算式,并判断玩家回答的得数是否正确。

先来看看题目的要求吧。

一.题目说明

准备工作:

导入背景库中的“room1”,导入角色库中的“Dog1”、“Pico”。

编程实现:

博士汪是加减大师,它会随机出加减算式,并判断玩家回答的得数是否正确。如果它出的是加法,则两个加数均是自然数且不能大于100;如果它出的是减法,则被减数和减数都要是自然数且小于100,同时被减数大于等于减数。博士汪会出5道题,之后由Pico角色说出回答正确的次数。参考题图所示效果,完成程序。

评判标准:   

  • 10分:能够设置出题目要求的舞台背景和角色;

  • 10分:加减法数字是随机的,且都是两位自然数;

  • 15分:程序能确保被减数大于等于减数;

  • 15分:Pico能在5次全部回答结束后,正确地说出正确次数。

二.思路分析

本题有两个角色,分别是博士汪Dog1和Pico,如图所示:

博士汪与玩家一问一答,5道题答完后由Pico说出答题情况,这是典型的IPO模式,所谓IPO模式,是指输入(input)-处理(process)-输出(output),根据玩家输入的答案,进行判断处理,然后输出是否正确,以及最后的统计情况。在《数字与图形-第13届蓝桥杯Scratch国赛真题第5题》一文中,对IPO模式有详细的介绍。

在Scratch中,要实现IPO模式,需要使用询问并等待和回答指令。

不过在询问之前,需要由博士汪随机出题,这个随机有两个方面,一是随机加减法,二是随机运算的两个数字,这需要使用随机数指令,同时为了对运算的结果进行判断,要使用变量将参与运算的两个数字保存起来。

在出题的时候,博士汪会说出一个算式,此处的算式需要使用字符串连接操作,将数字和运算符号连接起来,注意不能直接使用加法和减法运算。博士汪一共出了5道题,这个也需要使用变量来计数实现,接下来,我们就一步一步编程来实现。

三.编程实现

根据题目描述和思路分析,我们可以分4步来编写程序:

  • 准备工作

  • 随机加减法

  • 判断结果

  • 统计答题情况

1. 准备工作

选中舞台背景,点击“选择一个背景”,导入“room1”背景,然后在角色库中添加好“Dog1”角色和“Pico”角色,并分别放置到舞台下方的左侧和右侧,并对两个角色进行初始化设置,这里的初始化包括位置和方向,代码如图所示:

注意一个细节, 这里的Pico角色,使用了“将旋转方式设置为左右翻转”,其作用是保证在将Pico角色方向设置向左的同时,不进行上下翻转,避免头下脚上的尴尬效果。

2. 随机加减法

是出加法呢,还是减法呢?这是一个问题。

这就和你玩掷硬币游戏一样,是正面呢,还是反面呢?

有规律吗?完全没有,这是一个随机事件,所以我们可以通过随机数来决定是出加法,还是出减法。我们只需要在1和2之间取随机数即可,如果是1,就出加法,否则就出减法。

在Dog1角色中,继续编写代码如下:

针对上面的代码,需要注意两个细节:

1). 在询问并等待语句中,我们使用了3个连接运算符,把“数字1”、“运算符号”、“数字2”和“=?”连接起来,这样才能保证我们看到的是算术本身;

2). 在实现减法的时候,为了确保数字2不大于数字1,在对数字2进行随机的时候,范围并不是1~100,而是1~数字2,这样就可以确保数字2不会超过数字1,这是一个非常有用的编程小技巧。

3. 判断结果

俗话说,有问必有答,当玩家在输入框中输入答案后,如何获取用户输入的内容呢?

这就需要有请“回答”指令出马了,它可以获取用户输入的内容。我们只需要将回答 和“结果”变量进行比较即可,如果二者相等,则说明答对了,否则就是答错了,在Dog1中添加代码如下:

看到这里,我想你应该明白为什么我在专门定义了一个“结果”变量,它帮我们节省了不少代码。

4. 统计答题情况

通过上述代码,我们已经可以实现一道题的问答功能,而博士汪一共要出5道题,所以,我们要将这个问答过程重复5次,同时还需要记录一下答对题目的数量,这需要新建一个变量,不妨将其命名为“正确数量”,并将其初始值设为0,如果回答正确,就将数量加1。5道题答完,则需要发送一个广播,将其命名为“出结果”,相应的代码如图所示:

再切换到Pico角色,它在接收到“出结果”广播时,说出答对的题目数量,对应的代码如下:

至此,整个作品就创作完成了,是时候测试一下你的速算水平啦

四.总结与思考

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

  • 随机数指令及设置随机数范围的编程技巧;

  • 字符串连接运算,尤其是多个字符的连接;

  • Scratch问答指令;

  • 变量的灵活运用;

  • 双分支条件指令;

  • 事件广播机制。

本题难度中等,涉及到小学数学课中诸多知识点,包括100以内的加减法、自然数、随机数和位置等,这是一道编程和数学紧密结合的好题目。

这也说明如果只具备编程能力,而忽略了其他的知识也是不行的,本题涉及了数学中自然数的概念,在编程竞赛中还会涉及到其它数学知识,如奇数与偶数、质数与合数、最小公倍数和最大公约数等。

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

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

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

相关文章

Vue学习笔记--第一章(尚硅谷学习视频总结)

目录 一、第一章 Vue核心 1.1. Vue简介 1.1.1. 官网 1.1.2. 介绍与描述 1.1.3. Vue 的特点 1.1.4. 与其它 JS 框架的关联 1.1.5. Vue 周边库 1.2.初识Vue 1.3. 模板语法 1.4. 数据绑定 1.5 el与data的两种写法 1.6 MVVM模型 1.7 Vue中的数据代理 1.8.事件处理 1.…

从零学习 InfiniBand-network架构(九) —— IB协议中子网本地地址

从零学习 InfiniBand-network架构(九) —— IB协议中子网本地地址 🔈声明: 😃博主主页:王_嘻嘻的CSDN主页 🔑未经作者允许,禁止转载 🚩本专题部分内容源于《InfiniBand-n…

鸿蒙3.0应用开发若干问题及上架总结

1.如何去掉默认标题栏,实现全屏显示? 在config.json中的ability配置信息中添加属性: "abilities": [ {..."metaData": {"customizeData": [{"name": "hwc-theme","value": &q…

Buildroot系列开发(五)bootloader简述

参考:百问网 文章目录1.什么是Boot-loader?2.有哪些bootloader?哪些支持linux?3.Bootloader支持的Flash设备4.Bootloader支持的文件系统类型4.Bootloader支持的CPU架构5.Bootloader总结1.什么是Boot-loader? 2.有哪些bootloader?哪些支持linux&#…

广州蓝景分享——前端学习5 种在 JavaScript 中获取字符串第一个字符的方法

在本文中,我们将研究多种方法来轻松获取 JavaScript 中字符串的第一个字符。 1.charAt() 方法 要获取字符串的第一个字符,我们可以在字符串上调用 charAt() ,将 0 作为参数传递。例如,str.charAt(0) 返回 str 的第一个字符。 c…

AT1106S(PHS/EN输入接口通道0.8A低压H桥直流刷式电机驱动IC)

描述 泛海微AT1106S为摄像机、消费类产品、玩具和其它低电压或者电池供电的运动控制类应用提供了一个集成的电机驱动器解决方案。泛海微AT1106S能够驱动一个直流电机或其他诸 如螺线管的器件。输出驱动模块由N MOS功率管构成的H桥组成,以驱动电机绕组。泛海微AT110…

车企接连押注「重感知」 ,高精地图真会被弃用?

实现高阶智能驾驶,“重感知”是否为大势所趋? 答案正日益明晰。 2022年,以特斯拉为代表的“重感知”阵营,押注者正日趋增多。以在2022年尝试落地城市NOA的三家厂商为例:毫末智行一早便属“重感知”阵营;小…

【20221208】【每日一题】目标和

给你一个整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 或 - ,然后串联起所有整数,可以构造一个 表达式 : 例如,nums [2, 1] ,可以在 2 之前添加 ,在 1 之前添加 - ,然后串…

5G无线技术基础自学系列 | SA移动性管理流程

素材来源:《5G无线网络规划与优化》 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 SA移动性管理流程包括站内切换、Xn切换…

Java基础之序列化和反序列化

序列化的实现 java.io中的对象流提供了序列化和反序列化对象的方法 对象输出流 ObjectOutputStream 构造方法: ObjectOutputStream(OutputStream out) 保存对象的方法: void writeObject(Object obj) 对象输入流 ObjectInputStream 构造方法&…

使用 MySQL、Thymeleaf 和 Spring Boot Framework 上传、存储和查看图像

在本文中,我们将使用 Spring Boot 框架从头开始构建映像库应用程序,用户可以在其中列出其映像。 以下是我们将在应用程序中实现的功能。 用户可以列出他们的图像以及详细信息,例如, 名字描述图像价格。(如果他们想卖…

Win11 启用旧右键菜单 _ Windows11 右键改回老版

Win11 系统在使用上和之前的系统差不多,但是在设计上,有了很大的改变,系统界面,设置等功能都使用了全新的风格,包括右键菜单,这让很多用户使用起来都很不习惯,因此想改回旧版的右键菜单来使用。…

汽车控制器概述

目录 一、整车控制器(VCU) 功能 工作模式 二、发动机控制器/电子控制单元(ECU) ECU基本组成 ECU的作用 ECU的工作原理 常见的ECU的类型 三、电机控制器(MCU) 四、 电池管理系统(BMS&a…

cubeIDE开发, stm32的USB从设备串口驱动设计

一、USB_OTG简介 USB_OTG(OTG,ON THE GO)是一款双角色设备(DRD) 控制器,同时支持从机(USB DEVICE)功能和主机(USB HOST)功能。在主机模式下,OTG 支持全速(OTG…

2022圣诞在即,出海品牌如何做好网红营销?

随着2022圣诞节逐渐临近,节日气氛也开始浓郁起来,尤其在社交媒体上,圣诞主题的内容越来越多,随之而来的则是各种营销与折扣。受经济形势影响,性价比在当下显得尤为重要,有60%的消费者表示,今年圣…

【能效分析】安科瑞变电所运维云平台解决方案应用分析

概述 安科瑞 李亚俊 壹捌柒贰壹零玖捌柒伍柒 AcrelCloud-1000变电所运维云平台基于互联网+大数据、移动通讯等技术开发的云端管理平台,满足用户或运维公司监测众多变电所回路运行状态和参数、室内环境温湿度、电缆及母线运行温度、现场设备或环境视频场…

CentOS MySQL安装

1.查询是否已经存在mariadb。 rpm -qa|grep mariadb如果存在需要卸载。 rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_642.通过xftp上传MySQL和Hive压缩包。 3.解压压缩包。 tar -zxvf apache-hive-2.3.4-bin.tar.gz -C /opt/apps/ tar -zxvf mysql-5.7.27-el7-x86_64.ta…

042-推箱子游戏源代码2

上一讲:041-推箱子游戏1_CSDN专家-赖老师(软件之家)的博客-CSDN博客 摘要: 1、使用JAVA基础知识 2、GUI界面编程实现推箱子界面,常用控件的综合应用; 3、使用JAVA绘图技术实现推箱子过程的绘图功能; 4、使用键盘事件,通过方向键实现推箱子过程; 5、使用音频技术,…

Android实现车辆检测(含Android源码 可实时运行)

Android实现车辆检测(含Android源码 可实时运行) 目录 Android实现车辆检测(含Android源码 可实时运行) 1. 前言 2. 车辆检测数据集说明 3. 基于YOLOv5的车辆检测模型训练 4.车辆检测模型Android部署 (1) 将Pytorch模型转换ONNX模型 &#xff08…

Python编程 圣诞树教程 (附代码)程序员的浪漫

作者简介:一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.python 做圣诞树 1.turtle库 2.python函数的定义规则 2.引入库 3.定…