当前位置: 首页 > 编程日记 > 正文

中国电子学会青少年编程能力等级测试图形化三级编程题:海底寻宝

「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】或【Python】,即可进入。如果加入了之前的社群不需要重复加入。

我们将有关编程题目的教学视频已经发布到抖音号21252972100,小马老师上,可配合图文一起学习。

海底寻宝

1. 准备工作

(1)删除小猫角色;

(2) 导入潜水员“Diver1”、水晶石“Crystal”两个角色;

(3) 背景为Underwater 2。

2. 功能实现

(1)潜水员在舞台上游来游去捡水晶石;

(2)舞台上有30个水晶石,大小随机,位置随机;

(3)潜水员碰到水晶石,水晶石消失,数量加一;

(4)变量“数量”显示潜水员采到水晶石的数量。

3. 设计思路与实现

(1)角色分析

  • 角色:潜水员“Diver1”、水晶石“Crystal”。

(2)背景分析

  • 背景:Underwater 2

(3)所用积木块介绍

a. 运动类

  • 角色移动指定的步数,正数就是向前,负数就是向后。

  • 角色移动到随机位置,下拉可选“鼠标指针”或其他角色。

  • 将角色朝向某个指定的方向。

  • 角色碰到边缘后就往回走。

b. 外观类

  • 换成指定的背景
  • 该积木块通常在初始化舞台背景时使用

  • 将角色的大小调整为指定的值。
  • 该积木块通常在角色初始化时使用。

  • 在舞台中显示当前角色。

  • 在舞台中隐藏当前角色。

c. 事件类

  • 程序开始积木块。
  • 点击舞台区的绿旗,执行以绿旗开始的所有程序脚本。

d. 控制类

  • 循环积木块:一遍一遍地执行包起来的积木序列。
  • 重复执行指定的次数后停止,该积木块通常在角色移动等场景中使用。

  • 循环积木块:一遍一遍地执行包起来的积木序列。
  • 重复执行模块里面的积木指令,相当于一个死循环,永不停止,除非在某个地方结束脚本。

  • 条件判断语句,如果条件返回值为真(bool值),那么执行模块里面的积木指令,如果条件不成立,返回值为假,执行条件判断模块后面的程序指令。

  • 当作为克隆体启动时,该克隆体执行的指令

  • 产生自己的一份克隆,下拉倒三角还可以选择其他角色

  • 删除克隆体

e. 侦测类

  • 判断当前角色是否碰到鼠标,下拉可以选择其它角色和舞台边缘。

f. 运算类

  • 随机得到设定区间中的任一值。

g. 变量类

  • 建立一个变量,输入变量名称,然后选择适用于所有角色还是适用于当前角色。

(4)角色、舞台背景设置

a. 角色设置

按照题目要求,删除默认的小猫角色。

在角色区,点击“选择一个角色”菜单,在角色库中选择潜水员“Diver1”、水晶石“Crystal”。

b. 舞台背景设置

在舞台区,点击“选择一个背景”菜单,在背景库中选择“Underwater 2”。

(5)脚本编写

按照题目要求创建一个变量 – “数量”。

a. 角色:Diver1

流程描述:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始方向:面向任意方向(取0~360随机数)。
  3. 重复执行:(潜水员在舞台上游来游去)
    • 移动10步
    • 碰到边缘就反弹

b. 角色:Crystal

流程描述:

当点击绿旗时:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 在舞台中显示变量 – “数量”。
  3. 初始化变量:将“数量”的值设为0。
  4. 初始化角色状态:隐藏(后面不显示本体,只显示克隆体)。
  5. 重复执行30次:(30个克隆体)
    • 克隆自己。

当克隆体启动时:

  1. 初始化位置:舞台的任意位置。
  2. 初始化大小:大小为随机取值10~100之间。
  3. 初始化状态:显示
  4. 重复执行:
    • 如果碰到Diver1,那么:
      • 将“数量”增加1。
      • 删除该克隆体

c. 背景:Underwater 2

流程描述:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始化背景:将背景设置为“Underwater 2”。

4. 评分标准

(1)角色、背景正确。(1分)

(2)潜水员在舞台上面向随机位置游来游去。(2分)

(3)舞台上有30个水晶石,大小随机,位置随机。(2分)

(4) 潜水员碰到水晶石,水晶石消失,数量加一。(2分)

5. 考点分析

三级考试大纲与说明

(一)考核目标

进一步认识编程软件的高级功能,对随机数的产生、变量的设置,基于变量的逻辑运算与关系运算的组合使用,解决实际问题;考查画笔模块的更高级操作,应用广播来传递数据,应用克隆来生成克隆体,并灵活控制克隆体;考查对选择语句、循环语句的嵌套使用,以及运用循环简化多次的反复操作程序的理解程度。同时针对参加 3 级考试的学生 将进行多种情况的逻辑处理和交互控制能力的考查。

