中国电子学会scratch等级考试四级编程题:找出出现次数最多的数字
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】或【Python】,即可进入。如果加入了之前的社群不需要重复加入。
我们将有关编程题目的教学视频已经发布到抖音号21252972100,小马老师上,大家可以关注一下。
找出现次数最多的数字
找出出现次数最多的数字,如果有多个数字出现次数相同,则答案为后输入的数字。
1. 准备工作
(1)保留默认的白色背景及小猫角色;
(2)建立名为“list”的列表。
2. 功能实现
(1)运行程序,小猫询问“请问要输入几个数字?”
(2)小猫依次询问“请输入第x个数字”,将输入的各个数字存放在列表“list”中。(x是指第几个,例如:请输入第1个数字;请输入第2个数字)
(3)找出其中出现次数最多的数字,小猫说“出现次数最多的数字是xxx”。如果有多个数字出现的次数相等,都是最多的,小猫说出最后一个。(例如:小猫说“出现次数最多的数字是26“)
3. 设计思路与实现
(1)角色分析
- 角色:默认角色小猫
(2)背景分析
- 背景:默认背景(无色)
(3)所用积木块介绍
a. 外观类
- 在规定的时间内在舞台上显示输入的文字。
b. 事件类
- 程序开始积木块。
- 点击舞台区的绿旗,执行以绿旗开始的所有程序脚本。
c. 控制类
- 循环积木块:一遍一遍地执行包起来的积木序列。
- 重复执行指定的次数后停止,该积木块通常在角色移动等场景中使用。
- 条件判断语句,如果条件返回值为真(bool值),那么执行模块里面的积木指令,如果条件不成立,返回值为假,执行条件判断模块后面的程序指令。
d. 侦测类
- 角色发出询问,并在舞台下边框弹出对话框,等待用户的输入回答。
- 实时的侦测用户所输入的回答,并存储在“回答”变量中。
e. 运算类
- 比较运算,左边等于右边返回true值(真),否则返回false值(假)。
- 连接两个字符串,得到一个新的字符串。
- 比较运算,左边大于右边返回true值(真),否则返回false值(假)。
- 逻辑或运算,两个条件,只要满足一个条件为真,则整个逻辑运算返回bool值(真),只有两个条件都为假的情况,逻辑运算才返回bool值(假)。
f. 变量类
- 建立一个变量,输入变量名称,然后选择适用于所有角色还是适用于当前角色。
- 设置变量的值为给定值,通常用于初始化变量。
- 设置变量的值为自身的值加X。
- 建立一个列表,输入列表名称,然后选择适用于所有角色还是适用于当前角色。
- 将一个元素加入到列表的末尾。
- 获取列表中索引为X的项目。
- 列表中包含项目的数目。
- 清空列表。
g. 自制积木类
- 建立一个积木,输入积木名称,然后添加积木的参数,以及选择“运行时是否刷新屏幕”。
(4)角色、舞台背景设置
a. 角色设置
默认角色设置,无需修改角色造型。
b. 舞台背景设置
默认舞台背景设置,无需修改舞台背景。
(5)脚本编写
新建列表“list”,用来存储数字。
新建变量“出现次数”,用来存储数字在列表中出现的次数。
新建变量“编号”,用来存储遍历列表时,列表项目的编号。
新建变量“数字的数量”,用来存储向list中放入数字的数量。
新建变量“出现最多的次数”,用来存储列表中出现次数最多的项目的出现次数。
新建变量“最多次数对应的项”,用来存储列表中出现次数最多的项目。
新建变量“序号”,用来存储遍历列表时,列表项目的序号。
a. 角色:小猫
定义函数:出现次数,参数为“数字”,用来统计“数字”在列表中出现的次数。
函数:出现次数,参数为“数字”
- 初始化变量:出现次数 = 0,编号 = 1;
- 重复执行 list的项目数 次:遍历列表
- 如果 “数字” = list的第 编号 项,那么 出现次数 + 1;
- 编号 += 1;
流程描述:
当按下绿棋时:
- 开始:点击绿旗,程序启动,执行后续指令模块。
- 初始化列表:删除 “list” 的全部项目。
- 询问【请问要输入几个数字?】并等待。
- 初始化变量:“数字的数量” = “回答”,“编号” = 1。
- 重复执行 “数字的数量” 次:
- 询问【请输入第 “编号” 个数字】并等待。
- 将“回答”加入“list”。
- 初始化变量:出现最多的次数 = 0,最多次数对应的项 = 0,序号 = 1。
- 重复执行 “list的项目数” 次:
- 调用函数 出现次数,参数为 list的第“序号”项。
- 如果 “出现次数” 大于或等于 “出现最多的次数”,那么 “出现最多的次数” = “出现次数”,“最多次对应的项” = list的第“序号”项。
- 序号 += 1。
- 小猫说【出现次数最多的数字是“最多次数对应的项”】,5秒。
4. 评分标准
(1)能够输入多个数字;(2分)
(2)输入的数字能够按顺序存入列表【list】;(2分)
(3)能够找出出现次数最多的数字;(4分)
(4)如果有相同的,找到的是最后一个。(2分)
5. 考点分析
四级考试大纲与说明
(一)考核目标
学生对编程软件的较强综合操作能力,考查使用软件进行数据处理的能力,同时对函数和过程的理解和使用进行考查,以及学生对已掌握知识的深度综合应用及思考更优程序方案,另针对参加 4 级考试的学生将进行结合分析和计算的情境考查。
(二)能力目标
通过本级考试的学生,逻辑推理能力很不错,对数据的处理,函数和过程等的理解和使用掌握得很不错,对已学知识的综合应用能力很好,具备一定的程序调试和优化能力。学生对编程软件的进一步综合操作能力,考查新建链表,字符串处理,循环的复杂运用,理解函数的作用范 围,理解多线程的概念,同时考查学生对已掌握知识的深度综合应用, 另针对参加 4 级考试的学生将进行难度更高的逻辑推理能力的考查。
(三)考试标准
1、理解并使用链表、函数和多线程。
- 1)能够新建链表;
- 2)能够完成对链表中数据的插入、删除;
- 3)字符串处理;
- 4)能够自己创建一个有返回值的函数;
- 5)理解函数的作用范围;
- 6)理解多线程的概念;
- 7)循环的复杂运用;
- 8)逻辑,算法过渡。
(四)知识块
- 1. 字符串:字符串操作,加密。
- 2. 函数:不同类型函数的创建,参数的设置,返回值,函数的调用。
- 3. 链表:创建链表,实现数据的增、删、改、查,显示和隐藏,找最值,平均值等。
- 4. 大综合:前面所有知识点的综合使用,考查。
- 5. 程序优化:使用已有知识进行问题的优化。
- 6. 逻辑,算法过渡:分析和计算情境考察,如爬楼梯的方法(递归)。
- 7. 循环的复杂运用:循环的结构,循环的嵌套,递归调用。
备注:
- 为本题涉及到的知识点。
- 为需要掌握,但本题未涉及到的知识点。
(五)题型配比及分值
相关文章:

