内容正文:
第四课 计数器
信息技术新世纪版 八年级下
学习要点:
1.认识 micro:bit 可编程按钮及其作用。
2.理解逻辑表达式及其值。
3.进一步熟悉 if 条件分支语句。
重难点:
重点是进一步熟悉 if 条件分支语句。
难点是理解逻辑表达式。
课前导入
同学们,你们知道《中国好声音》吗?冠军赛的选拔是如何选拔出来的?
冠军选拔赛的时候要清点观众的投票票数,节目中会有一个计数器,每个观众投的票都会由计算器计算出来,这节课,让我们用micro:bit来做一个这样的计数器。
一、可编程按钮
micro:bit点阵屏幕的两边有两个按钮,通过编程,可以定义它们的功能。
是一个逻辑值,表示按键“A”是否正被按下,如果是,其值为True,如果不是,其值为False。代码是button_a.is_pressed()。
是一个逻辑值,表示按键“A”是否被按下过,如果是,其值为True,如果不是,其值为False。代码是button_a.was_pressed()。
是一个数值,表示按键“A”被连续按下的次数,代码是button_a.get_pressed()。
演示讲解
【例题4-1】编写程序,比一比谁的按键速度快。
程序展示:
观察测试效果,发现问题
不断地按A键,点阵屏幕上将显示连续按键的最大次数。
上面的程序中,变量m用于保存连续按键的最大值。函数max()的作用是求最大值。
循环程序执行到 sleep(1000) 的时候会停下来等待 1000毫秒,在这个时候我们的每一次按键都会被记录下来,1000 毫秒结束后,执行x = button_a.get_presses() 语句就会读出前面的按键数,然后又从 0 开始计算按键数。
如果将上面程序中的语句 display.show(str(m)) 改为 display.show(str(x)),就可以看到每次在等待 1000 毫秒的过程中的按键数。
将display.show(srt(m))改为如下命令:display.show([str(m),str(x)])运行并展示效果。
程序将显示至今最大的连续按键次数和最近一次连续按键的次数。
试一试:
二、if语句
知识回顾
思考:
还记得我们在哪里学过if 语句吗?
上册第四课 分支程序
if 语句的作用:
实现程序的分支。
if 语句的格式:
功能:
从if 行开始依次对条件进行判断,如果正确则执行该条件下面的〈语句块〉,然后跳出该if语句;如果不正确则对下一个条件进行判断;如果所有条件都不成立,
则执行else下面的〈语句块〉。
if...elif...else语句对应的流程图:
if语句可以简化为:
if<条件>:
<语句块>
演示讲解
【例题4-2】编写程序,将micro:bit变成计数器。按A键数字增大,按B键数字减小。
程序展示:
【例题4-2】程序中,当A键被按下,button_a.is_pressed()的值就是True,否则就是False。运行程序,观察效果。
思考:
观察运行效果,能不能调整一下睡眠(sleep)时间呢?调整之后效果如何?
任务实践一
【例题4-3】编写程序,将micro:bit为成温度计。按A键显示华氏温度,按B键显示摄氏温度。
思考:
1、如何设置变量?
设置t_h表示华氏温度,t_s表示摄氏温度
2、华氏温度与摄氏温度的转换公式是什么?
华氏温度=32+1.8×摄氏温度
程序展示:
将程序保存并运行,micro:bit就变成温度计了。
if 语句里面还可以套if 语句
任务实践二
【例题4-4】编写程序,用按钮控制呼吸灯移动。
程序展示:
运行程序,按钮就可以控制灯珠移动了
$