循环结构算法初步,步骤1步骤2(1)顺序结构-----是由若干个依次执行的处理步骤组成的.这是任何一个算法都离不开的基本结构.,(2)条件结构---在一个算法中,经常会遇到一些条件的判断,算法的流向根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构.满足条件?步骤A步骤B是否满足条件?步骤A是否,练习巩固1 看下面的程序框图,分析算法的作用(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”第六步:判断“i>n”是否成立,若是,结束算法;否则,返回第三步.设计一个算法,求出n(n>2)的所有因数。第五步:i的值增加1,仍用i表示,例1设计一算法,求和:1+2+3+…+100第一步:确定首数a,尾数b,项数n;第二步:利用公式“总和=(首数+尾数)×项数/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+3…S=S+100,例1设计一算法,求和:1+2+3+…+100S=S+i怎么用程序框图表示呢?3、i有什么作用?S呢?i=i+1S=S+iS=0S=S+1S=S+2S=S+3…S=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否是i<=100?i>100?请填上判断的条件。,结束S=S+ii=i+1i<=100?输出S否是i=1,S=0开始步骤A步骤B思考:将步骤A和步骤B交换位置,结果会怎样?能达到预期结果吗?为什么?要达到预期结果,还需要做怎样的修改?答:达不到预期结果;当i=100时,没有退出循环,i的值为101加入到S中;修改的方法是将判断条件改为i<100,程序框图:开始i=1S=0S=S+ii=i+1i>100?是输出S结束否直到型循环结构开始i=1S=0i≤100?是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?i<100?,说明:一般地,循环结构中都有一个计数变量和累加变量.计数变量用于记录循环次数,同时它的取值还用于判断循环是否终止,这个变量的取值一般都含在执行或中止循环体的条件中。累加变量用于输出结果.累加变量和计数变量一般是同步执行的,累加一次,记数一次.,结束输出Si=0,S=0开始i=i+1S=S+ii>n?否是输入n改进上面的算法,表示输出1,1+2,1+2+3,…,1+2+3+…+(n-1)+n()的过程。,练习巩固1、设计一算法,求积:1×2×3×…×100,画出流程图结束输出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万元”时终止循环,所以可通过判断“a>300”是否成立来控制循环。(1)确定循环体:设a为某年的年生产总值,t为年生产总值的年增长量,n为年份,则循环体为,程序框图:开始n=2005a=200t=0.05an=n+1a>300?是输出n结束否a=a+t,小结1、循环结构的特点2、循环结构的框图表示3、循环结构有注意的问题避免死循环的出现,设置好进入(结束)循环体的条件。当型和直到型重复同一个处理过程,作业:课本P20页A组2;