【青少年编程】【三级】 合作画画
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】或【Python】,即可进入。如果加入了之前的社群不需要重复加入。
微信后台回复“资料下载”可获取以往学习的材料(视频、代码、文档)。
合作画画
猫和狗合作画出一个边长为100,边为蓝色,填充为红色的方块,猫画好后,狗来填充,如下图所示。
1. 准备工作
(1)保留小猫角色,从角色库中选择角色dog1;
(2)保留白色背景。
2. 功能实现
(1)点击绿旗,小猫画出一个边长为100,四边为蓝色的正方形;
(2)小猫画完后,小狗将正方形填充为红色。
3. 设计思路与实现
(1)角色分析
角色:小猫、dog1
(2)背景分析
背景:默认背景(无色)
(3)所用积木块介绍
「a. 运动类」
角色移动指定的步数,正数就是向前,负数就是向后。
将角色向左旋转指定的角度
将角色移动到舞台中央指定的X/Y坐标位置,默认坐标(x:0, y:0)。 X的范围(-240, 240);Y的范围(-180, 180)。
「b. 事件类」
程序开始积木块。 点击舞台区的绿旗,执行以绿旗开始的所有程序脚本。
消息事件启动积木块,消息是脚本之间、角色之间、舞台与角色之间沟通的重要通道。 当接收到消息时,执行后面的程序指令。
广播一个消息,消息可以新建,数量也不限制,不同的消息可以用于不同的场合。
「c. 控制类」
循环积木块:一遍一遍地执行包起来的积木序列。 重复执行指定的次数后停止,该积木块通常在角色移动等场景中使用。
「d. 变量类」
建立一个变量,输入变量名称,然后选择适用于所有角色还是适用于当前角色。
设置变量的值为给定值,通常用于初始化变量。
设置变量的值为自身的值加X。
「e. 画笔类」
清除舞台中画笔绘制的所有图案
将画笔放置于舞台上(好比我们用笔画画的时候将画笔笔尖放在纸张上准备绘画)
将画笔从舞台上提起来,画完了(好比我们画好图形了,把画笔收起来)
将画笔的颜色设为指定的颜色绘画。
将画笔的粗细设定为指定的值
(4)角色、舞台背景设置
「a. 角色设置」
按照题目要求,保留默认的小猫角色。
在角色区,点击“选择一个角色”菜单,在角色库中选择“dog1”。
「b. 舞台背景设置」
默认舞台背景设置,无需修改舞台背景。
(5)脚本编写
“广播”常常用来进行角色之间的通讯,按照题目的要求,小猫画完后,小狗将正方形填充为红色。我们创建一个消息“填充”,用来通知小狗可以进行填充操作了。
由于Scratch没有填充的积木块,所以遇到填充的操作需要一行一行的绘制直线,该变量“次数”用来记录要绘制的是第几行直线。
「a. 角色:小猫」
流程描述:
当按下绿棋时:
开始:点击绿棋,开始执行代码。 初始化舞台:擦除以往绘制的痕迹。 初始化位置:移动到舞台的中心(X=0, Y=0)。 初始化画笔:粗细为2,颜色为蓝色。此处粗细为2的原因是,小狗绘图时会占用一个像素。 落笔,准备绘图。 重复执行4次:绘制正方形的四条边 移动100步 左转90度 抬笔,停止绘图。 移动到正方形的左侧(X=-70, Y=0)。 广播“填充”。
「b. 角色:dog1」
流程描述:
当接收到广播“填充”时:
初始化位置:移动到舞台的中心(X=0, Y=0),从下往上绘制红色的直线。 初始化变量:次数设为0,记录绘制的行数,正方形的边长为100,用粗细为1的画笔,绘制100行红色的直线即可完成填充的操作。 初始化画笔:粗细为1,颜色为红色。 落笔,准备绘图。 重复执行100次:绘制100行红线 移动100步,绘制一条长度为100的红线 将“次数”增加1 移动到下一行的左端点,X不变,Y变为次数 抬笔,结束绘图。 移动到正方形的右侧(X=170, Y=-60)。
(6)结果展现
4. 考点分析
三级考试大纲与说明
(一)考核目标
进一步认识编程软件的高级功能,对随机数的产生、变量的设置,基于变量的逻辑运算与关系运算的组合使用,解决实际问题;考查画笔模块的更高级操作,应用广播来传递数据,应用克隆来生成克隆体,并灵活控制克隆体;考查对选择语句、循环语句的嵌套使用,以及运用循环简化多次的反复操作程序的理解程度。同时针对参加 3 级考试的学生 将进行多种情况的逻辑处理和交互控制能力的考查。
(二)能力目标
学生对编程软件的进一步综合操作能力,考查对随机数,变量,广播,克隆等知识的掌握,同时考查学生对已掌握知识的深度综合应用,另针 对参加 3 级考试的学生将进行难度更高的逻辑推理能力的考查。
(三)考试标准
1、掌握编程环境的高级功能,并理解其中的基本概念。
1)能够新建、删除变量,修改变量名; 2)能够设定、增减变量值,在舞台区显示、隐藏变量; 3)能够灵活使用画笔及设置画笔的各项参数; 4)掌握逻辑运算与关系运算的组合使用; 5)能够运用循环简化多次的反复操作程序; 6)能够应用广播来传递数据,实现不同角色之间的交互; 7)能够理解广播和广播并等待的区别; 8)能够应用克隆来生成克隆体,并灵活控制克隆体。
2、理解并在程序中使用随机数和变量。
1)理解随机数的概念,能够产生一个随机数; 2)理解变量的概念,理解变量的作用域; 3)能够通过变量的变化让程序跳转到不同的部分; 4)程序中包含不同条件选择语句的嵌套; 5)程序中包含循环语句的嵌套; 6)程序中包含根据选择语句的真假跳出循环程序; 7)循环语句、选择语句嵌套的综合运用。
(四)知识块
[ ] 1. 随机数:随机数的产生,随机数的应用场景判定选取 [x] 2. 变量:新建变量,初始化变量,修改变量名,删除变量,变量值的设定、增减,变量值变化引起效果的变化,变量的显示和隐藏,变量设置为滑杆模式, 变量的作用域,不同应用场景 [x] 3. 循环语句:运用计数循环简化多次的反复操作程序、运用条件循环简化多次的反复操作程序 [x] 4. 循环与选择的嵌套:选择语句的嵌套、选择嵌套和逻辑运算符综合运用、循环语句中包含跳出循环、循环语句的嵌套、选择语句与循环语句的嵌套的综合运用 [x] 5. 画笔:颜色(亮度,饱和度,对比度),图章,擦除图章 [x] 6. 广播:广播传递数据,广播并等待,多角色通过广播交互,广播的使用场景 [ ] 7. 克隆:克隆自己,删除克隆体,克隆体启动的设置 [x] 8. 逻辑推理,编程数学:判断条件的逻辑关系
备注:
[x] 为本题涉及到的知识点。 [ ] 为需要掌握,但本题未涉及到的知识点。
(五)题型配比及分值