极客小将

您现在的位置是:首页 » scratch编程资讯

资讯内容

第11课 二百club——计时器和散点图

极客小将2019-08-29-
第11课 二百club——计时器和散点图 任务导航在数字科学家的小圈子里面,有一个叫200俱乐部(200club)的精英团体,加入的标准是30秒内可以按200次空格。之所以成立这个俱乐部,是因为许多电脑游戏中涉及到每分钟电子次数这个概念,一分钟内按键的次数越多,说明按键速度

第11课 二百club——计时器和散点图

 

任务导航

在数字科学家的小圈子里面,有一个叫200俱乐部(200club)的精英团体,加入的标准是30秒内可以按200次空格。之所以成立这个俱乐部,是因为许多电脑游戏中涉及到每分钟电子次数这个概念,一分钟内按键的次数越多,说明按键速度越快,对攻时就越占优势。

本课,我们首先设计一个程序来测定一分钟内按空格的次数,并使用Excel对数据进行分析,观察按键时间随次数变化的规律,如图11.1所示,然后再编写一个程序看看谁可以加入200俱乐部。

图11.1 测定按键速度

 

Follow Me

1. 制作简单的测定按键速度的程序

(1)确定按键速度软件的目标

想一想

       请同学们思考并填写测定按键速度软件的初级目标、中级目标和高级目标(见表11.1)。同时想一想,完成每个目标需要建立那些变量,核心算法又是怎样的?

表11.1 测定按键速度软件的目标

中级目标

 

初级目标

 

高级目标

 

 

(2)设计界面及编写代码

第1步:建立“按键次数”变量。

第2步:在侦测菜单中勾选计时器

,可以在舞台上显示一个秒表,使用脚本块

,可以使秒表归零。

第3步:编写代码。完成这个研究,最简单的代码如图11.2所示。

图11.2按键速度的研究

第4步:测试一分钟内的按键次数。单击绿旗,计时器归零的同时,变量“按键次数”也归零,此时开始按空格键。当舞台上的

到达60的时候停止按键,此时变量“按键次数”的数值,就是测试者60秒内按下空格键的次数,用60秒除以按键次数就是按键速度。

 

想一想

  1. 这个程序可以做那些改进?你打算优先做那个改进,为什么?
  2. 与你的同学交流一下改进的意见,分析一下大家的改进意见,思考一下一般都从几个角度思考如何改进。
  3. 多次实验,看看你的按键速度是否是一个基本不变的数。
  4. 按键速度可能受那些因素的影响呢?

 

DIY

按键速度指的是1分钟内能够完成的“按下-弹起”这个动作的次数。而图11.1所示的程序如果一直按着空格键不放,按键次数会一直不断增加。如果不解决这个问题,就难以保证测量的准确性,你能想个办法,攻克这个难关么?

 

2. 改进程序

(1)增加链表以提高程序的精确度

上述程序中,仅靠眼睛来判断计时器达到60秒时停止按键是不够准确的。我们可以通过新建一个链表“时间”,记录每次按下空格键的时间,这样可以更加精确地统计1分钟按键的次数。如图11.3中,链表的最后两次按下空格键的时间已经超过了60秒,就应该删掉。测试者1分钟按键的次数应为335次。

图11.3 用链表提高按键计数计量的精确度

    参照图11.4中所示的代码,编写脚本。

图11.4  用链表来记录实验过程

(2)使用Excel分析数据

在链表上右击,选择“输出”,将扩展名由txt修改为xls,打开导出的Excel文件,将链表中的数据导入到Excel中。在Excel中,选中“时间/秒”这一列的所有数据,插入散点图,可以看到时间随次数的变化可以近似地看作是一条过原点的直线,如图11.5所示。如何理解这条直线呢?通过这条直线你能够近似地估计出这位同学要按100次空格需要多长时间?200次空格需要多长时间,根据实验数据请你先判断一下,你能够加入200次俱乐部么?

图11.5   用Excel绘制时间随次数变化的散点图

DIY

设计一个判断人是否加入了200次俱乐部的程序,将图11.4所示的代码做如图11.6所示的改进,就可以制作一个简单的研究工具判断谁能够加入200俱乐部,一般五年级的学生中100个当中只有三五个学生可以加入,快快挑战一下吧。

图11.6 200club检测程序

 

 

想一想

  1. 有些同学分析了1分钟的数据发现,前30秒完成了178次按键,后30秒只完成了157次按键,他们猜测这样的数据是由于实验者疲劳造成的,请你设计一个实验计划,找几位合作研究者,验证一下他的猜想。
  2. 根据按键速度的研究数据,你还有那些猜想?
  3. 按键速度的研究软件还有那些地方需要改进?

 

知识着陆

  1. 脚本:
  2. 编程习惯:在软件编写的过程中,如何进行技术攻关
  3. 数字科学素养:如何根据数据提出问题,进行猜想,实验验证。

 

创作天地

  1. 一位同学将图11.4所示的代码作了如下简化,如图11.7所示,你觉得这样做好么?

图11.7 用链表的长度来记录次数

 

2.一位同学错误地把图11.4的程序中,计时器归零的代码放错了位置,得到了图11.8右侧的链表,老师看了后却夸奖他,说从链表的第二项开始,数据都非常有意义。思考一下这是为什么?

图11.8 计时器归零代码的特殊用法

  1. 一位同学发现将第二项减第一项作为第二次按空格的反应时间,以此类推,第二次以后的反应时间都明显小于第一次的反应时间,如图11.9所示,请你帮他分析一下可能的原因。

图11.9 数据的初始误差

3.请试图用图11.10提示的两个代码改进程序,使计数在60秒后自动停止。

图11.10 使按键计数在60秒后自动停止

4.一位同学在采集数据的过程中偷懒休息了一小会儿,然后累了,请别的同学替他按空格,但是这些细节显示在了图11.11所示的图象中,说说这是为什么?

 

图11.11 使用散点图发现数据细节

  1. 有的同学认为,上午反应时间应该比刚吃过午饭的时候反应速度快,你能够帮他设计一个实验计划么?
  2. 一位同学研究了食指和小指同样按键次数所消耗的时间,得到图11.12,你能根据图11.12帮他得出结论么?

 

图11.11 食指和小指同样按键次数所消耗的时间

6.对同一组数据,一位同学除了画出了时间随次数的变化图,还画出了次数岁时间的变化图,如图11.13所示,你能说出这两幅图的联系么?

 

图11.13 次数与时间的关系图

  1. 将本课的数据写成一个实验报告。
  2. 探究一个因素对按键速度的影响。

 

视野拓展

在Scratch的例子的Sensors and Motors当中介绍了Scratch的传感器板的使用方法,如图11.14所示

图11.14 Scratch传感器板介绍

请你察看一下侦测菜单中的传感器模块的功能如图11.15所示,你会发现传感器板的功能还比较强大,可以侦测距离、按键、音量、光照等等信息。

图11.15 Scratch传感器板的功能介绍

如果你想了解更多关于传感器板的知识,你可以登录http://scratch.mit.edu/users/towujunjie,进入传感器板专区,相信你会很有收获。

  1. 和 

  1. ,如果…否则…结构


网友点评

共有5条评论来说两句吧...

在线客服