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

中国电子学会图形化四级编程题:绘制雪花

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

我们将有关编程题目的教学视频已经发布到抖音号21252972100,小马老师上,大家可以关注一下。

绘制雪花

观察下边的图形,编写程序把它画出来(45°的标注是提示,不用绘制)。

1. 准备工作

(1)隐藏小猫角色;

(2)白色背景;

2. 功能实现

用画笔相关积木绘制雪花,注意不得使用图章。雪花枝干和枝桠的边长、画笔的粗细没有限制,但要画出如图所示结构一模一样的蓝色雪花图案。

3. 设计思路与实现

(1)角色分析

  • 角色:默认角色小猫

(2)背景分析

  • 背景:默认背景(无色)

(3)所用积木块介绍

a. 运动类

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

  • 将角色向右旋转指定的角度。

  • 将角色向左旋转指定的角度。

  • 将角色移动到舞台中央指定的X/Y坐标位置,默认坐标(x:0, y:0)。
  • X的范围(-240, 240);Y的范围(-180, 180)。

  • 将角色朝向某个指定的方向。
  • 角色初始朝向右边,90°方向。

b. 外观类

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

c. 事件类

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

d. 控制类

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

e. 自制积木类

  • 建立一个积木,输入积木名称,然后添加积木的参数,以及选择“运行时是否刷新屏幕”。

f. 画笔类

  • 清除舞台中画笔绘制的所有图案。

  • 将画笔放置于舞台上(好比我们用笔画画的时候将画笔笔尖放在纸张上准备绘画)。

  • 将画笔从舞台上提起来,画完了(好比我们画好图形了,把画笔收起来)。

  • 将画笔的颜色设为指定的颜色绘画。

  • 将画笔的粗细设定为指定的值。

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

a. 角色设置

默认角色设置,无需修改角色造型。

b. 舞台背景设置

默认舞台背景设置,无需修改舞台背景。

(5)脚本编写

新建函数“绘制枝干”,用于绘制雪花的一个枝干。

a. 角色:小猫

函数:绘制枝干

  1. 落笔
  2. 移动120(绘制主干)
  3. 重复执行2次:(绘制两个分支)
    • 移动 -40 步
    • 左转 45 度
    • 移动 28 步
    • 移动 -28 步,退回来
    • 右转 90 度
    • 移动 28 步
    • 移动 -28 步,退回来
    • 左转 45 度
  4. 移动 -40 步
  5. 抬笔(恢复到绘制之前的初始状态)

流程描述:

点击小绿旗时:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始状态:隐藏
  3. 初始位置:X=0,Y=0
  4. 初始方向:面向90°
  5. 初始化画布:全部擦除
  6. 初始化画笔:颜色为蓝色,粗细为5
  7. 重复执行10次:绘制10个枝干
    • 调用函数 绘制枝干
    • 左转36°

4. 评分标准

(1)画出的图案里有一个花瓣得2分;

(2)画出的图案里有一个带花心的花瓣得3分;

(3)全部画出得8分,中间部分有错位扣2分,得6分;

(4)像参考程序一样用了双重嵌套循环或者使用了自制积木画出整个雪花得10分。

5. 考点分析

四级考试大纲与说明

(一)考核目标

学生对编程软件的较强综合操作能力,考查使用软件进行数据处理的能力,同时对函数和过程的理解和使用进行考查,以及学生对已掌握知识的深度综合应用及思考更优程序方案,另针对参加 4 级考试的学生将进行结合分析和计算的情境考查。

(二)能力目标

通过本级考试的学生,逻辑推理能力很不错,对数据的处理,函数和过程等的理解和使用掌握得很不错,对已学知识的综合应用能力很好,具备一定的程序调试和优化能力。学生对编程软件的进一步综合操作能力,考查新建链表,字符串处理,循环的复杂运用,理解函数的作用范 围,理解多线程的概念,同时考查学生对已掌握知识的深度综合应用, 另针对参加 4 级考试的学生将进行难度更高的逻辑推理能力的考查。

(三)考试标准

1、理解并使用链表、函数和多线程。

  • 1)能够新建链表;
  • 2)能够完成对链表中数据的插入、删除;
  • 3)字符串处理;
  • 4)能够自己创建一个有返回值的函数;
  • 5)理解函数的作用范围;
  • 6)理解多线程的概念;
  • 7)循环的复杂运用;
  • 8)逻辑,算法过渡。

(四)知识块

  • 1. 字符串:字符串操作,加密
  • 2. 函数:不同类型函数的创建,参数的设置,返回值,函数的调用
  • 3. 链表:创建链表,实现数据的增、删、改、查,显示和隐藏,找最值,平均值等
  • 4. 大综合:前面所有知识点的综合使用,考查
  • 5. 程序优化:使用已有知识进行问题的优化
  • 6. 逻辑,算法过渡:分析和计算情境考察,如爬楼梯的方法(递归)
  • 7. 循环的复杂运用:循环的结构,循环的嵌套,递归调用