(二)能力目标

学生对编程软件的进一步综合操作能力,考查对随机数,变量,广播,克隆等知识的掌握,同时考查学生对已掌握知识的深度综合应用,另针 对参加 3 级考试的学生将进行难度更高的逻辑推理能力的考查。

(三)考试标准

1、掌握编程环境的高级功能,并理解其中的基本概念。

  • 1)能够新建、删除变量,修改变量名;
  • 2)能够设定、增减变量值,在舞台区显示、隐藏变量;
  • 3)能够灵活使用画笔及设置画笔的各项参数;
  • 4)掌握逻辑运算与关系运算的组合使用;
  • 5)能够运用循环简化多次的反复操作程序;
  • 6)能够应用广播来传递数据,实现不同角色之间的交互;
  • 7)能够理解广播和广播并等待的区别;
  • 8)能够应用克隆来生成克隆体,并灵活控制克隆体。

2、理解并在程序中使用随机数和变量。

  • 1)理解随机数的概念,能够产生一个随机数;
  • 2)理解变量的概念,理解变量的作用域;
  • 3)能够通过变量的变化让程序跳转到不同的部分;
  • 4)程序中包含不同条件选择语句的嵌套;
  • 5)程序中包含循环语句的嵌套;
  • 6)程序中包含根据选择语句的真假跳出循环程序;
  • 7)循环语句、选择语句嵌套的综合运用。

(四)知识块

  • 1. 随机数:随机数的产生,随机数的应用场景判定选取
  • 2. 变量:新建变量,初始化变量,修改变量名,删除变量,变量值的设定、增减,变量值变化引起效果的变化,变量的显示和隐藏,变量设置为滑杆模式, 变量的作用域,不同应用场景
  • 3. 循环语句:运用计数循环简化多次的反复操作程序、运用条件循环简化多次的反复操作程序
  • 4. 循环与选择的嵌套:选择语句的嵌套、选择嵌套和逻辑运算符综合运用、循环语句中包含跳出循环、循环语句的嵌套、选择语句与循环语句的嵌套的综合运用
  • 5. 画笔:颜色(亮度,饱和度,对比度),图章,擦除图章
  • 6. 广播:广播传递数据,广播并等待,多角色通过广播交互,广播的使用场景
  • 7. 克隆:克隆自己,删除克隆体,克隆体启动的设置
  • 8. 逻辑推理,编程数学:判断条件的逻辑关系

备注:

  • 为本题涉及到的知识点。
  • 为需要掌握,但本题未涉及到的知识点。

(五)题型配比及分值


相关文章:

用Ajax请求服务器的图片,并显示在浏览器中(转)

前言 一直在数据库里面存的都是图片在服务器的地址,然后再到浏览器中显示,但是发现两个问题 第一:为了安全起见,js是无法读取本地的图片的,不然你写一个js,岂不是可以获取任何人电脑里面的文件了。 第二&am…

pb设置Oracle事务的隔离级别,Oracle的事务隔离级别

ANSI/ISO SQL规定了四种事务隔离级别,分别是:read uncommitted,read committed,repeatable read,serializableORACE提供了SQ92标准中的read committed和seriaizabe,同时提供了非SQ92标准的read-ony。read committed:这是ORACE缺省…

inux php pdo mysql 扩展

今天在本机部署了一个pdo项目,发现一些问题,真没想到pdo mysql,不容易装啊,哈哈,我说的不容易,是因为php5.3以前版本,yum源里面根本没有。部署后就报,Undefined class constant MYSQ…

Maven项目Spring Boot启动

1. pom.xml中增加配置 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.0.RELEASE</version></parent><dependencies><dependency><gr…

中国电子学会青少年编程能力等级测试图形化四级模拟题

「青少年编程竞赛交流群」已成立&#xff08;适合6至18周岁的青少年&#xff09;&#xff0c;公众号后台回复【Scratch】或【Python】&#xff0c;即可进入。如果加入了之前的社群不需要重复加入。 我们将有关编程题目的教学视频已经发布到抖音号21252972100&#xff0c;小马老…

Oracle设置date数据比较,ORACLE DATE和TIMESTAMP数据类型的比较

DATE数据类型这个数据类型我们实在是太熟悉了&#xff0c;当我们需要表示日期和时间的话都会想到date类型。它可以存储月&#xff0c;年&#xff0c;日&#xff0c;世纪&#xff0c;时&#xff0c;分和秒。它典型地用来表示什 么时候事情已经发生或将要发生。DATE数据类型的问题…

