1.1.2算法的基本逻辑结构——循环结构前面我们学习了顺序结构和选择结构,并学习了利用变量和赋值来描述算法,变量和赋值能够使算法具有普遍性和代表性,利用它我们可以解决一类问题。新课——循环结构在一些算法中,也经常会出现从某处开始,按照一定条件,反复执行某一处理步骤的情况,这种结构称为循环结构.反复执行的处理步骤称为循环体。直到型循环:在执行了一次循环体之后,对控制循环体进行判断,当条件不满足时执行循环体,满足则停止.当型循环:在每次执行循环体前对控制循环条件进行判断,当条件满足时执行循环体,不满足则停止.例:写出求1+2+3+…+100的一个算法(累加问题)写出求1×2×3×…×100的一个算法(累乘问题)1:令n=100(1)2nn2:计算3:输出结果算法一:1:0+1=12:1+2=33:3+3=6…………100:4950+100=5050算法二:探讨累加、累乘问题的一般算法:分析算法二:第(i-1)步的结果+i=第i步的结果表示为:S=S+iS:累加变量i:计数变量算法:第一步:令i=1,S=0;第二步:若i≤100成立,则执行第三步;否则,输出S,结束算法;第三步:S=S+i;第四步:i=i+1,返回第二步。程序框图:开始i=1S=0i=i+1i≤100?输出S结束是否S=S+i当型循环算法:程序框图:开始i=1S=0i=i+1否i>100?输出S结束是S=S+i直到型循环第一步:令i=1;S=0第四步:判断i>100是否成立,若是,则输出S;否则,返回第二步;第二步:计算S=S+i;第三步:计算i=i+1;开始i=1S=0i=i+1i≤100?输出S结束是否S=S+i当型循环开始i=1S=0i=i+1否i>100?输出S结束是S=S+i直到型循环当型循环与直到型循环的区别:1、当型循环可以不执行循环体,直到型循环至少执行一次循环体.2、当型循环先判断后执行,直到型循环先执行后判断.3、对同一算法来说,当型循环和直到型循环的条件互为反条件.1.三种逻辑结构中,顺序结构是最简单的结构,循环结构必然包含条件结构,它们共同构成了算法的基本结构,无论怎样复杂的逻辑结构,都可以通过这三种结构来表达。3.在循环结构中都有一个计数变量和累加变量。计数变量用于记录循环次数,累加变量用于输出结果。计数变量和累加变量一般是同步执行的,累加一次,计数一次。2.循环结构要在某个条件下终止循环,这就需要条件结构来判断。因此,循环结构中一定包含条件结构,但不允许“死循环”。4.画循环结构程序框图前要注意:①确定循环变量和初始条件;②确定算法中反复执行的部分,即循环体;③确定循环的转向位置;④确定循环的终止条件.小结:第一步:令i=1;S=0第六步:判断i>n是否成立,若是,结束算法;否则,返回第三步;第三步:计算S=S+i;第四步:计算i=i+1;否开始i=1S=0i=i+1i>n?输出S结束是S=S+i输入n第二步:输入n;第五步:输出S;思考:改进算法,表示输出1,1+2,1+2+3,…,1+2+3+…(n-1)+n(n是正整数)的过程。算法如下:开始S=1i=2S=S×ii=i+1i100?输出S结束是否练习:写出求1×2×3×…×100的一个算法(累乘问题)第一步:令S=1;i=2第四步:若i>100不成立,则返回第二步;否则,输出S,结束算法;第二步:S=S×i;第三步:i=i+1;练习:2、写出求的和的一个算法,并画出流程图1001312111、写出求1×3×5×7×…×99的积的一个算法,并画出流程图。作业:2:写出求1×3×5×7×…×99的一个算法,并画出流程图。S1:T=1S2:i=3S3:T=T×iS4:i=i+2S5:若i99则输出T,算法结束,否则转S3解:算法开始T=1i=3T=T×ii=i+2i99输出T结束YN下课了。。。。例7某工厂2005年的年生产总值为200万元,技术革新后预计以后每年的年生产总值都比上一年增长5%。设计一个程序框图,输出预计年生产总值超过300万元的最早年份。写出求(共有6个2)的值的一个算法,并画出流程图。112212练习:11S=;22i=1;13S=;2+S41;563SSSSiiSS如果i大于,则输出S,算法结束,否则转开始S=1/2I=1S=1/(2+S)i=i+1i>6?输出S结束YN例1设计一种算法,输出1000以内的能被3和5整除的所有整数,画出流程图分析:1.这个问题很简单,凡是能被3和5整除的整数都是15的倍数由于1000=15×66+10,因此在1000内,这样的数共有66个。2.这种前面的顺序结构和选择结构来完成,这样会非常复杂和费时,因此我们将它和变量与赋值联系起来,循环结构就是用来处理这种问题的解引入变量a表示待输出的数,则a=15n(n=1,2,…,66)n表示从1到66,反复输出a赋值,就能输出1000内所有能被3和5整除的正整数。算法流程如图:说明:1循环体是算法的核心循环体2循环变量控制着循环的开始和结束循环变量3循环体必须有终止条件终止条件例2大自然的造化充满无尽的秘密,下面的这些花纹和我们的数学充满了联系,它的花纹刚好是斐波那挈数列的一个自然现象的体现,斐波那挈数列表示这样一列数:0,1,1,2,3,5,…后一项等于前两项的和,请你设计一个算法流程,输出这个数列的前50项。分析:设这50个变量为a1,a2,a3,…,a50这相邻的三项为ai-2,ai-1,ai,则它们之间存在关系:ai-2+ai-1=ai因此我们可以这样来设计算法: