用Scratch编程制作一个高考倒计时程序,为莘莘学子加油!

栏目:成人教育  时间:2023-03-19
手机版

  #少儿编程#动手搭积木,快乐学编程。这里是“讲给孩子的编程思维课”第6节,关注我看往期内容。

  今年,由于疫情影响,高考将延期一个月举行。虽然延期到7月7日,但现在算起来也只有不足50天时间了。这节课,积木哥就和同学们一起为即将参加高考的莘莘学子们制作一个倒计时程序,为他们加油鼓劲!

  这里主要用到的知识有:数学运算、时间的转换和Scratch3.0的自制积木。我们先看一下运行后的效果图:

  高考倒计时效果图01制作前的准备工作

  1. 背景:积木哥使用笨拙的PS技能做了一个背景,如果你需要素材和源文件请在评论区留言。

  2. 原理:想做一个倒计时,必须要知道目标时间和当前时间,然后显示两者的差就是倒计时时间了。目标时间我们已经知道是7月7日9:00:00,当前时间可以通过Scratch3.0中侦测积木的“当前时间的【年/月/日/时/分/秒】”来获取到。那么问题来了,我们怎么计算他们的时间差呢?

  我想到了一个办法,就是先计算从1月1日0时到7月7日9时的秒数,再计算1月1日0时到当前时间的秒数,他们的差就是要倒计时的总秒数了。而把总秒数变成多少天多少小时多少分多少秒,就要通过一系列的计算,我们看看他们之间的转换关系。

  1天 = 24小时 = 24*60分 = 24*60*60秒1小时 = 60分 = 60*60秒1分 = 60秒

  3. 程序的流程:主体程序的流程比较简单,是我们上节课讲过的循环结构,因为是一直在倒计时,所以使用“重复执行”这个积木,让它一直循环。计算1月1日0时至当前时间和高考时间的总秒数,我们使用自制积木,它的流程也比较简单,是一个顺序结构的流程,分别将已过月、日、小时、分和秒累加到总秒数中。

  程序的流程图02动手编写代码积木

  1. 建立变量和列表。根据我们的需要,建立7个变量,分别是当前秒数(储存1月1日0时至当前的总秒数)、高考秒数(储存1月1日0时至高考时间的秒数)、i(读取列表时使用)、天、时、分、秒(用来展示倒计时,这几个变量要打勾,让他们显示在舞台上,并切换成大字显示);另外,建立一个列表每月天数,并添加31、29、31、30、31、30,这个列表是我们计算时用到的各个月的天数。

  变量和列表2. 自制积木计算1月1日到当前时间的总秒数。启动Scratch Desktop,点击代码栏的“制作新的积木”,给他起个名字,编辑区就会出现一个圆角梯形积木,根据流程我们摆放积木,其中重复执行部分是指根据列表中的数值,将已经过去的各月份的天数转换成秒数,之后分别是已过去的天数转换成秒数、已过去的小时转换成秒数、已过去的分钟转换成秒数和已过去的秒数,请同学们认真理解一下,其实只是简单的数学运算。

  计算从1月1日0时到当前时间的秒数3. 自制积木计算1月1日到高考时间的总秒数。这个积木可以复制前面的积木进行修改:

  计算从1月1日0时到高考总秒数的积木自制积木将秒数差还原为天、小时、分、秒。这里使用了带参数的自制积木:

  秒转换成天、时、分、秒的积木天 = 取整(总秒数 / 每天的秒数)时 = 取整(不足一天的秒数 / 每小时的秒数),其中,不足一天的秒数 = (总秒数 / 每天的秒数)的余数分 = 取整(不足一小时的秒数 / 每分钟的秒数),其中,不足一小时的秒数 = (不足一天的秒数 / 每小时的秒数)的余数秒 = 不足一分钟的秒数 = (不足一小时的秒数 / 每分钟的秒数)的余数

  哦……积木哥知道这个逻辑比较绕,多思考一下就会恍然大悟!

  4. 搭建主程序。这就很简单了,根据流程图很快就能搭建好了,这里注意的是,中间我用了等待1秒的积木,你可以把它拿掉看看会出现什么问题……

  主程序积木到这里,程序就编写完了!运行一下看看效果吧。

  03总结

  这节课编写的程序其实没有太高深的技巧,只是在计算数值时需要缜密的逻辑和思考,我认为随着科技的进步,编程工具肯定会越来越简单,但整个程序的设计和想法还是需要经过我们的大脑的构思处理,所以,编程更重要的是想法、是创意、是思路,这也是我们学习编程思维最主要的目的!

  如果觉得这篇文章对你有帮助,别忘了点赞支持我哦。最后预祝所有高考学习金榜题名,加油!

  举报/反馈

上一篇:从“原住民”到“新移民”,如何在临港新片区“百花齐放”?
下一篇:高顿教育:美国cpa怎么报考?就业前景如何?

最近更新成人教育