POJ 1552 Doubles (C++ STL set使用)

题目&#xff1a; 题意&#xff1a;题意&#xff1a;给出几个正数&#xff08;2~15个&#xff09;&#xff0c;然后就是求有这些数字的2倍有没有和原先的正数相同的&#xff0c;求出有几个&#xff0c;没有就是0. 分析&#xff1a;水题。用数组解决&#xff0c;开一个数组存正数…

凌亮:动手学数据分析笔记

凌亮是华北电力大学数理系大二的学生&#xff0c;LSGO软件技术团队&#xff08;Dreamtech算法组&#xff09;成员&#xff0c;参加了多期Datawhale的组队学习。 这篇图文是他在线下组队学习时&#xff0c;为大家分享自己学习“动手学数据分析”的笔记。 希望参与我们线下组队…

【H.264/AVC视频编解码技术详解】十九:熵编码算法(5)——H.264的CABAC(上):语法元素的二值化方法...

《H.264/AVC视频编解码技术详解》视频教程已经在“CSDN学院”上线&#xff0c;视频中详述了H.264的背景、标准协议和实现&#xff0c;并通过一个实战工程的形式对H.264的标准进行解析和实现&#xff0c;欢迎观看&#xff01; “纸上得来终觉浅&#xff0c;绝知此事要躬行”&…

oracle anbob,Tag Archives: oracle安装 | ANBOB

