欢迎来到叮当云教育! | 帮助中心 教学备课就来叮当文库!

叮当云教育

换一换
首页 叮当云教育 > 资源分类 > DOC文档下载
 

新世纪版信息技术八年级下册第十二课 变化无穷的灯 教案.doc

  • 资源ID:34141       资源大小:90.00KB        全文页数:8页
  • 资源格式: DOC        下载权限:游客/注册会员/VIP会员    下载费用:20金币 【人民币2元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: 微信开放平台登录
下载资源需要20金币 【人民币2元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,下载更多资源
 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

新世纪版信息技术八年级下册第十二课 变化无穷的灯 教案.doc

新世纪版信息技术八年级下册第十二课变化无穷的灯教学设计课题 变化无穷的灯单元第一单元学科信息技术年级八年级学习目标知识目标:学习字符串的运算,掌握几种常用的字符串运算。技能目标:进一步熟悉 eval 函数的使用方法;进一步熟悉列表的操作。情感目标:通过对编程的学习,培养学生分析理解程序的能力。重点自主学习 Python 命令、函数的用法。难点本课所用 到的命令比较多,也比较难理解。教学过程教学环节教师活动学生活动设计意图导入新课上节课我们学习了,通过编程做石头剪刀布的游戏。这节课,我们学习通过编程,可以让micro:bit点阵屏幕呈现无穷的变化。观察思考激发学生学习兴趣并快速进入学习状态讲授新课一、全屏呼吸灯全屏呼吸灯让整个点阵屏幕整齐划一地呈现呼吸灯的效果。【例题1】编写程序,让micro:bit屏幕变成呼吸灯。其设计思路是:设计 10 个不同亮度的点阵图案,然后循环显示这 10 个图案,让点阵屏幕 呈现呼吸灯的效果。程序如下:from microbit import * i0=Image(00000:00000:00000:00000:00000) i1=Image(11111:11111:11111:11111:11111) i2=Image(22222:22222:22222:22222:22222) i3=Image(33333:33333:33333:33333:33333) i4=Image(44444:44444:44444:44444:44444) i5=Image(55555:55555:55555:55555:55555) i6=Image(66666:66666:66666:66666:66666) i7=Image(77777:77777:77777:77777:77777) i8=Image(88888:88888:88888:88888:88888) i9=Image(99999:99999:99999:99999:99999) images=i0,i1,i2,i3,i4,i5,i6,i7,i8,i9 display.show(images,delay=500,wait=True,loop=True,clear=True)如果用图形化的方式编程,这个案例比较容易,但为了掌握更多的编程知识特意将图形化的方式编写的程序用代码方式进行了优化。具体来说:00000 可以表述成 0*5因此: img=00000:00000:00000:00000:00000 可以表示成:img=(0*5+:)*4+0*5于是我们可以用循环语句来生成呼吸灯的每一个图案,并将该图案加入到 列表 images 中:images.append(img)往列表中加入元素是经常会遇到的操作,命令格式如下:列表名称 .append( 往列表中加入的元素 )因此上面的程序可以优化为:from microbit import * images= for i in range(10): ix=(str(i)*5+:)*4+str(i)*5 img=Image(ix) images.append(img) display.show(images,delay=500,wait=True,loop=True,clear=True)小博士Python字符串的几种常见运算假设: a=Hello b=Python 则:试一试修改【例题1】,使呼吸灯的闪烁规律变为“逐渐变亮逐渐变暗”。from microbit import *images= for i in range(10): ix=(str(i)*5+:)*4+str(i)*5 img=Image(ix) images.append(img) for i in range(9,0,-1): ix=(str(i)*5+:)*4+str(i)*5 img=Image(ix) images.append(img) display.show(images,delay=100,wait=True,loop=True,clear=True)二、走马灯走马灯是指循环显示的一组灯。【例题2】设计一个灯光绕着mico:bit点阵屏幕的四周移动的走马灯。这个走马灯实际上是一个有16幅画面的动画。程序如下:from microbit import * images = i1=Image(90000:00000:00000:00000:00000) i2 = Image(09000:00000:00000:00000:00000) i3 = Image(00900:00000:00000:00000:00000) i4 = Image(00090:00000:00000:00000:00000) i5 = Image(00009:00000:00000:00000:00000) i6 = Image(00000:00009:00000:00000:00000) i7 = Image(00000:00000:00009:00000:00000) i8 = Image(00000:00000:00000:00009:00000) i9 = Image(00000:00000:00000:00000:00009) i10 = Image(00000:00000:00000:00000:00090) i11 = Image(00000:00000:00000:00000:00900) i12 = Image(00000:00000:00000:00000:09000)i13=Image(00000:00000:00000:00000:90000) i14=Image(00000:00000:00000:90000:00000) i15=Image(00000:00000:90000:00000:00000) i16=Image(00000:90000:00000:00000:00000)images.append(eval(ix) display.show(images, delay=500, wait=True, loop=True, clear=True)在上面的程序中,images是包含了16幅画的列表由于创建images的表述非常长,因此上面的程序用了一个for循环来创建images列表遍历116,依次将16个画面添加到列表images。for i in range(1,17,1): ix = i + str(i) images.append(eval(ix)在上面的程序片段中,ix 是一个变量名字符串要用 eval(ix) 才能将字符 串的引号去掉,转变成变量名:函数 eval(“字符串 str”)的作用是:将“字符串 str”转换成表达式,相当于把字符串外面的引号去掉。【例题 3】设计一个遍历mico:bit点阵屏幕所有LED灯的走马灯。点阵屏幕上有25个LED灯,分别用024来编号,假设某LED灯的编号是n,那么它的x、y 坐标就是:x = n % 5 y = int(n / 5)其中%是求余运算,int()是取整运算。例如:n=10,那么 x=10%5,即 x=0 ;y=int(10/5),即 y=2。程序用 n 来控制亮灯的位置,当 n 超过 25 时,应该将 n 重置为 0,也就是 说可以对 n 进行求余运算:n=n%25。程序如下:from microbit import * import random n = 0 while True: x = n % 5 y = int(n / 5) display.set_pixel(x, y, 9) n = (n + 1) if (n 24): n = 0 sleep(100) display.set_pixel(x, y, 0)试一试设计一个走马灯。例如,修改上面的程序,将 n=n+1 修改为 n=n+3,就得到了一个新的走马 灯程序如下:from microbit import * n = 1 while True: x = (n % 5) y = int(n / 5)display.set_pixel(x, y, 9) n = (n + 3)%25 sleep(200) display.set_pixel(x, y, 0)如果要得到两盏灯往前移动的效果,只要在程序中增加一盏相邻的灯。程序如下:from microbit import * n = 0 while True: x = (n % 5) y = int(n / 5) display.set_pixel(x, y, 9) n = (n + 1)%25 x1 = (n % 5) y1 = int(n / 5) display.set_pixel(x1, y1, 9) sleep(200) display.set_pixel(x, y, 0) display.set_pixel(x1, y1, 0)三、灯光瀑布【例题4】设计一个灯光瀑布。程序如下:from microbit import * n=0 while True: n=(n-1)%10 img=str(n)*5 for i in range(4): t=(n+i)%10img=img+:+str(t)*5display.show(Image(img) sleep(50) if button_b.was_pressed(): break在上面的程序中语句 n=(n+1)%10 的作用与下列语句相同: n=n+1n=n%10 程序通过如下 for 循环,不断生成点阵屏幕画面的列表:img=str(n)*5 for i in range(4): t=(n+i)%10 img=img+:+str(t)*5然后显示 50 毫秒,通过 while 循环,形成灯光瀑布的视觉效果:display.show(Image(img) sleep(50)运行程序,可以看到点阵屏幕上的灯光像瀑布一样倾泻下来。当按下按钮B,程序就终止运行。可以看到程序结束前点阵屏幕上最后显示的灯光。当按下micro:bit的复位键后,程序又会重新运行。在上面的程序中,利用了求余运算来使得变量n在9和0之间不断循环。求余运算%的格式和功能如下:格式:a%b功能:求a除以b的余数。例如:while True循环中,每次循环生成一个点阵屏幕,点阵屏幕各LED灯的亮度由for循环生成。详情如下:同样的效果也可以由下面的程序实现:试一试你能参照【例题4】,做一个全屏呼吸灯吗?参考程序如下:from microbit import * n=0 while True: n=(n+1)%10 img=(str(n)*5+:)*4+str(n)*5 display.show(Image(img) sleep(50)通过教师的讲解,以小组合作的方式,开展探讨交流,完成任务。通过老师演示学生动手操作,提高动手能力。小组交流、分享学生动手实践操作,学生小组间讨论,共同完成任务。通过老师演示学生动手操作,提高动手能力。小组交流、分享通过教师的讲解,以小组合作的方式,开展探讨交流,完成任务。学生动手实践操作,学生小组间讨论,共同完成任务通过教师的讲解,以小组合作的方式,开展探讨交流,完成任务。通过教师的讲解,以小组合作的方式,开展探讨交流,完成任务。学生动手实践操作,学生小组间讨论,共同完成任务通过小组合作,加强学生组内团结、加强学生组内团结、共同完成任务,培养学生动手操作能力,并且锻炼学生的语言组织能力和表达的能力。加强学生组内团结、共同完成任务,培养学生组间合作能力,并且炼动手能力 培养学生动手操作能力,并且锻炼学生的语言组织能力和表达的能力。培养学生组间合作能力,并且炼动手能力培养学生组间合作能力,并且炼动手能力培养学生动手操作能力,并且锻炼学生的语言组织能力和表达的能力课堂小结分小组总结归纳,教师补充。各组汇报总结,其他小组成员做补充。锻炼学生的总结能力,逻辑思维、语言表达能力。板书一、全屏呼吸灯二、走马灯三、灯光瀑布

注意事项

本文(新世纪版信息技术八年级下册第十二课 变化无穷的灯 教案.doc)为本站会员(备课啦)主动上传,叮当云教育仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知叮当云教育(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




经营许可证编号:鲁ICP备09030270号-2   鲁公网安备 37011602000151号 copyright@ 2019-2022

网站大部分作品源于会员上传,除本网站整理编辑的作品外,版权归上传者所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

1
收起
展开