人工智能 有信息搜索 (启发式)
一、最佳优先搜索 根据评价函数选择表现的最佳的节点进行扩展 最佳优先搜索 best-first-search 算法 不同的方法有不同的评价函数 启发函数,标记h(x) h(n)从节点n到目标的最低耗散估计值 启发函数是额外信息的一种最普通的形式 二、贪婪最佳优先搜索 最先扩展离目标…

java 排序算法 讲解_java实现排序算法之冒泡排序法详细讲解
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序。这…

24、线程控制
线程有一套完整的与其有关的函数库可供调用,它们中的绝大多数函数名都以pthread_开头。为了调用这些函数库,必须在程序中包含头文件pthread.h,并且在比那一程序时使用选项-lpthread来链接线程库。 1、线程标识 就像每个进程有一个进程ID一样,…

Datawhale组队学习周报(第038周)
本周报总结了从 11月01日至11月07日,Datawhale组队学习的运行情况,我们一直秉承“与学习者一起成长的理念”,希望这个活动能够让更多的学习者受益。 第 30 期组队学习一共 8 门开源课程,共组建了 8 个学习群,参与的学…

OpenGL概念辨析: 窗口,视口,裁剪区域
1.窗口:这就不用解释了吧 2.视口:就是窗口中用来显示图形的一块矩形区域,它可以和窗口等大,也可以比窗口大或者小。只有绘制在视口区域中的图形才能被显示,如果图形有一部分超出了视口区域,那么那一部分是看…