2016/08/02363 viewsUsing ‘opatch lsinventory’ show patched is real? (看到的补丁信息真的靠谱么&#xff1f;)已关闭评论去年在排查SCN 天花板问题修改相关的几个参数时&#xff0c;发现了这个问题&#xff0c;尤其如果是从别人手中接手的数据库&#xff0c;通常从opatc…

Python之装饰器

Python之装饰器 在不修改函数调用方式的前提下&#xff0c;也不能修改函数内部源代码&#xff01;&#xff01;&#xff01;&#xff01; 例如&#xff1a; 在每个季度公司发绩效&#xff0c;统计每个人的代码执行效率。咱们总不能是每个函数里加time模块吧。 import timedef t…

Datawhale组队学习周报(第041周)

本周报总结了从 11月22日至11月28日&#xff0c;Datawhale组队学习的运行情况&#xff0c;我们一直秉承“与学习者一起成长的理念”&#xff0c;希望这个活动能够让更多的学习者受益。 第 31 期组队学习已经与大家见面了&#xff0c;这次组队学习一共 11 门开源课程&#xff0…

Redis介绍

redis是一个key-value存储系统。和Memcached类似&#xff0c;但是解决了断电后数据完全丢失的情况&#xff0c;它支持存储的value类型相对更多&#xff0c;包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hashs&#xff08;哈希类型&#xff09;。这…

oracle精度制的数据类型,ORACLE 中NUMBER 类型 低精度转换成高精度

Node&period;js的函数返回值先看一段代码: function select(sqlscript){ var result ""; sql.connect(config, function( ...LeetCode Range Sum Query 2D - Mutable原题链接在这里:https://leetcode.com/problems/range-sum-query-2d-mutable/ 题目: G…

cacti监控linux和windows磁盘IO

cacti监控linux和windows磁盘IO 标签&#xff1a;cacti linux磁盘IO windows磁盘IO原创作品&#xff0c;允许转载&#xff0c;转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://charlie928.blog.51cto.com/3741218/1331780一&#x…

2021 线性代数 第三章 习题课

第3章 向量空间 3.1 基本概念&#xff08;基础部分&#xff09;3.1 基本概念&#xff08;提高部分&#xff09; -> 插入视频 3.2 线性相关、线性无关&#xff08;基础部分&#xff09;3.2 线性相关、线性无关&#xff08;提高部分&#xff09;3.3 向量空间的基与维数、坐…

MYSQL修改配置,允许远程访问

1、 mysql -h localhost -u root //这样应该可以进入MySQL服务器 2、 GRANT ALL PRIVILEGES ON *.* TO root% WITH GRANT OPTION //赋予任何主机访问数据的权限 如果需要密码&#xff1a; GRANT ALL PRIVILEGES ON *.* TO roo…

ckeditor finder php,CKEDITOR CKFINDER的图片上传配置(C#/asp.net/php)

CKEDITORCKFINDER的图片上传配置(C#/asp教程.net/php教程)phpkeditor的代码全部重写&#xff0c;但里面没有了上传功能&#xff0c;只是一个纯粹的文件在线编辑器&#xff0c;如果需要上传图片&#xff0c;还需要下载ckfinder。首先去官方上下载源代码&#xff0c;然后分别解压…

Linux 常用命令——df, du, ln

1. df 列出文件系统的整体磁盘使用量 2. du 评估文件系统的磁盘使用量(常用在推估目录所占容量)&#xff0c;也可以计算文件或文件夹大小 3. ln 创建实体连接(hard link) 或 符号连接(Symbolic Link) 转载于:https://www.cnblogs.com/bigben0123/p/3238199.html

nio selector

为什么使用Selector? 仅用单个线程来处理多个Channels的好处是&#xff0c;只需要更少的线程来处理通道。事实上&#xff0c;可以只用一个线程处理所有的通道。对于操作系统来说&#xff0c;线程之间上下文切换的开销很大&#xff0c;而且每个线程都要占用系统的一些资源&…

青少年编程竞赛交流群周报(第039周)

2021年11月28日&#xff08;周日&#xff09;晚20:00我们在青少年编程竞赛交流群开展了第三十九期直播活动。 一、直播内容 我们直播活动的主要内容如下&#xff1a; 讲解了上次测试中小朋友们做错的题目 Scratch青少年编程能力等级测试模拟题&#xff08;四级&#xff09;。…

linux查找以h结尾的文件,【linux_笔记】Linux_文件查找(find)详解特殊权限

学习记录过程中难免出现错误&#xff0c;如有发现&#xff0c;还望大神们指出。示例操作部分有的与历史操作有关&#xff0c;如果先前的示例操作没有执行过的话&#xff0c;可能会有部分示例的操作无法执行。示例仅供参考(练习题在附录)。文件查找&#xff1a;locate(不常用):非…

AngulerJS学习(五)按需动态载入文件

在此之前我么年首先要先了解几个东西&#xff1a; $q 简单介绍&#xff1a; $q&#xff1a;主要解决的是异步编程的问题&#xff0c;是指描写叙述通过一个承诺行为与对象代表的异步运行的行动结果的交互。可能会也可能不会再不论什么时候完毕。 我们通过一个小故事理解 $q 服务…

【青少年编程竞赛交流】11月份微信图文索引

11月份微信图文索引 由于“组队学习”这个公众号的功能主要是组织Datawhale社群中的学习者们每个月的组队学习&#xff0c;所以&#xff0c;我另外新建了这个微信公众号“青少年编程竞赛交流”&#xff0c;在这个公众号上分享有关青少年编程方面的知识&#xff0c;以及通过编程…

linux内核创建节点,Linux内核驱动自动创建设备节点文件

Linux下生成驱动设备节点文件的方法有3个&#xff1a;1、手动mknod&#xff1b;2、利用devfs&#xff1b;3、利用udev在刚开始写Linux设备驱动程序的时候&#xff0c;很多时候都是利用mknod命令手动创建设备节点&#xff0c;实际上Linux内核为我们提供了一组函数&#xff0c;可…

javascript publish/subscribe or observer pattern

定义 定义一对多的对象封装&#xff0c;目标对象状态发生变化&#xff0c;它所有的接受者都会收到通知并做相应的更新。 使用频率&#xff1a;5/5 最高 概要 观察者模式&#xff0c;也就是发布者/订阅者模式&#xff0c;当发布者发布一个通知的时候&#xff0c;订阅者就会收到通…

图的遍历——DFS(邻接矩阵)

递归 标记 一个连通图只要DFS一次&#xff0c;即可打印所有的点。 #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <malloc.h>using namespace std;const int VERTEX_NUM 20; const int INFINITY 0x…

徐韬:CCF - 个贷违约预测Baseline

徐韬是华北电力大学数理系大四的学生&#xff0c;Datawhale成员/Dreamtech成员&#xff0c;参加了多期Datawhale的组队学习&#xff0c;也在天池/CCF/讯飞等比赛中取得了不错的成绩&#xff0c;现保送大连理工大学软件学院深造。 这篇图文是他在线下组队学习时&#xff0c;为大…

linux 创建crontab文件位置,[基础教程]linux系统的crontab计划任务添加和删除

在linux系统中&#xff0c;有时候为了节省人力&#xff0c;所以将一些脚本进行定时执行&#xff0c;通过crontab计划任务进行启动和停止&#xff0c;这样能方便大部分时间来做其他事情&#xff0c;下面主要介绍一下如何启动和删除crontab计划任务添加计划任务1.首先要准备好要添…

C#利用lambda在函数中创建内部函数

有使用过JS的朋友&#xff0c;相信都知道function。JS中的function是可以在里面在定义一个作为内部使用的。有时为了控制作用域&#xff0c;或者这种小函数只在这个函数体内会使用&#xff0c;所以就不希望在外部在作额外的定义。那C#中有没有这样类似的方式呢&#xff1f;答案…