资源简介 中小学教育资源及组卷应用平台新世纪版信息技术八年级下册第十课传递信息教学设计课题传递信息单元第一单元学科信息技术年级八年级学习目标知识目标:进一步学习列表;进一步学习字典,熟悉前面学过的编程知识。技能目标:学习列表和字典;理解程序。情感目标:培养学生分析理解程序的能力。重点学习列表和字典难点理解程序教学过程教学环节教师活动学生活动设计意图导入新课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。ifbutton_b.is_pressed():ifn<len(code)-1:n=n+1else:n=0上面这些功能可以用求余函数简化:ifbutton_b.is_pressed():n=n+1n=n%len(code)或者进一步简化为:ifbutton_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不成功,需要重新按。当所有的字符发送完毕,需要发送一个结束信号“#”,然后程序就退出循环:ifcode[n]=='#':break最后屏幕上将显示所有已发送的字符。小博士len()函数的使用方法。语法:len(str)其中变量str可以是字符串、列表、字典等类型。作用:返回字符串、列表、字典等的长度。二、接收信息【例题2】接收信息。由于发送端(【例题1】)是逐个字符发送信息因此在接收端也逐个显示接收到的字符(message_received),并用变量message将所有接收到的字符记录下来。当接收到结束符号“#”,在点阵屏幕上显示所有接收到的信息message。程序如图:在上面的程序中,为了确信信息的实时发送和接收是成功的,加入了让屏幕产生闪动效果的命令:display.clear()sleep(50)交流与协作相邻的两个同学一组,就可以玩发送和接收信息的游戏了。为了让传送信息的游戏更有趣,可以开展4人小组之间的信息传递:相邻的两个同学为一端,远处的两个同学为另一端,每一端有两块micro:bit,一个用于发送信息,另一个用于接收信息。例如,传递如下信息:1.What’syourbirthday?7/92.Whoisyouridol?JackMa通过玩传递信息的游戏,发现程序存在的缺陷,然后改进程序,提高信息传送的效率。三、传递加密信息在上一个学期,我们学习了如何用恺撒密码加密信息。现在,让我们用micro:bit来传递用恺撒密码加密的信息。【例题3】发送加密信息。修改【例题1】程序,用字典类型的变量book来存储恺撒密码。首先建立一个字母列表code,一个加密字典book,字典book中的“键”是明码,“键值”是密码。用按钮B翻页显示要发送的信息code[n],然后按下按钮A将code[n]对应的密码book[code[n]]发送出去:ifbutton_a.is_pressed():radio.send(book[code[n]])修改后的程序如下:将以上程序保存并复制到一块micro:bit上,然后继续编写接收和解密信息的程序。【例题4】接收和解密信息。将接收到的字符解密,需要查密码字典book,我们先编写一个解密的函数decode(),然后调用该函数对接收到的字符解密。程序中需要设计一个解密函数:defdecode(letter,book):forxinbook.keys():if(book[x]==letter):returnx信息传递完毕,按下按钮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。ifbutton_b.is_pressed():???ifn<len(code)-1:??????n=n+1???else:??????n=0新知讲解或者进一步简化为:ifbutton_b.is_pressed():???n=n+1n=n%len(code)上面这些功能可以用求余函数简化:ifbutton_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不成功,需要重新按。新知讲解ifcode[n]=='#':???break当所有的字符发送完毕,需要发送一个结束信号“#”,然后程序就退出循环:最后屏幕上将显示所有已发送的字符。新知讲解语法:len(str)len()函数的使用方法。小博士其中变量str可以是字符串、列表、字典等类型。作用:返回字符串、列表、字典等的长度。新知讲解由于发送端(【例题1】)是逐个字符发送信息因此在接收端也逐个显示接收到的字符(message_received),并用变量message将所有接收到的字符记录下来。二、接收信息当接收到结束符号“#”,在点阵屏幕上显示所有接收到的信息message。【例题2】接收信息。新知讲解程序如图:新知讲解在上面的程序中,为了确信信息的实时发送和接收是成功的,加入了让屏幕产生闪动效果的命令:display.clear()sleep(50)新知讲解为了让传送信息的游戏更有趣,可以开展4人小组之间的信息传递:相邻的两个同学一组,就可以玩发送和接收信息的游戏了。相邻的两个同学为一端,远处的两个同学为另一端,每一端有两块micro:bit,一个用于发送信息,另一个用于接收信息。交流与协作新知讲解通过玩传递信息的游戏,发现程序存在的缺陷,然后改进程序,提高信息传送的效率。例如,传递如下信息:1.What’syourbirthday?7/92.Whoisyouridol?JackMa新知讲解三、传递加密信息在上一个学期,我们学习了如何用恺撒密码加密信息。现在,让我们用micro:bit来传递用恺撒密码加密的信息。修改【例题1】程序,用字典类型的变量book来存储恺撒密码。【例题3】发送加密信息。首先建立一个字母列表code,一个加密字典book,字典book中的“键”是明码,“键值”是密码。新知讲解用按钮B翻页显示要发送的信息code[n],然后按下按钮A将code[n]对应的密码book[code[n]]发送出去:ifbutton_a.is_pressed():???radio.send(book[code[n]])新知讲解修改后的程序如下:新知讲解将以上程序保存并复制到一块micro:bit上,然后继续编写接收和解密信息的程序。新知讲解将接收到的字符解密,需要查密码字典book,我们先编写一个解密的函数decode(),然后调用该函数对接收到的字符解密。【例题4】接收和解密信息。信息传递完毕,按下按钮A,显示接收到的加密信息;按下按钮B,显示解密了的信息。程序中需要设计一个解密函数:defdecode(letter,book):???forxinbook.keys():??????if(book[x]==letter):?????????returnx新知讲解程序如下:新知讲解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 展开更多...... 收起↑ 资源列表 第十课 传递信息.doc 第十课 传递信息.pptx