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

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

程序优化

下图第一行有1个正三角形,第二行有2个正三角形,第三行有3个正三角形,每一行的第1个正三角形是上下对齐的。

小刚想绘制这个图形,便编写了如下图所示的程序,请根据要求优化程序。

1. 准备工作

(1)保留舞台为默认的白背景;

(2)保留默认小猫角色,小猫在舞台中间位置。

2. 功能实现

(1)用键盘任意输入一个数字表示行数(考虑到舞台的大小,可以提醒输入的数字在1-9之间),之后小猫会根据输入的行数自动绘制一个多行的图形(如果输入5,那么就绘制5行);

(2)绘制的图形规则为:假设绘制n行,第一行绘制一个三角形,第二行绘制2个三角形…第n行绘制n个正三角形;

(3)每行中任意两个正三角形之间都间隔20个坐标值,任意相邻两行的间隔也是20个坐标值,每行的第1个三角形的x坐标值是一样的,即在同一列;

(4)要用函数绘制正三角形,用循环嵌套以及函数来优化程序。

3. 设计思路与实现

(1)角色分析

  • 角色:默认角色小猫

(2)背景分析

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

(3)所用积木块介绍

a. 运动类

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

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

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

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

b. 外观类

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

c. 事件类

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

d. 控制类

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

e. 侦测类

  • 角色发出询问,并在舞台下边框弹出对话框,等待用户的输入回答。

  • 实时的侦测用户所输入的回答,并存储在“回答”变量中。

f. 变量类

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

  • 设置变量的值为给定值,通常用于初始化变量。

  • 设置变量的值为自身的值加X。

g. 自制积木类

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

h. 画笔类

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

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

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

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

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

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

a. 角色设置

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

b. 舞台背景设置

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

(5)脚本编写

新建变量x,用于存储绘制三角形起点的x坐标。

新建变量y,用于存储绘制三角形起点的y坐标。

新建变量i,用于存储绘制三角形当前的行数。

a. 角色:小猫

函数:画三角形

  1. 初始化画笔:颜色设置为黑色,粗细设置为3
  2. 落笔,准备绘制。
  3. 重复执行3次:绘制正三角形的三条边
    • 移动15步
    • 左转120度
  4. 抬笔

流程描述:

  1. 开始:点击小绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 询问 请输入行数(1至9) 并等待。
  3. 初始化变量:x = 0,y = 0,i = 1
  4. 初始化状态:隐藏
  5. 初始化方向:面向90°。
  6. 初始化舞台背景:全部擦除。
  7. 重复执行 回答 次:绘制 回答 行
    • 重复执行 i 次:每次绘制 i 个三角形

      • 移动到 x,Y处
      • 画三角形
      • x += 20,X坐标增加20
    • x = 0,y -= 20,i += 1

4. 评分标准

(1)用键盘任意输入一个数字表示行数;(2分)

(2)用函数绘制正三角形;(2分)

(3)能够根据输入的行数正确绘制图形;(3分)

(4)能够将每行的第一个三角形的坐标进行复位;(1分)

(5)使用循环嵌套完成程序。(2分)

5. 考点分析

四级考试大纲与说明

(一)考核目标

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

(二)能力目标

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

(三)考试标准

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

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

(四)知识块

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

备注:

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

(五)题型配比及分值

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

  1. 中国电子学会图形化四级编程题:成语接龙

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

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

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

  3. 中国电子学会图形化四级编程题:食堂取餐

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

  4. 中国电子学会图形化四级编程题:解密

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

  5. 中国电子学会图形化四级编程题:绳子算法

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

  6. 中国电子学会图形化四级编程题:加减法混合运算器

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

  7. 中国电子学会图形化四级编程题:小猫钓鱼

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

  8. 2021年12月电子学会图形化四级编程题解析含答案:聪明的小猫

    [此题目来自2021年12月份电子学会] [青少年软件编程(图形化)等级考试试卷(四级)] 三.编程题(共5题,共50分) 28.聪明的小猫 有3张卡片,每张卡片上面分别写着1.2.3,从中抽出一张. ...

  9. 2021年9月电子学会图形化四级编程题解析含答案:小猫钓鱼

    [此题目来自2021年9月份电子学会] [青少年软件编程(图形化)等级考试试卷(四级)] 三.编程题(共4题,共50分) 22.小猫钓鱼 小猫一共钓到了8条鱼,小猫挑选出长度小于6cm的鱼放生了,剩下 ...

最新文章

  1. 宋仲基宋慧乔没能找到对的人,算法能帮我们找到么?
  2. Linux命令 —— 输出一组系统信息(uname -a)
  3. 小波的秘密9_图像处理应用:图像增强
  4. Xcode12.5的自定义代码块的使用和函数注释(学会事半功倍)
  5. python中的np array函数_numpy中的np.ascontiguousarray()函数
  6. 2010浙大878计算机专业基础综合解析
  7. 前苹果员工创办激光雷达公司,获4500万美元融资,曾参与苹果机密项目
  8. com app.html,downloadApp.html
  9. 计算机软件资产代码,事业单位六大类固定资产代码.xls
  10. Hadoop学习之hdfs集群搭建详解
  11. SqlServer导出为mdf
  12. 大一作业HTML网页作业:中华传统文化题材网页设计5页(纯html+css实现)
  13. 基于SSH会员积分消费管理系统
  14. 油溶性CdSeTe/ZnS量子点(以CdSeTe为核心,ZnS为壳层)
  15. C语言 模拟简单的地铁售票系统
  16. JVM调优之 -Xms -Xmx -Xmn -Xss
  17. c++实现推箱子游戏(带链表)
  18. Maven配置阿里云HTTPS镜像地址
  19. 学习1368个单词 - 有关物和人的名词
  20. 以太坊Dapp通过web3js部署调用智能合约

热门文章

  1. 计组--习题--总线
  2. 如何在vsc上选择远程miniconda特定的虚拟环境中的Python解释器(4步)
  3. hung-yi lee_p3_线性回归
  4. [学习笔记]矩阵乘法及其优化dp
  5. Hibernate复习之Hibernate基本介绍
  6. 自定义通知与系统通知的学习(详解)
  7. 双边滤波算法的简易实现bilateralFilter
  8. SAP QM 'QM System' 有什么控制作用?
  9. SQL SERVER中ROLLUP的用法
  10. 转:入侵网站必备-sql server