第9课for循环的应用实例

上传人:水*** 文档编号:200312218 上传时间:2021-10-04 格式:DOC 页数:5 大小:61KB
返回 下载 相关 举报
第9课for循环的应用实例_第1页
第1页 / 共5页
第9课for循环的应用实例_第2页
第2页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第9课for循环的应用实例》由会员分享,可在线阅读,更多相关《第9课for循环的应用实例(5页珍藏版)》请在金锄头文库上搜索。

1、浙教版信息技术八年级第9课for循环的应用实例教学设计课题 for循环的应用实例单元第二单元学科信息技术年级八年级学习目标知识目标:掌握for循环的语法格式,学会使用for循环解决实际生活中的问题。技能目标:掌握利用for循环分析问题和解决问题的能力,能够编写正确的python代码。情感目标:通过实践,增强学生学习的自信心和自豪感;提升学生对学习python的兴趣。重点for循环结构语法格式难点使用for循环解决实际问题教学过程教学环节教师活动学生活动设计意图导入新课上节课我们学习了for循环机构程序设计,这节课我们通过实例进一步理解应用for机构程序结构,来解决实际问题。让我们一块学习吧!思

2、考并回答问题 激发学生学习兴趣并快速进入学习状态讲授新课在印度有一个古老的传说:国王打算奖赏发明了国际象棋的大臣。他对国王说:“陛下,我只要一些麦粒。请您在这张棋盘的第1个小格放1粒麦子,第2个小格放2粒,第3小格放4粒,第4小格放8粒,以此类推,直到把64格棋盘放满就行了。”国王觉得这个要求太容易满足了,就答应给他这些麦粒。当人们把一袋一袋的麦子搬来开始计数时,国王才发现:就算把全印度甚至全世界的麦粒都拿来,也满足不了他的要求。那么,这位大臣要求得到的麦粒到底是多少呢?一、问题分析该问题可以用累加的方法求解,相邻格子的麦粒数有一定规律,即后一格的麦粒数是前一格的2倍。若用变量i表示当前所处格

3、子的序号,变量p表示此格子中存放的麦粒数,变量s表示累加得到的麦粒数那么分析过程如表所示二、算法设计根据以上分析,输入数据为棋盘的格子数n,输出数据为麦粒的总粒数s。间处理数据为计数器和每个格子的麦粒数,不用输出。该算法用自然语言描述如下:输入:棋盘的格子数n。处理:每个格子的麦粒数p。输出:麦粒的总数s。该算法用流程图表示,如图所示。三、编写代码根据设计的算法, 先输入棋盘的格子数n, 然后通过for循环语句实现累加。麦粒总数s需要在循环之前进行数值初始化为0,第1格麦粒数p数值初始化为1。其程序代码如下:#n表示棋盘的格子数n=int(input(请输入棋盘格子数:”)P=l #第1格麦粒

4、数p置初值1s=0 #累加器s初始化为0#通过for语句循环累加, 并输出麦粒总数for i in range(1, n+1) : s=s+p p=p*2print(棋盘格子数为:, n, , 麦粒总数:, s)循环的边界条件,也就是考虑循环的进入和退出条件。本例中,循环是从第1个格子到第64个格子, 因为包含第64个格子本身所以函数range() 的终值参数为n+1。知识链接计数器在算法执行过程中,用来记录某种事件发生次数的变量。1.计数器的初值通常置为0.2.循环体中的计数语句格式通常为i=i+1。知识链接累加器在算法执行过程中,用来生成并存储数据累加和的变量。1.累加器的初值通常置为0.

5、2.循环体中的累加语句格式通常为s=s+x。四、调试运行按“F5”键,输入棋盘格子数,观察运行结果。为了更好呈现麦粒重量和计算过程,可以将麦粒数转化为吨数(按每粒麦子约0.03克计算),并在循环过程中输出每个格子的麦粒数p。其程序代码如下:#n表示棋盘的格子数n=int(input(请输入棋盘格子数:) )p=l #第1格麦粒数p置初值1=0 #累加器s初始化为O#通过for语句循环累加, 并输出每个格子麦粒数#最后输出麦粒总重量,单位换算成吨for i in range(1, n+1) : s=s+p p=p*2 print(当前格子序号:, i, , 当前格子麦粒数:, int(p/2)

6、)s=(s*0.03)/(1000*1000)print(麦粒总重量(吨):, format(s, .2f) )实践1判断m是否为素数(m为正整数,由用户输入)分析:(1)素数的定义:一个数是素数,则这个数的约数只有1和它本身。(2)若一个数不是素数,则只有这个数存在除1和它本身之外的任意一个约数即可。即:若m不是素数,则除1和m外,至少还存在一个约数x,且x的取值范围是:2, m-1.(3)综合前两条,判断m是否为素数,只需依次判断2,m-1中是否存在m的约数即可。显然,循环变量的初值为:start=2,终值为:stop=m-1+1=m,步长step=1.代码示例:但代码示例1存在一定的bu

7、g,那就是当m的值为1或2时,或提示出错,错误提示如下:这是因为,当m的值为1或2时,for循环条件不成立,for循环不执行,i没有赋值。所以会提示:变量i没有定义。为解决程序bug,需要加上m=1和m=2这两种情况。代码示例:实践2九九乘法表分析:观察九九乘法表,乘号前面的数是从1到9(以行为单位);在每行内部,乘号后面的数是从1开始逐渐增加,直到等于乘号前面的数。令变量i表示乘号前面的数,则i初值start=1,终值为stop=9+1=1;令变量j表示乘号后面的数,则j初值start=1,终值为stop=i+1代码示例:随堂练习寻找水仙花数。水仙花数是指一个三位数,它每个数位上的数的3次幂

8、之和等于它本身。lst= #初置空列表for a=i%10 #个位 b=(i/10)%10 #十位 c=i/100 #百位 if (a*3+b*3+c*3)=i: lst.append(i)print(lst)通过教师的讲解,以小组合作的方式,开展探讨交流,完成任务。学生小组间讨论,共同完成任务。通过教师的讲解,以小组合作的方式,开展探讨交流,完成任务。通过教师的讲解,以小组合作的方式,开展探讨交流,完成任务。学生小组间讨论,共同完成任务。通过教师的讲解,以小组合作的方式,开展探讨交流,完成任务。学生小组间讨论,共同完成任务。通过教师的讲解,以小组合作的方式,开展探讨交流,完成任务。学生小组间讨论,共同完成任务,并分组汇报。通过小组合作,加强学生组内团结、共同完成任务培锻炼学生的语言组织能力和表达的能力。加强学生组内团结、共同完成任务。加强学生组内团结、共同完成任务培锻炼学生的语言组织能力和表达的能力。加强学生组内团结、共同完成任务培锻炼学生的语言组织能力和表达的能力。加强学生组内团结、共同完成任务培养学生独立完成练习的能力。课堂小结分小组总结归纳,教师补充。各组汇报总结,其他小组成员做补充。锻炼学生的总结能力,逻辑思维、语言表达能力。布置作业 求m到n的所有素数(m和n为正整数,由用户输入,且m和n均大于等于3)板书一、问题分析二、算法设计三、编写代码四、调试运行

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号