




免费预览已结束,剩余12页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.2.3循环结构整体设计教材分析在现实生活中,除了用到选择结构进行问题的分支处理外,还会遇到“重复处理”的问题,循环结构(cycle structure)正是可以用来处理需要重复执行的某一组操作.循环结构也称为“重复结构”,即反复执行某一部分的操作.循环结构是程序设计中不可缺少的又富有变化的一种基本结构,是我们学习的第三种程序结构.在某一算法中,如果出现从某处开始,按照一定的条件反复执行同一操作,那么这种结构就称为循环结构,反复执行的处理步骤称为循环体.在循环体中一定有一个选择结构,否则将无法从循环结构中脱离出来,从而形成死循环.此外,循环结构中通常都有一个起到循环计数的变量,这个变量一直都含在执行或终止循环体的条件中.循环结构分为当型循环和直到型循环,它们之间是可以相互转化的.教材考虑到学生的接受能力,对直到型循环和当型循环没有加以定义和区分,仅仅是在探究拓展中以阅读题的形式作了介绍,这样处理是有用意的,教师没有必要在这里提出这两种概念,可待学生有了感性认识和一定的算法基础后,再做适当的回顾与补充.如果某一操作需要重复一定的次数,那么我们可以设置一个统计循环次数的变量,当这个变量的值没有超过我们给定的数值时,就一直重复执行需要的操作,当这个变量的数值超过给定的数值时就脱离循环结构.三维目标通过实例的训练,使学生理解循环结构的意义,并能够用循环结构的流程图表示简单问题的算法,养成良好的逻辑思维习惯,发展有条理的思考与表达能力,达到提升学生逻辑思维能力的目标.重点难点教学重点:用循环结构的流程图表示算法.教学难点:多种结构的嵌套使用.课时安排1课时教学过程导入新课设计思路一:(情境导入)同学们小时候一定都有过缠着父母听故事的经历,有时候爸爸妈妈实在想不出故事了,就会用一个“故事”来哄骗孩子:从前有座山,山里有个庙,庙里有个老和尚.有天老和尚对小和尚说,我给你讲个故事说啊:从前有座山,山里有个庙,庙里有个老和尚.有天老和尚对小和尚说,我给你讲个故事说啊:从前有座山,山里有个庙,庙里有个老和尚.有天老和尚对小和尚说,我给你讲个故事说啊:现在考虑,为什么说这个“故事”是哄骗小朋友的?因为这个“故事”一直在重复着同样的环节:“从前有座山,山里有个庙,庙里有个老和尚,有天老和尚对小和尚说,我给你讲个故事说啊:”所以这个“故事”可以无限次循环.我们可以把这个环节写成一个算法,这个算法是一直重复同样的操作,多次循环,直到孩子打断父母的“故事”为止.在现实生活中,还有好多这样的例子,在整个问题的执行过程中,一直循环执行相同的一部分步骤,直到符合或者不符合某个条件时才终止.请同学们举出这样的一些例子.例如:1.同学们从小学开始,每年9月初开学,到学校里上课,一个学期后放寒假,过了寒假再开学,又一个学期后放暑假,然后下一年9月初再开学回到学校上课寒假上课暑假,直到不再上学为止.2.今天是星期三,过了一天是星期四,过了两天是星期五过了七天又是星期三,这样周而复始循环出现.3.计算1+2+3+4+100,第一步计算12;第二步将上一步中的运算结果与第三个数相加;第三步将上一步中的运算结果与第四个数相加;第四步将上一步中的运算结果与第五个数相加;第i步将上一步中的运算结果与第i1个数相加;直到执行完第99步后才得到结果.上述例子都是在运行过程中循环执行相同的步骤,这样的算法结构就是循环结构.(引入新课,板书课题循环结构)设计思路二:(问题导入)观察下面的流程图(图1),回答这个流程图的功能是什么?其中最主要的操作步骤是什么?图1这个流程图从学号为1的学生开始,输出他的成绩,然后判断学号是否为尾号,如果不是,让学号增加1,继续输出2号学生,再判断学号是否为尾号,如果不是,学号再增加1,输出下一位学生的成绩,直到学号为尾号,即最后一名学生才结束程序,因此这个流程图的功能是输出所有学生的成绩.其中最主要的就是多次重复执行的判断学号、改变学号、输出成绩的过程.要输出所有学生的成绩,应该有很多个输出框,为什么流程图中只有一个输出框?因为每次输出学生的成绩都是一种重复的操作:先确定要输出哪一位学生的成绩,然后再输出.这个过程将重复出现,进行循环操作,直到所有学生全部输出(即学号为尾号)才结束,这样的结构最主要的部分就是有循环形式的结构出现,我们把这样的结构称为循环结构.(引入新课,板书课题循环结构)推进新课新知探究北京获得了2008年第29届奥林匹克运动会的主办权.你知道在申办奥运会的最后阶段,国际奥委会是如何通过投票决定主办权归属的吗?对遴选出的5个申办城市进行表决的操作程序是:首先进行第一轮投票,如果有一个城市得票超过总票数的一半,那么该城市将获得主办权;如果所有申办城市得票数都不超过总票数的一半,则将得票数最少的城市淘汰,然后重复上述过程,直到选出一个申办城市为止.这个表决过程可以用算法写出,请同学们写出这个算法.算法:s1投票;s2统计票数,如果有一个城市得票数超过总票数的一半,那么该城市获得主办权,转s3,否则淘汰得票最少的城市,转s1;s3宣布主办城市.在这个过程中,如果统计票数后任意一个城市得票数都没有超过总票数的一半,那么将重复执行投票统计票数这一过程,直到有一个城市得票数超过总票数的一半为止.这里出现了一个循环操作的内容,而最终应该循环多少次,在整个表决结果出来以前是无法知道的,也许第一次表决后就结束,也许要表决3次、4次,所以如果用流程图来表示,我们会发现仅仅利用前面学过的顺序结构和选择结构将无法实现,那么将怎样来画出这个问题的流程图呢?根据算法,是否要返回s1,即继续投票,就看是否有一个城市得票数超过总票数的一半,如果没有,将返回s1执行循环,如果有一个城市得票数超过总票数的一半,就立即结束表决,因此我们可以把流程图画成图2的形式:图2像上面的算法中的这种需要重复执行同一种操作的结构称为循环结构.重复执行的那些步骤就称为循环体.如图3,虚线框中的流程结构就是一种常见的循环结构,其功能是先执行框a,然后判断给定的条件p是否成立,若条件p不成立,则再执行框a,执行完框a后继续判断条件p是否成立,如果不成立,再执行框a,再判断条件p,如此反复执行框a,直到判断条件p时发现成立为止,此时不再执行框a,而是脱离这个循环结构.图3图4上面的这个循环结构实际上就是最常用的直到型(until型)循环.在循环结构中还经常出现当型(while型)循环,其结构如图4中虚线框内的形式,它的功能是当给定条件p成立时,先执行框a,然后判断给定的条件p是否成立,若条件p成立,则再执行框a,执行完框a后继续判断条件p是否成立,如果成立,再执行框a,再判断条件p,如此反复执行框a,直到判断条件p时发现不成立为止,此时不再执行框a,而是脱离这个循环结构.比较上面的循环结构和上一节课学习的选择结构,它们都有一个判断框,选择结构中从判断框出来的两条分支都不再返回而是直接结束(当然也可以再执行其他步骤),这个判断框只会判断一次,而循环结构中从判断框出来的两条分支一条直接流向结束,另一条会返回上面的某一处继续执行相同的操作,这个判断框会判断多次.因此如果出现判断,就看判断后是不是返回执行相同的操作,如果不再返回,那就是选择结构,如果要返回重复执行某一些操作,那就是循环结构.应用示例思路1例1 用连加的方法写出求的算法和流程图.分析:本题指明了用连加的方法,所以先进行2+2的运算,然后把结果再加2,然后把结果再加2,然后把结果再加2,这样一共需要进行9次加法运算就可以输出运算结果了.因此我们在流程图中应该有一个统计进行了多少次加法运算的计数器,这个计数器的功能是每进行一次加法运算就“加1”,直到计数器内的统计数据达到9时就结束加法,输出运算结果.解:算法如下:s1加法计数器i设置初值0;s2和存储器s设置初值2;s3计算s+2,结果放入和存储器s;s4加法计数器i加1;s5如果i9,则输出s,否则转s3.这个算法也可以用简洁的符号表示:s1i0;s2s2;s3ss+2;s4ii+1;s5如果i9,则输出s,否则转s3.流程图如图5所示:图5思考1.这个循环结构中的循环体由哪几个步骤组成?由流程图很清晰地看出,重复执行的循环体由处理框“ss+2”、“ii+1”和判断框“i9”组成.2.本题中,变量i和s分别起什么作用?为什么两个变量的初值一个为0,一个为2?变量i实际上就是一个统计进行了多少次加法运算的计数器.根据流程图,开始时i0,说明还没有进行运算,经过一次“ss+2”后,再执行“ii+1”,这时i=1,说明进行了一次加法运算,然后判断“i9”,结果为“n”,判断后返回执行“ss+2”(注意:现在进行的是第二次加法运算),再下一步就又是执行“ii+1”,这时i=2,说明进行了二次加法运算,然后继续判断“i9”.我们发现这样的规律:进行了多少次加法(ss+2),i就等于这个次数.而题目一共要进行9次加法运算,所以如果“i9”不成立(判断结果为“n”),则继续累加,直到“i9”成立(判断结果为“y”),才脱离循环结构,输出s,结束程序.当然,变量i只可能出现i=9,不可能出现i9的情况,因为i=9时就跳出循环体,不再继续返回执行“ss+2”和“ii+1”了.图6变量s实际上就是一个存储加法运算的结果的存储单元.每次都是把上一次的运算结果加上2以后作为下一次的一个加数,所以我们把这个加法的结果一直存储在存储器s中.3.如果我们把判断框中的条件“i9”改为“i=9”是否可以?根据“思考2”的分析,变量i只可能出现i=9,不可能出现i9的情况,所以这样修改也是可以的.4.如果我们把选择结构改变为如图6的形式,即把判断框中的条件“i9”改为“i9”,再把“y”和“n”交换是否也符合要求?根据图6,当加法的次数i满足“i9”(判断结果为“y”)时,说明加法的次数还不满9次,所以再返回执行加法运算“ss+2”,再执行“ii+1”(计数器增加1),然后继续判断“i5”(i就是这个不断变化的加数),当条件成立时就脱离循环体,输出和“s”,否则还将继续进行加法运算.解:算法如下:s1s0;s2i1;s3ss+i;s4ii+1;s5如果i5,则输出s,否则转s3.流程图如图7所示:图7点评:循环结构的判断框中的条件可以直接是循环的次数,也可以是脱离循环体的条件,应根据不同的情况选择不同的条件.例3 写出求12345的值的一个算法,并画出流程图.分析:这个变式和例2相比,仅仅是把连加换成连乘,其他没有改变,所以判断框中的条件应该不变,“和存储器”s应该变成“积存储器”t,同时存储器的初值不能是0了,否则每次相乘后的积永远只能是0.同学们思考,这个“积存储器”t的初值应该是多少?应该是1!原理和初值s0类似.解:算法如下:s1t1;s2i1;s3tti;s4ii+1;s5如果i5,则输出t,否则转s3.流程图如图8所示:图8变式训练1.写出求1357911值的一个算法,并画出流程图.分析:与例题相比,最主要的变化是循环变量i增加的幅度(以后称为步长)由1变为2,另外乘积式中因式的个数也由5个变成了6个,所以脱离循环体的条件也应该发生相应的变化,因此算法和流程图中改变的应该就是这两个地方.解:算法如下:s1t1;s2i1;s3tti;s4ii+2;s5如果i11,则输出t,否则转s3.流程图如图9所示:图92.对于输入的不同的正整数n,写出求12482n值的一个算法,并画出流程图.分析:本题中最主要的变化是乘积式中因式的个数由输入的正整数n确定,且每次参与乘积的数都是上一次乘数的2倍,因此算法和流程图中改变的主要就是这两个地方.算法如下:s1输入n;s2t1;s3i1;s4tti;s5ii2;s6如果i2n,则输出t,否则转s4.流程图如图10所示: 图10点评:从以上例题和变式可以看出,循环结构中必须嵌套一个选择结构,即有一个判断框,这个判断框的用途是用来控制什么时候脱离循环体的.如果没有判断框,或者判断框中的条件永远不可能成立,那么这样的循环就只能永远循环下去,从而形成“死循环”,所以在编写循环结构的算法的时候,要注意不能形成“死循环”.例4 设计计算10个数的平均数的一个算法,并画出流程图.分析:我们用一个循环依次输入10个数,再用一个变量存放数的累加和,在求出10个数的累加和后,除以10,就得到10个数的平均数.解:算法如下:s1s0;使s=0s2i1;使i=1s3如果i10,那么转s4,否则转s7;当i10时循环s4输入g;输入一个数s5ss+g;求s+g,其和仍存放在s中s6ii+1,转s3;使i的值增加1,并转到s3s7as/10;将平均数s/10存放在a中s8输出a.输出平均数流程图如图11所示: 图11点评:如果流程图太长,我们可以把它分割成几块,每块根据连接点可以重新连接(如图11可以分割成图12的形式).图12图13思路2例1 运行图13的流程图后,输出的值是_.分析:变量i和t的初值为i=0和t=10,然后开始执行循环体.先判断t22是否成立,如果成立,就让变量i增加1,累加存储器t加4,继续循环,再判断条件t22是否成立,当条件t99时脱离循环体,输出结果,结束程序.解:算法如下:s1s0;s2i1;s3ss+;s4ii+2;s5如果i99,则输出s,否则转s3.流程图如图15所示:图15点评:本题继续巩固和深化循环结构的概念及算法,通过改变步长和加数的复杂化,达到灵活应用的目的.知能训练一、课本本节练习1、2.二、补充练习1.写出计算12+22+32+1002的算法的流程图.2.一个两位数,个位数字与十位数字之和为9,写出一个把所有这样的两位数都输出的算法,并画出流程图.解答:一、课本练习1.算法如下:s1s0;s2i2;s3ss+i;s4ii+2;s5如果i100,则输出s,否则转s3.流程图如图16所示:图162.本题表示的算法是将学号从1号到50号中成绩达到或超过80分的学生的学号和成绩找出来.二、补充练习1.流程图如图17所示.图172.算法如下:s1a0;s2aa+1;s3b9a;s4m10a+b;s5输出m;s6如果a9,则结束程序,否则转s2.流程图如图18所示. 图18点评:对于循环结构,要弄清楚循环体是什么,即哪些步骤执行循环操作,另外何时执行循环,何时脱离循环.掌握了上面两个问题,就不难写出算法及流程图.同时算法及流程图还要符合规范.课堂小结在某一算法中,如果出现从某处开始,按照一定的条件反复执行同一操作,那么这种结构就称为循环结构,反复执行的处理步骤称为循环体.在循环体中一定有一个选择结构,否则将无法从循环结构中脱离出来,从而形成死循环.此外,循环结构中通常都有一个起到循环计数的变量,这个变量一直都含在执行或终止循环体的条件中.循环结构的关键在于搞清楚循环体是什么,何时执行循环,脱离循环体的条件是什么.作业课本习题1.16、7、8、9.设计感想循环结构是三种算法结构中最复杂的一种,如果在一开始学习时不搞清楚,那么学生就很容易陷入循环中无法解脱出来,把自己给绕进去.所以这节课的关键是讲清概念,弄明白循环结构中各步骤之间的关系,尤其是明确循环体由哪些步骤组成,判断是继续执行循环还是脱离循环的条件是什么.所以在讲解应用示例设计思路1的例1时,速度不宜快,应该把循环变量i和累加器s的作用讲清讲透,因此我们在设计这个课题的时候有意比教材降低了起点,设置了一个更加简单的问题,并且还增加了一些思考的问题,这些问题教师不要轻易放过,一定要让所有的学生都明白了循环变量i和累加器s的作用后才可以继续进行下面的教学.还有变式的设置也都是为了让学生理解循环结构中两个变量的作用.在例题和课堂练习中,可以让学生先写出算法,再用流程图表示出来.如果学生对脱离循环的条件不甚明白,老师可以把流程图实际操
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 岑溪冷却塔施工方案公司
- 四川文化产业职业学院招聘考试真题2024
- 乳胶漆和油漆施工方案
- 桩基地下降排水施工方案
- 江苏植物墙施工方案编制
- 天津弃渣场排水施工方案
- 徐州学位英语真题及答案
- 2025黑龙江饶河县公益性岗位招聘30人考前自测高频考点模拟试题带答案详解
- 2025携手猎聘人才委托合同
- 湖南省省直事业单位招聘考试真题2024
- 2026年邮政储蓄银行秋季校园招聘考试参考试题及答案解析
- 顺丰员工安全培训内容课件
- 驾驶安全培训文案课件
- 美团代运营合作合同范本
- 学堂在线 海上求生与救生 章节测试答案
- 2025年成人糖尿病食养指南
- 农村建房木工支模协议合同范本
- 2025年建设工程质量检测行业现状分析及未来五年运行态势
- 养老护理员职业道德课件
- 水表安装培训课件
- 华为干部晋升管理制度
评论
0/150
提交评论