java源码推荐_基于java的推荐系统实现源代码
【实例简介】常用推荐算法java实现~涉及多种相似度计算,比如cosine相似度,欧氏距离等~(recommand algirithm )【实例截图】【核心代码】RecommendSystemJavaCode└── Recommend└── src├── collaborative│ ├── cache│ │ ├── FileS…

ref与out的区别
前一段时间老用ref与out 感觉他们的效果差不多,就去网上查了一下他们的区别,网上说的概念性的东西太多了,后来通过自己的摸索发现他们有一个规律 ref: 在引用方法之外必须赋初值 static void TestRefAndRef(){string s1"test";Test…

【组队学习】【31期】组队学习内容详情
第31期 Datawhale 组队学习活动马上就要开始啦! 本次组队学习的内容为: IOS开发基于Python的办公自动化吃瓜教程——西瓜书南瓜书LeetCode 刷题李宏毅机器学习(含深度学习)动手学数据分析SQL编程语言数据可视化(Matpl…

区块链到底是什么?
2019独角兽企业重金招聘Python工程师标准>>> 欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 翻译人:ArrayZoneYour,该成员来自云社区翻译社 原文链接:https://www.investinblockchain.com/what-exactly-is-…

java怎么返回xml_java – 如何从Web服务返回XML
这可能是疯狂/愚蠢/愚蠢/冗长的问题之一,因为我是网络服务的新手.我想写一个Web服务,它将以XML格式返回答案(我正在使用我的服务进行YUI自动完成).我正在使用Eclipse和Axis2并遵循http://www.softwareagility.gr/index.php?qnode/21我希望以下列格式回复代码元素的数量可能因响…

jsp路径问题
绝对路径:/StudentInfo/images/login.jpg 相对路径:images/login.jpg 路径前面的第一个/代表tomcate目录下面的webapps这个文件夹 jsp的Advanced模版。。。默认有一个基准路径,所有写的路径都会变成绝对路径。 测试的时候发现,在IE下面可以正…

写一篇C语言入门第一讲
嗨~大家好~ 我是小白,最近才使用这个博客,我是一个计算机系的学生,我会在这里发一些我给我们班其他同学讲C语言入门的博文,希望大家能共享这些资料,当然了,我也很希望大家给我提出好的意见或建议。&#x…
李嘉骐:03 PyTorch模块与基础实战
深入浅出Pytorch 03 PyTorch模块与基础实战 内容属性:深度学习(实践)专题航路开辟者:李嘉骐、牛志康、刘洋、陈安东领航员:叶志雄航海士:李嘉骐、牛志康、刘洋、陈安东开源内容:https://githu…

math.hypot java_Java之Math类
Java之Math类#Java的Math类封装了很多与数学有关的属性和方法,后续遇到常用也会直接在这篇博客更新。。。###public static void t2() {System.out.println(Math.E);//比任何其他值都更接近 e(即自然对数的底数)的 double 值。System.out.println(Math.PI);//比任何其他值都更接…

ruby Mixin用法
module MyNA"China"attr:nameattr:agedef set_name(name)namenameenddef get_namereturn nameenddef set_age(age)ageageend endclass Testinclude My endtTest.new t.set_name("history") p t.get_name 转载于:https://www.cnblogs.com/wangwenfei/p/ruby…

delphi ScriptGate 调用JS
在 FireMonkey 使用 TWebBrowser 调用 Javascript函数并获取返回值以及 JavaScript 中调 Delphi 的函数/过程,普遍都在使用老掉牙的URL重定的方法,还要改 FMX 的源码,相当繁琐。 现在使用 ScriptGate 可轻易解决这个问题,ScriptGa…

【NCEPU】韩绘锦:扩散卷积神经网络
韩绘锦是华北电力大学数理系大四的学生,Datawhale成员/Dreamtech成员,也在天池比赛中取得了不错的成绩,现保送大连理工大学软件工程学院深造。 这篇图文是他在线下组队学习时,分享的内容。 希望参与我们组队学习的同学可以在微信…

java 解压与压缩代码_Java实现多文件压缩和解压缩代码详解
Java实现多文件压缩和解压缩代码import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.util.Enumeration;import java.util.zip.ZipEntry;import java.util.zip.ZipFile;…

关系管理系统:js代码生成select的出生日期
//page初始调用function pageInit() {makeYear();makeMonth();makeDay();} //产生Year function makeYear(){var year document.getElementById("year");for(var i1901;i<new Date().getYear();i){var option document.createElement("option");optio…

【组队学习】【31期】IOS开发
IOS开发 航路开辟者:李岳昆、易远哲领航员:杨皓博航海士:李岳昆、易远哲 基本信息 开源内容:https://github.com/datawhalechina/team-learning-program/tree/master/IOS内容属性:公测课程内容说明:iOS开…

amh支持java吗_跟我学Android之三 常用视图
目标掌握视图的概念。明白Activity与Widget的区别。掌握XML方式布局界面的特点和一些基本特性。掌握几种常见基本视图的用法学会使用代码方式进行界面布局的方法。熟练掌握界面程序的事件驱动模型视图(View)是可视化的界面元素,任何可视化组件都需要从android.view.View类继承,…

Linux 终端命令行提示符的艺术--PS1进阶
话不多说,先瞅瞅我的命令行提示符(有点大): 图中命令行解释:┌[阳历日期/农历日期 时间]├[当前目录下目录数当前目录下文件数][当前绝对目录]└[用户名主机名-第几个终端 ╰_╯] 相关配置文件 全局配置文件࿱…

Centos 7 冗余备份磁盘配置介绍
Centos 7 冗余备份磁盘配置介绍我们上一盘介绍了Centos 7 磁盘阵列配置介绍,今天继续上一篇的配置介绍,通过上一篇的配置介绍我们发现了一个问题。,运维人员需要在硬盘硬件出现故障后,手动增加新的硬盘进去,这样很不方…

【组队学习】【31期】基于Python的办公自动化
基于Python的办公自动化 航路开辟者:牧小熊、刘雯静、张晓东、吴争光、隆军领航员:六一航海士:牧小熊、李显、刘羽中、王晓亮 基本信息 开源内容:https://github.com/datawhalechina/team-learning-program/tree/master/Office…

java urlconn 下载慢_使用HttpURLConnection下载文件时出现 java.io.FileNotFoundException彻底解决办法...
import java.io.File;import java.io.IOException;import java.io.InputStream;import java.io.RandomAccessFile;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLEncoder;/*** 多线程下载* author bing**/public class OmbDownloadOfThreadsUtil …

java中Array和ArrayList区别
2019独角兽企业重金招聘Python工程师标准>>> 1)精辟阐述: 可以将 ArrayList想象成一种“会自动扩增容量的Array”。 2)Array([]):最高效;但是其容量固定且无法动态改变; …

【组队学习】【31期】 吃瓜教程——西瓜书+南瓜书
吃瓜教程——西瓜书南瓜书 航路开辟者:谢文睿、秦州领航员:张海腾航海士:谢文睿、秦州 基本信息 开源内容:https://github.com/datawhalechina/pumpkin-bookB 站视频:https://www.bilibili.com/video/BV1Mh411e7VU内…

设计模式之“代理模式”
代理(Proxy)模式给某一个对象提供一个代理,并由代理对象控制对原对象的引用。 代理模式的英文叫做Proxy或Surrogate,中文都可译成"代理"。所谓代理,就是一个人或者一个机构代表另一个人或者另一个机构采取行…

php更新数据库时间戳,关于Thinkphp5 里面数据库自动更新与创建时间的问题
我们有时候往数据库里面写入新的一条数据 时,可能需要自动更新时间、自动创建时间、这样就可以方便我们、从而大大减小我们的代码量;不过在TP5里面有一个小规律,就是save()与insert()语句的区别;1、我们先看一下TP5里面自动更新时…

【组队学习】【31期】LeetCode 刷题
LeetCode 刷题 航路开辟者:杨世超领航员:刘军航海士:杨世超、李彦鹏、叶志雄、赵子一 基本信息 开源内容:https://github.com/itcharge/LeetCode-Py开源电子书:https://algo.itcharge.cn内容属性:合作课…