中国电子学会青少年编程能力等级测试图形化四级编程题:正话反说

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

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

正话反说

正话反说是一个非常考验反应力的游戏,请设计一个正话反说的游戏。

1. 准备工作

(1)删除小猫,添加“Monkey”角色;

(2)保留白色背景。

2. 功能实现

(1)当点击绿旗,小猴询问“请出题”;

(2)输入题目,题目保存在“正话反说题目”列表中;

(3)小猴说出答案2秒,答案保存在“正话反说答案”列表中;

(4)小猴继续询问“请出题”,继续游戏,直到输入“结束”,结束游戏。

3. 设计思路与实现

(1)角色分析

  • 角色:小猴“Monkey”。

(2)背景分析

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

(3)所用积木块介绍

a. 事件类

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

b. 控制类

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

  • 循环积木块:一遍一遍地执行包起来的积木序列。
  • 判断条件是否为真,如果尖尖角里面的返回值为真则停止循环。

c. 侦测类

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

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

d. 运算类

  • 连接两个字符串,得到一个新的字符串。

  • 比较运算,左边等于右边返回true值(真),否则返回false值(假)。

  • 获取所给字符串的长度,即该字符串包含字符的个数。

  • 取出字符串中所给位置的字符。

e. 变量类

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

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

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

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

  • 清空列表。

  • 将一个元素加入到列表的末尾。

f. 自制积木类

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

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

a. 角色设置

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

在角色区,点击“选择一个角色”菜单,在角色库中选择 小猴“Monkey”。

b. 舞台背景设置

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

(5)脚本编写

新建变量“结果”,用于存储正话反说的答案。

新建变量“i”,用于存储字符串遍历时的索引。

新建列表“正话反说题目”,用于存储正话反说的所有题目。

新建列表“正话反说答案”,用于存储正话反说的所有答案。

a. 角色:Monkey

函数:取反,参数 text

  1. 初始化变量:结果=“” (结果为空字符串),i = text的字符数(先取text的最后一个字符)。
  2. 重复执行 text的字符数 次:
    • 结果 = 结果 + text[i](text的第i个字符)
    • i = i – 1(从后向前取值)

流程描述:

当按下绿棋时:

  1. 开始:点击绿棋,开始执行代码。
  2. 初始化列表:清空“正话反说题目”、“正话反说答案”列表。
  3. 小猴询问“请出题”。
  4. 重复执行直到 “回答”等于“结束”:(小猴继续询问“请出题”,继续游戏,直到输入“结束”,结束游戏。)
    • 将“回答”加入“正话反说题目”列表。(输入题目,题目保存在“正话反说题目”列表中;)
    • 调用取反函数,参数为“回答”。
    • 说“结果”,2秒。
    • 将“结果”加入“正话反说答案”列表。(小猴说出答案2秒,答案保存在“正话反说答案”列表中;)
    • 小猴询问“请出题”。

4. 评分标准

(1)初始化程序,清空列表,小猴说“请出题”。(2分)

(2)询问输入题目并将题目保存在“正话反说题目”列表中。(2分)

(3)小猴说出正话反说答案,并将答案保存在“正话反说答案”列表中。(4分)

(4)小猴继续提示请出题,继续游戏,直到输入“结束”,结束游戏。(2分)

5. 考点分析

四级考试大纲与说明

(一)考核目标

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

(二)能力目标

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

(三)考试标准

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

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

(四)知识块

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

备注:

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

(五)题型配比及分值

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注