备注:

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

(五)题型配比及分值

相关文章:

C++ Primer 读书笔记 - 第十三章

1. Initialization和Assignment不一样。其中Initialization包括direct-initialization (如A a(...))和copy-initialization (如 A a b;) 注意A a b为copy-initialization, 而A a; A b; a b;为Assignment。 2. We cannot copy objects of the IO types, so we can…

Linux-LNMP(静态元素不记录日志和过期时间,防盗链,解析php,代理,支持ssl)

Linux-LNMP-Nginx配置二 静态文件不记录日志和过期时间Nginx防盗链Nginx访问控制Nginx解析php相关配置Nginx代理Nginx负载均衡SSL原理生成SSL密钥对Nginx配置SSL静态文件不记录日志和过期时间在Nginx服务器的虚拟主机配置文件(/usr/local/nginx/conf/vhost/norecord.conf)中定义…

mysql数据库优化命令_MySQL数据库优化总结

一个:MySQL标准数据库优化注意事项1.数据库设计(表设计合理)三范式(规范的模式)三范式包含:第一范式:1NF是对属性的原子性的约束。要求属性具有原子性,不可再分解。(仅仅要是关系型数据库都满足)第二范式:2NF是记录的唯…

C++ 卸载程序

目的:用C写一个自己的卸载程序来完成程序的卸载工作,同时运行后要删除卸载程序本身,并删除卸载程序所在的文件夹。 注:在程序退出的时候写上 自己的卸载代码。 // FileName: Uninstall.h #pragma onceclass CUninstall { private:…

《火星救援VR》原班人马打造全新AR游戏,让可爱小飞龙伴随你左右

曾开发了《火星救援》的VR团队即将发布AR游戏《Follow Me Dragon》,让可爱小飞龙“融入”真实世界。 开发商The Virtual Reality Company曾经打造过风靡一时的《火星救援》VR游戏。今日,他们刚刚发布了一款名为《Follow me Dragon》的AR游戏。 目前&…

【组队学习】【30期】时间序列分析

时间序列分析 航路开辟者:李岳昆、易远哲领航员:王洲烽航海士:李岳昆、易远哲 基本信息 开源内容:https://github.com/datawhalechina/team-learning-data-mining/tree/master/TimeSeries内容属性:打磨课程内容说明…

mysql二进制日志管理_MYSQL二进制日志管理脚本

MYSQL二进制日志管理脚本脚本原理是每小时对进行flush生成新的二进制日志,将二进制日志备份至NFS,并压缩存放:#!/bin/bash#Purpose:管理二进制日志,每小时刷新二进制日志,并将日志复制到nfs服务器上,方便以…

iPhone App开发实战手册学习笔记(5)之IOS常用机制

1 前言 在IOS开发中,相信大家一定听说过委托,数据源,target,action等等,今天我们就来简单的学习一下这些内容。 2 详述 2.1 委托和数据源 大家是否曾经有不知道如何去执行一项任务的时候?或许是修理一台洗碗…

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

希望开设的开源内容 目前Datawhale的开源内容分为两种:第一种是已经囊括在我们的学习路线图内的Datawhale精品课,第二种是暂未囊括在我们的学习路线图内的Datawhale打磨课。我们根据您的投票来确定精品课程的排期,打磨课程一旦完成&#xff…

【Project Euler】530 GCD of Divisors 莫比乌斯反演

【题目】GCD of Divisors 【题意】给定f(n)Σd|n gcd(d,n/d)的前缀和F(n),n10^15。 【算法】莫比乌斯反演 【题解】参考:任之洲数论函数.pdf 这个范围显然杜教筛也是做不了的,而且考虑直接化简f(n)也遇到了困难,所以考虑将前缀和的…

php mysql 星级评分_jQuery+PHP实现星级评分

本例实现的效果:过渡动画显示评分操作。及时更新平均得分和用户所评的分数。后台限制用户重复评分操作,并在前端及时显示。XHTMLHTML结构分为用于显示灰星星div#big_rate、亮星星div#big_rate_up、分数span#s及span#g和提示信息div#my_rate。CSS.rate{wi…

Xt800、DEFY自带号码归属地更新包,更新至2013.4【数据总数278360条】

总结了http://bbs.gfan.com/forum.php?modviewthread&tid5603346&extrapage%3D1&page1和http://bbs.mfunz.com/thread-706813-1-1.html,经测试在我的XT800上可用,可以把其他的第三方来电软件通通删掉了。 特点:能够显示运营商&a…

中国电子学会图形化四级编程题:程序优化

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

当代艺术遇上虚拟现实:幻境视界打造基业VR美术馆

VR展览也许并不少,但专业的艺术展却难得一见。幻境世界周志强希望能借助VR技术,实现“一地办展、全球同展、永不闭馆”,更好地传播当代艺术。 从米开朗琪罗到库尔贝,再到雷诺阿,大师们不断找到新的艺术语言来阐释人体…

