1、设计一算法设计一算法,求和求和:1+2+3+:1+2+3+100.+100.第一步第一步:确定首数确定首数a,a,尾尾数数b,b,项数项数n n;第二步第二步:利用公式利用公式“总和总和=(=(首数首数+尾数尾数)项数项数/2”/2”求和;求和;第三步第三步:输出求和结果输出求和结果.算法1:开始开始结束结束输入输入a,b,nSum=(a+b)*n/2输出输出Sum新课引入算法算法2:第一步第一步:从从1 1开始将自然开始将自然数数1,2,3,1,2,3,100,100逐个相加逐个相加;第二步第二步:输出累加结果输出累加结果.1.上边的式子有怎样的规律呢?上边的式子有怎样的规律呢?2.怎么用程
2、序框图表示呢?怎么用程序框图表示呢?Sum=Sum+i设计一算法设计一算法,求和求和:1+2+3+:1+2+3+100.+100.Sum=0Sum=Sum+1Sum=Sum+2Sum=Sum+3Sum=Sum+100思考:思考:在一些算法中在一些算法中,经常会出现从某处开始经常会出现从某处开始,反反复执行某一处理步骤复执行某一处理步骤,这就是循环结构这就是循环结构.1.循环结构的概念循环结构的概念 循环结构是指在算法中从某处开始循环结构是指在算法中从某处开始,按按照一定的条件反复执行某一处理步骤的结照一定的条件反复执行某一处理步骤的结构构.在科学计算中在科学计算中,有许多有规律的重复计算有许多
3、有规律的重复计算,如累加求和、累乘求积等问题要用到循环如累加求和、累乘求积等问题要用到循环结构结构.三、三、循环结构循环结构及框图表示及框图表示讲授新课当当型型循循环环结结构构满足条件满足条件?循环体循环体YN 当型循环结构在每次执行循环体前对控制当型循环结构在每次执行循环体前对控制循环条件进行判断循环条件进行判断,当条件满足时执行循环体当条件满足时执行循环体,不满足则停止不满足则停止.2.循环结构的算法流程图循环结构的算法流程图直直到到型型循循环环结结构构条件条件语句语句AYN 直到型循环直到型循环执行了一次循环体执行了一次循环体之后之后,对控对控制循环条件进行判断制循环条件进行判断,当条件
4、不满足时执行循当条件不满足时执行循环体环体,满足则停止满足则停止.3.循环结构的设计步骤循环结构的设计步骤(1)(1)确定循环结构的循环变量和初始条件确定循环结构的循环变量和初始条件;(2)(2)确定算法中需要反复执行的部分确定算法中需要反复执行的部分,即循环体;即循环体;(3)(3)确定循环的终止条件确定循环的终止条件.4.循环结构的三要素循环结构的三要素循环变量,循环体、循环的终止条件循环变量,循环体、循环的终止条件.例例1.设计一个计设计一个计算算1+2+3+100的的程序框图程序框图.开始开始i100?否否是是输出输出sum结束结束i=1Sum=0i=i+1Sum=sum+i例例1.设
5、计设计一个计算一个计算1+2+3+100的程的程序框图序框图.开始开始i 100?否否是是输出输出sum结结束束i=1S=0S=S+ii=i+11.画出求画出求mul=123100问题的问题的程序框图程序框图.第一步第一步:设设i=1,muli=1,mul =1;=1;第二步第二步:如果如果i100i100执行第三步执行第三步,否则执行第五步否则执行第五步;第三步第三步:计算计算mulmuli i并将结果代替并将结果代替mul;mul;第四步第四步:将将i+1i+1代替代替i,i,转去执行第二步转去执行第二步;第五步第五步:输出输出mul.mul.课堂练习课堂练习开始开始i n?否否是是输出输
6、出mul结束结束Mul=1i=1i=i+1mul=muli开始开始i100?否否是是输出输出sum结束结束i=1Sum=0i=i+1Sum=sum+i22.设计一个计算设计一个计算12+22+32+1002的一个的一个程序框图程序框图.开始开始结束结束输入输入rir 6.8?否否是是i=1i=i+1i9?是是否否输出输出ri学学的的成成绩绩名名同同为为第第 iri课堂练习课堂练习开始开始结束结束输入输入rr6.8?否否是是n=1n=n+1n9?输出输出r是是否否212121212121 例例2.画出画出的值的程序框图的值的程序框图.解法解法2.开始开始输出输出a6结束结束112a 3421aa
7、 1221aa 2321aa 5621aa 4521aa 11开始开始i6?否否是是输出输出t结束结束i=1t=0i=i+1tt 2112tt 例例3.某工厂某工厂2005年的生产总值为年的生产总值为200万元万元,技术革技术革新后预计以后每年的生产总值比上一年增加新后预计以后每年的生产总值比上一年增加5%,问最早需要哪一年年生产总值超过问最早需要哪一年年生产总值超过300万元万元.写出写出计算的一个算法计算的一个算法,并画出相应的程序框图并画出相应的程序框图.l第一步第一步:n=0,a=200,r=0.05;l第二步第二步:T=ar(计算年增量计算年增量);l第三步第三步:a=a+T(计算年
8、产值计算年产值);l第四步第四步:如果如果a300,那么那么n=n+1,重复执行重复执行第二步第二步;l第五步第五步:N=2004+n;l第六步第六步:输出输出N.开始开始a300?否否是是输出输出N结束结束n=0a=200r=0.05n=n+1a=a+TT=ar11N=2004+n算算 法法 分分 析析:(1)算法步骤中的)算法步骤中的 “第一步第一步”“”“第二第二步步”和和“第三步第三步”可以可以 用顺序结构来表用顺序结构来表 示(如下图):示(如下图):(2)算法步骤中的)算法步骤中的“第四第四步步”可以用条件结构来表可以用条件结构来表示(如下图)示(如下图).在这个条件在这个条件结构
9、中,结构中,“否否”分支用分支用“a=m”表示含零点的区间表示含零点的区间为为m,b,并把这个区并把这个区间仍记成间仍记成a,b;“是是”分支用分支用“b=m”表示含零表示含零点的区间为点的区间为a,m,同样,同样把这个区间仍记成把这个区间仍记成a,b.(3)算法步骤中的)算法步骤中的“第五步第五步”包含一个条包含一个条件结构,这个条件结构件结构,这个条件结构与与“第三步第三步”“”“第四步第四步”构成一个循环结构,循构成一个循环结构,循环体由环体由“第三步第三步”和和“第四步第四步”组成,终止组成,终止循环的条件是循环的条件是“|a-b|d或或f(m)=0”.在在“第五步第五步”中,还包含由
10、循环结构中,还包含由循环结构与与“输出输出m”组成的顺组成的顺序结构(如下图)序结构(如下图).(4)将各步骤)将各步骤的程序框图连接的程序框图连接起来,并画出起来,并画出“开始开始”与与“结结束束”两个终端框,两个终端框,就得到了表示整就得到了表示整个算法的程序框个算法的程序框图(如下图)图(如下图).算法如下算法如下:l第一步第一步:P=0;l第二步第二步:i=1;l第三步第三步:t=0;l第四步第四步:p=p+i;l第五步第五步:t=t+1;l第六步第六步:i=i+t.l第七步第七步:如果如果i不大于不大于46,返回重新执行第返回重新执行第四、五、六步四、五、六步;否则否则,跳出循环结束
11、程序跳出循环结束程序.例例4.设计一个求设计一个求1+2+4+7+46的算法的算法,并画出并画出相应的相应的程序框图程序框图.开始开始i 46?否否是是输出输出p结束结束P=0i=1t=0p=p+it=t+1i=i+t11课堂小结小结小结1.1.循环结构的特点循环结构的特点2.2.循环结构的框图表示循环结构的框图表示3.3.循环结构有注意的问题循环结构有注意的问题避免死循环的出现避免死循环的出现,设置好进入(结束)设置好进入(结束)循环体的条件循环体的条件.当型和直到型当型和直到型重复同一个处理过程重复同一个处理过程4.4.用流程图设计算法的经验用流程图设计算法的经验 流程图是任何程序设计的基
12、础流程图是任何程序设计的基础,一般应注一般应注意以下的几点:意以下的几点:(1)(1)任何的实际问题都有一个数学模型解任何的实际问题都有一个数学模型解决的步骤决的步骤,这是设计流程图的关键所在这是设计流程图的关键所在;(2)(2)流程图必须采用国家标准的图形符号来描流程图必须采用国家标准的图形符号来描述述,箭头的流向一定要准确箭头的流向一定要准确;(3)(3)算法结构应简单明了算法结构应简单明了,总体上是一个顺序总体上是一个顺序结构结构;有判断的出现分支结构有判断的出现分支结构;需多次执行某需多次执行某一个过程的采用循环结构一个过程的采用循环结构.课堂作业课本课本P.2 2预习预习1.1.2程序框图程序框图