第十课传递信息 课件(29张PPT)+教案

文档属性

名称 第十课传递信息 课件(29张PPT)+教案
格式 zip
文件大小 2.6MB
资源类型 试卷
版本资源 新世纪版
科目 信息技术(信息科技)
更新时间 2020-06-17 08:42:20

文档简介

中小学教育资源及组卷应用平台
新世纪版信息技术八年级下册第十课传递信息教学设计
课题
传递信息
单元
第一单元
学科
信息技术
年级
八年级
学习目标
知识目标:进一步学习列表;进一步学习字典,熟悉前面学过的编程知识。技能目标:学习列表和字典;理解程序。情感目标:培养学生分析理解程序的能力。
重点
学习列表和字典
难点
理解程序
教学过程
教学环节
教师活动
学生活动
设计意图
导入新课
micro:bit可以发送和接收信息,这节课让我们用micro:bit来玩一个传递信息的游戏。一块
micro:bit负责发送信息,另一块micro:bit负责接收信息。
思考
激发学生学习兴趣并快速进入学习状态
讲授新课
一、发送信息【例题1】发送信息。micro:bit上没有键盘,如果用micro:bit发送信息,如何输入要发送的信息呢?想一想,你
有什么好办法?我们用下面的方法输入信息:在micro:bit上显示字母,用按钮B循环翻页,按下按钮A选
定并发送点阵屏幕上显示的字母。
用变量code存储字母(还可以加入标点符号等),code是一个列表,用n表示code中元素的序号。在点阵屏幕上显示code中的字符。输入符号
“#”表示信息发送完毕。用变量message存储所有已发送的信息。程序如下:仔细阅读上面的程序,你能看明白吗?怎样利用
micro:bit
的两个按钮发送信息呢?【例题
1】的办法是:用按钮B翻页显示字符,用按钮A发送点阵屏幕上显示的字符。怎样在屏幕上显示字符呢?用列表
code
存储需要显示的字符:
code
=
['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','
W','X','Y','Z','#']用
n
表示列表中元素的序号,每按一下按钮
B,序号
n
就增加
1,屏幕上
显示
code[n]
这个字符。由于
n
会不断增加,但
n
的最大值不能超过“列表的长度
-1”,当
n
的值
达到列表的长度时,应该重新将
n
的值设置为
0。
if
button_b.is_pressed():
if
n
<
len(code)
-
1:
n
=
n
+
1
else
:
n
=
0上面这些功能可以用求余函数简化:if
button_b.is_pressed():
n
=
n
+
1
n=n%len(code)或者进一步简化为:
if
button_b.is_pressed():
n
=
(n
+
1)%len(code)按下按钮
A
就将
code[n]
这个字符发送出去:radio.send(code[n])为了确定按下按钮
A
时屏幕上的字符是真的发送出去了,我们让屏幕上的
字符闪烁一下。具体的实现方法是:先清屏:display.clear()然后进入下一轮循环后再重新显示字符code[n]

display.show(code[n])于是,按下按钮
A,屏幕上的字符就闪烁了一下,如果没有闪烁,说明按下按钮
A
不成功,需要重新按。当所有的字符发送完毕,需要发送一个结束信号“#”,然后程序就退出
循环:if
code[n]
==
'#':
break最后屏幕上将显示所有已发送的字符。小博士
len()函数的使用方法。语法:len(str)其中变量str可以是字符串、列表、字典等类型。作用:返回字符串、列表、字典等的长度。二、接收信息【例题2】接收信息。由于发送端(【例题1】)是逐个字符发送信息因此在接收端也逐个显示接收到的字符(message_received),并用变量message将所有接收到的字符记录下来。
当接收到结束
符号“#”,在点阵屏幕上显示所有接收到的信息message。程序如图:在上面的程序中,为了确信信息的实时发送和接收是成功的,加入了让屏幕产生闪动效果的命令:display.clear()
sleep(50)交流与协作相邻的两个同学一组,就可以玩发送和接收信息的游戏了。为了让传送信息的游戏更有趣,可以开展
4
人小组之间的信息传递:相邻的两个同学为一端,远处的两个同学为另一端,每一端有两块
micro:bit,一个
用于发送信息,另一个用于接收信息。例如,传递如下信息:1.What’s
your
birthday?
7/92.Who
is
your
idol?Jack
Ma通过玩传递信息的游戏,发现程序存在的缺陷,然后改进程序,提高信息
传送的效率。三、传递加密信息在上一个学期,我们学习了如何用恺撒密码加密信息。现在,让我们用micro:bit来传递
用恺撒密码加密的信息。【例题3】发送加密信息。修改【例题1】程序,用字典类型的变量book来存储恺撒密码。首先建立一个字母列表
code,一个加密字典
book,字典
book
中的“键”
是明码,“键值”是密码。用按钮
B
翻页显示要发送的信息
code[n],然后按下
按钮
A

code[n]
对应的密码
book[code[n]]
发送出去:
if
button_a.is_pressed():
radio.send(book[code[n]])修改后的程序如下:将以上程序保存并复制到一块micro:bit上,然后继续编写接收和解密信息的程序。【例题4】接收和解密信息。将接收到的字符解密,需要查密码字典book,我们先编写一个解密的函数decode(),然后调用该函数对接收到的字符解密。程序中需要设计一个解密函数:def
decode(letter,
book):
for
x
in
book.keys():
if
(book[x]
==
letter):
return
x信息传递完毕,按下按钮A,显示接收到的加密信息;按下按钮B,显示解密了的信息。程序如下:decode(letter,book)函数有两个参数,letter代表接收到的密码,book为密码字典,该函数的功能就是在密码字典book中找密码
letter
对应的明码。明码将作为函数
decode(letter,
book)
的值返回出来。交流与协作两个micro:bit一组,设计一套加密规则,然后编写程序让一个
micro:bit发送加密消息,另一个接收加密消息并能通过按钮切换显示密文和明文。
通过教师的讲解,以小组合作的方式,开展探讨交流,完成任务。通过老师演示学生动手操作,提高动手能力。小组交流、分享学生动手实践操作,学生小组间讨论,共同完成任务。通过老师演示学生动手操作,提高动手能力。小组交流、分享学生动手实践操作,学生小组间讨论,共同完成任务通过教师的讲解,以小组合作的方式,开展探讨交流,完成任务。学生动手实践操作,学生小组间讨论,共同完成任务
通过小组合作,加强学生组内团结、加强学生组内团结、共同完成任务,培养学生动手操作能力,并且锻炼学生的语言组织能力和表达的能力。加强学生组内团结、共同完成任务,培养学生动手操作能力,并且锻炼学生的语言组织能力和表达的能力。培养学生组间合作能力,并且炼动手能力
培养学生动手操作能力,并且锻炼学生的语言组织能力和表达的能力。
课堂小结
分小组总结归纳,教师补充。
各组汇报总结,其他小组成员做补充。
锻炼学生的总结能力,逻辑思维、语言表达能力。
板书
一、发送信息二、接收信息三、传递加密信息
21世纪教育网
www.21cnjy.com
精品试卷·第
2

(共
2
页)
HYPERLINK
"http://www.21cnjy.com/"
21世纪教育网(www.21cnjy.com)(共29张PPT)
新世纪版信息技术
八年级下册
第十课
传递信息
新知导入
micro:bit可以发送和接收信息,这节课让我们用micro:bit来玩一个传递信息的游戏。一块
micro:bit负责发送信息,另一块micro:bit负责接收信息。
新知讲解
一、发送信息
【例题1】发送信息。
我们用下面的方法输入信息:在micro:bit上显示字母,用按钮B循环翻页,按下按钮A选
定并发送点阵屏幕上显示的字母。
micro:bit上没有键盘,如果用micro:bit发送信息,如何输入要发送的信息呢?想一想,你
有什么好办法?
新知讲解
用变量code存储字母(还可以加入标点符号等),code是一个列表,用n表示code中元素的序号。
在点阵屏幕上显示code中的字符。
输入符号
“#”表示信息发送完毕。
用变量message存储所有已发送的信息。
新知讲解
程序如下:
新知讲解
【例题
1】的办法是:用按钮B翻页显示字符,用按钮A发送点阵屏幕上显示的字符。
怎样利用
micro:bit
的两个按钮发送信息呢?
怎样在屏幕上显示字符呢?
仔细阅读上面的程序,你能看明白吗?
用列表
code
存储需要显示的字符:
code
=
['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','
W','X','Y','Z','#']
新知讲解

n
表示列表中元素的序号,每按一下按钮
B,序号
n
就增加
1,屏幕上
显示
code[n]
这个字符。
由于
n
会不断增加,但
n
的最大值不能超过“列表的长度
-1”,当
n
的值
达到列表的长度时,应该重新将
n
的值设置为
0。
if
button_b.is_pressed():
??
?
if
n
<
len(code)
-
1:
??????
n
=
n
+
1
???
else
:
??????
n
=
0
新知讲解
或者进一步简化为:
if
button_b.is_pressed():
??
?
n
=
n
+
1
n=n%len(code)
上面这些功能可以用求余函数简化:
if
button_b.is_pressed():
?
??
n
=
(n
+
1)%len(code)
新知讲解
按下按钮
A
就将
code[n]
这个字符发送出去:
radio.send(code[n])
为了确定按下按钮
A
时屏幕上的字符是真的发送出去了,我们让屏幕上的
字符闪烁一下。
具体的实现方法是:
新知讲解
code[n]

display.show(code[n])
然后进入下一轮循环后再重新显示字符
先清屏:display.clear()
于是,按下按钮
A,屏幕上的字符就闪烁了一下,如果没有闪烁,说明按下按钮
A
不成功,需要重新按。
新知讲解
if
code[n]
==
'#':
???
break
当所有的字符发送完毕,需要发送一个结束信号“#”,然后程序就退出
循环:
最后屏幕上将显示所有已发送的字符。
新知讲解
语法:len(str)
len()函数的使用方法。
小博士
其中变量str可以是字符串、列表、字典等类型。
作用:返回字符串、列表、字典等的长度。
新知讲解
由于发送端(【例题1】)是逐个字符发送信息
因此在接收端也逐个显示接收到的字符(message_received),并用变量message将所有接收到的字符记录下来。
二、接收信息
当接收到结束
符号“#”,在点阵屏幕上显示所有接收到的信息message。
【例题2】接收信息。
新知讲解
程序如图:
新知讲解
在上面的程序中,为了确信信息的实时发送和接收是成功的,加入了让屏幕产生闪动效果的命令:
display.clear()
sleep(50)
新知讲解
为了让传送信息的游戏更有趣,可以开展
4
人小组之间的信息传递:
相邻的两个同学一组,就可以玩发送和接收信息的游戏了。
相邻的两个同学为一端,远处的两个同学为另一端,每一端有两块
micro:bit,一个
用于发送信息,另一个用于接收信息。
交流与协作
新知讲解
通过玩传递信息的游戏,发现程序存在的缺陷,然后改进程序,提高信息
传送的效率。
例如,传递如下信息:
1.What’s
your
birthday?
7/9
2.Who
is
your
idol?Jack
Ma
新知讲解
三、传递加密信息
在上一个学期,我们学习了如何用恺撒密码加密信息。现在,让我们用micro:bit来传递
用恺撒密码加密的信息。
修改【例题1】程序,用字典类型的变量book来存储恺撒密码。
【例题3】发送加密信息。
首先建立一个字母列表
code,一个加密字典
book,字典
book
中的“键”
是明码,“键值”是密码。
新知讲解
用按钮
B
翻页显示要发送的信息
code[n],然后按下
按钮
A

code[n]
对应的密码
book[code[n]]
发送出去:
if
button_a.is_pressed():
???
radio.send(book[code[n]])
新知讲解
修改后的程序如下:
新知讲解
将以上程序保存并复制到一块micro:bit上,然后继续编写接收和解密信息的程序。
新知讲解
将接收到的字符解密,需要查密码字典book,我们先编写一个解密的函数decode(),然后调用该函数对接收到的字符解密。
【例题4】接收和解密信息。
信息传递完毕,按下按钮A,显示接收到的加密信息;按下按钮B,显示解密了的信息。
程序中需要设计一个解密函数:
def
decode(letter,
book):
?
??
for
x
in
book.keys():
??
????
if
(book[x]
==
letter):
??????
??
?
return
x
新知讲解
程序如下:
新知讲解
decode(letter,book)函数有两个参数,letter代表接收到的密码,book为密码字典,该函数的功能就是在密码字典book中找密码
letter
对应的明码。
明码将作为函数
decode(letter,
book)
的值返回出来。
新知讲解
两个micro:bit一组,设计一套加密规则,然后编写程序让一个
micro:bit发送加密消息,另一个接收加密消息并能通过按钮切换显示密文和明文。
交流与协作
课堂小结
总结本节课所学内容
板书设计
一、发送信息
二、接收信息
三、传递加密信息
谢谢
21世纪教育网(www.21cnjy.com)
中小学教育资源网站
有大把高质量资料?一线教师?一线教研员?
欢迎加入21世纪教育网教师合作团队!!月薪过万不是梦!!
详情请看:
https://www.21cnjy.com/help/help_extract.php