python二叉搜索树建立_700. 二叉搜索树的搜索(Python)

题目难度:★☆☆☆☆类型:二叉树给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。例如,给定二叉搜索树:4/ \2 7/ \1 3和值: 2你应该返回…

CF484E Sign on Fence

题意 给定一个长度为n的数列,有m次询问,询问形如l r k 要你在区间[l,r]内选一个长度为k的区间,求区间最小数的最大值 Sol 二分答案 怎么判定,每种数字开一棵线段树 某个位置上的数大于等于它为1 那么就是求区间最大的1的序列长度大…

【组队学习】【30期】吃瓜教程——西瓜书+南瓜书

吃瓜教程——西瓜书南瓜书 航路开辟者:谢文睿、秦州领航员:邱振波航海士:谢文睿、秦州 基本信息 开源内容:https://github.com/datawhalechina/pumpkin-bookB 站视频:https://www.bilibili.com/video/BV1Mh411e7VU内…

如何破解压缩文件密码-省时省力的方法

压缩文件破解工具下载地址:http://www.cnblogs.com/spring_wang/archive/2013/06/14/3135163.html 应该很多人都碰到过RAR加密、解密的问题吧。简单给大家介绍下如何用工具来破解RAR密码!我们所利用的工具,就是“ARPR”、相信有些人肯定知道。…

学完javase和mysql_Java基础学完接下来应该学什么呢?

谢谢邀请!Java基础部分涵盖了类、对象、属性和方法四大概念,以及封装、继承、多态的理解及使用。Java基础部分是Java学习过程中相对来说比较难的部分,Java语言属于开头难,之后越学越简单的语言。基础部分要清晰Java面向对象的开发…

Linux文件分割与合并:splitcat(转载)

转自:http://os.51cto.com/art/201104/255359.htm Linux下文件分割可以通过split命令来实现,而用cat进行文件合并。而分割可以指定按行数分割和安大小分割两种模式。Linux下文件合并可以通过cat命令来实现,非常简单。 在Linux下用split进行文…

【组队学习】【30期】李宏毅机器学习(含深度学习)

李宏毅机器学习(含深度学习) 航路开辟者:王茂霖、陈安东,刘峥嵘,李玲领航员:初晓宇航海士:王茂霖 基本信息 开源内容:https://github.com/datawhalechina/leeml-notes开源内容&am…

mac下用Dosbox搭建dos下的汇编环境

安装Dosbox,下载地址 pan.baidu.com/s/1qZfgGc0 安装汇编编译器,下载masm pan.baidu.com/s/1c4k5fCc,在个人目录下新建 ~/Dosbox目录,把masm拷贝到Dosbox目录中 设置Dosbox autoexec, 编辑~/Library/Preferences/DOSBox\ 0.74\ …

java线程安全的set_Java并发编程之set集合的线程安全类你知道吗

Java并发编程之-set集合的线程安全类Java中set集合怎么保证线程安全,这种方式你知道吗?在Java中set集合是本篇是《凯哥(凯哥并发编程学习》系列之《并发集合系列》教程的第二篇:本文主要内容:Set集合子类底层分别是什么&#xff1…

亮剑.NET的系列文章之.NET实现三层架构(三)

最近一直在学习三层架构,前些天同样也写了一篇同样的博客,今天主要是通过一个登录的实例给大家讲解每部分的作用和相应代码的实现。先将实现三层架构的UML图给大家,帮助大家更好的理解三层。1. UI作用 (1) 向用户展示特定业务数据…

【组队学习】【30期】6. 树模型与集成学习

树模型与集成学习 航路开辟者:耿远昊领航员:姜萌航海士:耿远昊 基本信息 开源内容:https://github.com/datawhalechina/machine-learning-toy-code内容属性:打磨课程内容说明:本课程将对机器学习中的集成…

mysql整理碎片和显示语句错误

2019独角兽企业重金招聘Python工程师标准>>> 1、myisam存储引擎清理碎片方法 OPTIMIZE TABLE table_name 2、innodb存储引擎清理碎片方法 ALTER TABLE tablename ENGINEInnoDB 3、查看表碎片的方法 select ROW_FORMAT,TABLE_ROWS…

java 查询 代码_java使用es查询的示例代码

众所周知,elasticsearch简称es,它是基于基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索…

【转】解密“设计模式”

有些人问我,你说学习操作系统的最好办法是学习程序设计。那我们是不是应该学习一些“设计模式”(design patterns)。这是一个我很早就有定论,而且经过实践检验的问题,所以想在这里做一个总结。 总的来说,如…

Qt Installer Framework实战

Qt Installer Framework是Qt发布的安装程序支持框架,只需要简单的配置就可以生成安装文件,同时可以通过javascript脚本来定制安装过程。 目录结构 config packages data meta 配置文件 config/config.xml packages/[product]/meta/package.xml packages/…

【NCEPU】徐韬:街景字符编码识别比赛

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