人教版高一上册数学课件《循环结构》.ppt
循环结构循环结构算法初步步骤1步骤2(1)顺序结构顺序结构-是由若干个依次执行的处理是由若干个依次执行的处理步骤组成的步骤组成的.这是任何一个算法都离不开的这是任何一个算法都离不开的基本结构基本结构.(2)条件结构条件结构-在一个算法中在一个算法中,经常会遇到一经常会遇到一些条件的判断些条件的判断,算法的流向根据条件是否成算法的流向根据条件是否成立有不同的流向立有不同的流向.条件结构就是处理这种过条件结构就是处理这种过程的结构程的结构.满足条件?步骤A步骤B是是否否满足条件?步骤A是是否否练习巩固看下面的程序框图,分析算法的作用(1)开始结束输入xy=3*x*x+4*x+5输出y(2)开始结束输入a,ban-1,或r=0?否是求n除以i的余数r循环结构循环结构-在一些算法中在一些算法中,也经常会出现从也经常会出现从某处开始某处开始,按照一定条件按照一定条件,反复执行某一步反复执行某一步骤的情况骤的情况,这就是循环结构这就是循环结构.反复执行的步反复执行的步骤称为循环体骤称为循环体.是是循环体循环体满足条件?满足条件?否否Until(直到型)循环)循环循环结构分为两种循环结构分为两种-当型和直到型当型和直到型.当型循环当型循环在每次执行循环体前对循环条件进行判在每次执行循环体前对循环条件进行判断断,当条件满足时执行循环体当条件满足时执行循环体,不满足则停止不满足则停止;(当条当条件满足时反复执行循环体件满足时反复执行循环体)直到型循环直到型循环在执行了一次循环体之后在执行了一次循环体之后,对控制循对控制循环条件进行判断环条件进行判断,当当条件不满足时执行循环体条件不满足时执行循环体,满足则停止满足则停止.(反复执行循环体反复执行循环体,直到条件满足直到条件满足)循环体循环体满足条件?满足条件?是是否否While(当型)循环)循环(2)注意)注意:循环结构不能是永无终止的循环结构不能是永无终止的“死死循环循环”,一定要在某个条件下终止循环一定要在某个条件下终止循环,这就这就需要条件结构来作出判断需要条件结构来作出判断,因此因此,循环结构中循环结构中一定包含条件结构一定包含条件结构.第一步:给定一个大于第一步:给定一个大于2的整数的整数n第二步:令第二步:令i=1第三步:用第三步:用i除除n,得到余数,得到余数r第四步:判断第四步:判断“r=0”是否成立是否成立;若是,则输出若是,则输出“i”第六步:判断第六步:判断“in”是否成立,若是,结是否成立,若是,结束算法;否则,返回第三步束算法;否则,返回第三步.设计一个算法,求出设计一个算法,求出n(n2)的所有因数。的所有因数。第五步:第五步:i的值增加的值增加1,仍用,仍用i表示表示例1设计一算法,求和:1+2+3+100第一步:确定首数确定首数a a,尾数,尾数b b,项数,项数n n;第二步:利用公式利用公式“总和总和=(=(首数首数+尾数)尾数)项数项数/2/2”求和;求和;第三步:输出求和结果。输出求和结果。算法1:开始结束输入a,b,nS=(a+b)*n/2输出S例例3:设计一个计算设计一个计算1+2+3+100的值的算的值的算法法,并画出程序框图并画出程序框图.算法分析算法分析:第第1步步:0+1=1;第第2步步:1+2=3;第第3步步:3+3=6;第第4步步:6+4=10第第100步步:4950+100=5050.第第(i-1)步的结果步的结果+i=第第i步的结果步的结果各步骤有共同的结构各步骤有共同的结构:为了方便有效地表示上述过程为了方便有效地表示上述过程,我我们引进一个们引进一个变量变量S来表示每一步来表示每一步的计算结果的计算结果,从而把第从而把第i步表示为步表示为 S=S+iS=0S=S+1S=S+2S=S+3S=S+100例1 设计一算法,求和:1+2+3+100S=S+i怎么用程序框图表示呢?3、i有什么作用?S呢?i=i+1S=S+iS=0S=S+1S=S+2S=S+3S=S+100累加变量累加变量S来表示每一步来表示每一步的计算结果的计算结果,从而把第从而把第i步步表示为表示为 S=S+iS的初始值为的初始值为0,i依次取依次取1,2,100,由于由于i同时记录了循环的次数同时记录了循环的次数,所所以以i称为计数变量称为计数变量.i=i+1S=S+i解决方法就是加上一个判断,判断是否已经加到了100,如果加到了则退出,否则继续加。试分析两种流程的异同点直到型结构当型结构S=S+ii=i+1是否S=S+ii=i+1否是i100?请填上判断的条件。结束S=S+ii=i+1i=100?输出S否是i=1,S=0开始步骤A步骤B 思考:将步骤A和步骤B交换位置,结果会怎样?能达到预期结果吗?为什么?要达到预期结果,还需要做怎样的修改?答:达不到预期结果;当达不到预期结果;当i=100时,没有退出循环,时,没有退出循环,i的值为的值为101加加入到入到S中;修改的方法是将判断条件中;修改的方法是将判断条件改为改为i100?是是输出输出S结束结束否否直到直到型循型循环结环结构构开始开始i=1S=0i100?是是S=S+ii=i+1否否输出输出S结束结束当型循环当型循环结构结构若将“i=1”改成“i=0”,则程序框图怎么改?结束输出Sum否是S=0开始结束输出SS=0开始否是i=0i=0S=S+iS=S+ii=i+1i=i+1i=100?in?否是输入n改进上面的算法,表示输出改进上面的算法,表示输出1,1+2,1+2+3,1+2+3+(n-1)+n()的过程。的过程。练习巩固1、设计一算法,求积:123100,画出流程图结束输出Ai=0,A=1开始i=i+1A=A*ii=100?否是思考:该流程图与前面的例3中求和的流程图有何不同?例例5 某工厂某工厂2005年的年生产总值为年的年生产总值为200万,技术万,技术革新以后每年的年生产总值比上一年增长革新以后每年的年生产总值比上一年增长5。设计一个程序框图,输出预计年生产总值超过设计一个程序框图,输出预计年生产总值超过300万元的最早年份。万元的最早年份。算法分析:算法分析:第一步,输入第一步,输入2005年的年生产总值。年的年生产总值。第二步,计算下一年的年生产总值。第二步,计算下一年的年生产总值。第三步,判断所得的结果是否大于第三步,判断所得的结果是否大于300.若是,若是,则输出该年的年份;否则,返回第二步则输出该年的年份;否则,返回第二步 由于“第二步”是重复操作的步骤,所以可以用循环结构来实现。我们按照“确定循环体”“初始化变量”“设定循环控制条件”的顺序来构造循环结构。(2)初始化变量:若将)初始化变量:若将2005年的年生产总值堪称计算的年的年生产总值堪称计算的起始点,则起始点,则n的初始值为的初始值为2005,a的初始值为的初始值为200.(3)设定循环控制条件:当)设定循环控制条件:当“年生产总值超过年生产总值超过300万元万元”时终止循环,所以可通过判断时终止循环,所以可通过判断“a300”是否成立来控制循是否成立来控制循环。环。(1)确定循环体:设)确定循环体:设a为某年的年生产总值,为某年的年生产总值,t为年生为年生产总值的年增长量,产总值的年增长量,n为年份,则循环体为为年份,则循环体为程序框图程序框图:开始开始n=2005a=200t=0.05an=n+1a300?是是输出输出n结束结束否否a=a+t小结1、循环结构的特点2、循环结构的框图表示3、循环结构有注意的问题避免死循环的出现,设置好进入(结束)循环体的条件。当型和直到型重复同一个处理过程作业作业:课本课本P20页页A组组2;