资源简介 粤高教信息技术八年级下册教学设计课题 第1课 加法心算游戏单元第二单元学科信息技术年级八年级学习目标了解标准库、扩展库的含义。掌握import语句导入库或模块的方法。理解数字类型的输出控制格式。掌握random模块及time模块中相关函数的使用方法。变成解决简单的随机问题。重点掌握import语句导入库或模块的方法。难点掌握random模块及time模块中相关函数的使用方法。教学过程教学环节教师活动学生活动设计意图导入新课心算训练考科一培养我们的计算技巧,如何能提高心算能力呢?借助计算机游戏来提高心算能力是个好办法。 让我们来编写一个加法心算游戏吧!交流:加法心算比赛可以从哪几方面去评判输赢? 在难度相似的情况下随机答题,可以从答题数、正确率来判输赢了解心算比赛评判。 通过加法心算游戏来引出随机函数。讲授新课分析问题编写一个“加法心算游戏”程序,要求由计算机在限定时间内随机给出若干道两个100以内加数的加法题,比正确率。需要解决的关键问题是:一是如何实现在限定时间内多次出题、答题;二是如何随机出题。利用time模块获取时间,用来计算时长,并根据时长确定游戏是否继续。利用random模块每次生成不同的随机整数作为加数。学习新知(一)函数与库标准库,是指Python语言自带并自动安装的库;扩展库,是指有其他人开发且需要另外安装的库,这些库提供了更丰富和更强大的功能。(二)random模块 Python标准库中的random模块,它主要用于产生指定范围内的随机数。要使用random模块中的函数先导入该模块,导入命令如下:import random导入模块后,要调用模块中的函数,需按如下的格式书写:模块名.函数(参数)练习: 例如,调用random模块中的random()和randint()两个函数。(1)不带参数,用于产生一个在区间[0,1]内的随机浮点数,书写格式如下。random.random()(2)用于产生一个在区间[9,20]内的随机整数,书写格式如下:random.randint(9,20)实践:在IDLE交互模式下完成下列操作,理解random()函数及randint()函数的作用。 random()随机生成一个0~1的浮点数;randint()随机生成一个给定区间内的整数(三)time模块ime模块包含在标准库中,它主要用于处理日期和时间。导入 time 模块的命令如下:Import time time 模块中的函数time()用于获取当前时间戳。要计算前后两个时间点的时长(秒数),只要用前后两次time.time()的值相减即可。实践:在IDLE交互模式下,导入time模块,然后多次输入time.time()命令,观察每次的结果有何变化,理解time()的作用。探究:1、运行程序time.py,相邻同学对比运行结果,你能从中得出什么结论?2、请写出语句的执行结果,并在IDLE交互模式下验证。设计算法 据前面分析,加法心算游戏程序的算法流程如图2-1-2所示。四、编写程序根据从上面的算法分析,加法心算游戏程序的代码如下:实践:完善程序add.py,并运行测试。开展加法心算游戏活动,比谁答对的题目最多、正确率最高。实践与创作:修改程序add.py,将原程序修改为两位数的整数口算乘法游戏程序,答题时间由键盘输入,程序保存为mul.py。参考图2-1-3,设计一个抽奖器,随机抽取一个学号作为幸运之星,程序保存为luck.py。1、以下哪个函数能生成1~5之间的随机整数?( D )A、random.random(0,5) B、random.randint(0,5)C、random.random(1,5)D、random.randint(1,5)2、以下哪个函数在使用前要先导入所属的模块?( D ) A、input() B、print() C、int() D、time.time()3、以下哪些说法是正确的?( C )A、在Python中,利用库可以让编程者快速实现所需的功能B、随机数模块random包含在扩展库中C、标准库和扩展库的模块都需要先导入才能使用D、库中的所有函数在调用时,一定要写参数 请完善程序random.py,求出10个三位随机整数的和。学生听取教师的讲解,了解计算如何在限定的时间内随机加法题的准确率。了解函数、库、random模块的使用方法。通过练习调用random模块中的random()、randint()函数。了解time模块的使用方式。自行编写运用time模块编写运行消耗的时间。学生动手自己设计流程图并编写代码。学生理解和掌握。培养学生进行编程的逻辑思维培养学生的编程思维能力。了解time模块通过例题讲解,使学生更容易理解time。课堂小结1、利用time模块获取时间,用来计算时长,并根据时长确定游戏是否继续。2、利用random模块每次生成不同的随机整数作为加数。3、要使用random模块中的函数先导入该模块,导入命令如下: import random4、导入模块后,要调用模块中的函数,需按如下的格式书写: 模块名.函数(参数)学生回答及进行编写程序利用问题形式进行总结板书一、分析问题二、设计算法 (一)中位数的算法设计三、编写程序 (一)列表的创建 (二)中位数的计算四、调试运行程序课件40张PPT。 第 1 课 加法心算游戏 ——random 与 time 模块的应用广东高等教育出版 第八册下 B版新知导入新知讲解快门乐新知讲解交流 在难度相似的情况下随机答题,可以从答题数、正确率来判输赢新知讲解一、分析问题 本课的任务是编写一个“加法心算游戏”程序,要求由计算机在限定时间内随机给出若干道两个100以内加数的加法题,比正确率。需要解决的关键问题是:一是如何实现在限定时间内多次出题、答题;二是如何随机出题。新知讲解要解决这两个问题,在程序中需要利用两个模块。新知讲解二、学习新知(一)函数与库新知讲解(二)random模块 import random新知讲解 导入模块后,要调用模块中的函数,需按如下的格式书写: 模块名.函数(参数)新知讲解 例如,调用random模块中的random()和randint()两个函数。新知讲解random.random()random.randint(9,20)新知讲解实践 在IDLE交互模式下完成下列操作,理解random()函数及randint()函数的作用。 random()随机生成一个0~1的浮点数;randint()随机生成一个给定区间内的整数新知讲解>>>import random>>>random.random()>>>random.random()>>>random.random()>>>random.randint(1,10)>>>random.randint(15,100)>>>random.randint(200,300)新知讲解(三)time模块Import time新知讲解 time 模块中的函数time()用于获取当前时间戳。要计算前后两个时间点的时长(秒数),只要用前后两次time.time()的值相减即可。新知讲解实践 在IDLE交互模式下,导入time模块,然后多次输入time.time()命令,观察每次的结果有何变化,理解time()的作用。新知讲解>>>import time>>>time.time()>>>time.time()>>>time.time() time()用于获取当前时间新知讲解探究 1、运行程序time.py,相邻同学对比运行结果,你能从中得出什么结论?新知讲解#time.py计算程序运行所消耗的时间import timet1=time.time() #把当前时间戳存到t1中for i in range (100000000): i=i+1t2=time.time() #把循环结束后的时间戳存到t2中#将循环执行时间保留两位小数输出print(‘循环执行时间:%.2f秒’%(t2-t1))新知讲解 2、请写出语句的执行结果,并在IDLE交互模式下验证。>>>print(‘体重:%fkg’%50) #默认保留6位小数结果:_______________________>>>print(‘圆周率:%.3f’%3.1415) #保留3位小数结果:________________体重:50.000000kg圆周率:3.142新知讲解 据前面分析,加法心算游戏程序的算法流程如图2-1-2所示。三、设计算法新知讲解将答题数n置初2值0将答对题数right置初值0置起始时间及最新时间:t1,t2=time.time()开始导入random、time模板t2num1=random.randint(1,100)num2=random.randint(1,100)输出答题数量n、正确答题数right及正确率True新知讲解t2=time.time()结束right=right+1ans=num1+num2输入心算答案ans输出加法式子num1+num2=True图2-1-2 加法心算游戏流程图新知讲解 根据从上面的算法分析,加法心算游戏程序的代码如下:四、编写程序#add.pyimport random.time #导入random和time模块n=right=0 #分别给答案总数量n和答对题数变量right赋初值0t1=t2=time.time() #将当前时间戳作为初值分别赋给开始时间t1和最新时间t2新知讲解while t2 n=n+1 #累计答题数量 num1=_________________________ #产生一个随机整数 num2=random.randint(1,100) #产生第二个随机整数 print(num1,’+’,num2,’=‘,end=“) #输出加法式子,end=“表示输出后不换行ans=int(input()) #输入心算答案random.randint(1,100)新知讲解if ______________________#判断心算答案是否正确 right=right+1 #累计答对题数t2=______________ #每答题一次就更新当前时间戳print(‘时间到,加法训练结束!’)#将答题正确率保留两位小数输出print(‘你完成了’,n,’题,做对了’,right,’题,正确率为%.2f’%(right/n*100),’%’)ans==num1+num2time.time()新知讲解实践 完善程序add.py,并运行测试。开展加法心算游戏活动,比谁答对的题目最多、正确率最高。新知讲解实践与创作 1、修改程序add.py,将原程序修改为两位数的整数口算乘法游戏程序,答题时间由键盘输入,程序保存为mul.py。新知讲解实践与创作新知讲解 2、参考图2-1-3,设计一个抽奖器,随机抽取一个学号作为幸运之星,程序保存为luck.py。图2-1-3 抽奖器程序检测与评估1、以下哪个函数能生成1~5之间的随机整数?( )A、random.random(0,5) B、random.randint(0,5)C、random.random(1,5) D、random.randint(1,5)拓展新知D2、以下哪个函数在使用前要先导入所属的模块?( ) A、input() B、print() C、int() D、time.time()拓展新知D3、以下哪些说法是正确的?( )A、在Python中,利用库可以让编程者快速实现所需的功能B、随机数模块random包含在扩展库中C、标准库和扩展库的模块都需要先导入才能使用 D、库中的所有函数在调用时,一定要写参数 拓展新知C拓展新知4、请完善程序random.py,求出10个三位随机整数的和。#randomnum.py__________randoms=0for i in range(10): n=_______________________________s=s+nprint(s)random.randint(100,999)import 5、完成表2-1-1的学习评估,并将评估等级填写到“我的成长记录袋”中。拓展新知拓展新知表2-1-1 学习评估表课堂总结1、利用time模块获取时间,用来计算时长,并根据时长确定游戏是否继续。2、利用random模块每次生成不同的随机整数作为加数。3、要使用random模块中的函数先导入该模块,导入命令如下: import random4、导入模块后,要调用模块中的函数,需按如下的格式书写: 模块名.函数(参数)板书设计一、分析问题二、设计算法 (一)中位数的算法设计三、编写程序 (一)列表的创建 (二)中位数的计算四、调试运行程序谢谢21世纪教育网(www.21cnjy.com) 中小学教育资源网站 有大把高质量资料?一线教师?一线教研员?欢迎加入21世纪教育网教师合作团队!!月薪过万不是梦!!详情请看:https://www.21cnjy.com/help/help_extract.php 展开更多...... 收起↑ 资源列表 第1课 加法心算游戏.doc 第1课 加法心算游戏.pptx