《《1.1.2.3 循环结构》课件.ppt》由会员分享,可在线阅读,更多相关《《1.1.2.3 循环结构》课件.ppt(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1.循循环结环结构的概念构的概念 循循环环结结构构是是指指在在算算法法中中从从某某处处开开始始,按按照照一一定定的的条条件件反反复复执执行行某某一一处处理理步步骤骤的的结结构构.在在科科学学计计算算中中,有有许许多多有有规规律律的的重重复复计计算算,如如累累加加求和、累乘求求和、累乘求积积等等问题问题要用到循要用到循环结环结构构.四、循四、循环结环结构及框构及框图图表示表示讲授新课反复反复执执行的步行的步骤骤称称为为循循环环体体.循循环环结结构构不不能能是是永永无无终终止止的的“死死循循环环”,一一定定要要在在某某个个条条件件下下终终止止循循环环,这这就就需需要要条条件件结结构构来来作作出出判
2、判断断,因因此此,循循环环结结构构中中一一定定包包含含条条件件结结构构.思考:思考:一一般般地地,循循环环结结构构中中都都有有一一个个计计数数变变量量和和累累加加变变量量.计计数数变变量量用用于于记记录录循循环环次次数数,同同时时它它的的取取值值还还用用于于判判断断循循环环是是否否终终止止,累累加加变变量量用用于于输输出出结结果果.累累加加变变量量和和计计数数变变量量一一般般是是同同步步执执行行的的,累累加一次加一次,记数一次记数一次.2.循循环结环结构分构分为为两种两种当型和直到型当型和直到型.当型循环在每次执行循环体前对循环条当型循环在每次执行循环体前对循环条件进行判断件进行判断,当条件满
3、足时执行循环体当条件满足时执行循环体,不满不满足则停止足则停止;(;(当条件满足时反复执行循环体当条件满足时反复执行循环体)直到型循环在执行了一次循环体之后直到型循环在执行了一次循环体之后,对控制循环条件进行判断对控制循环条件进行判断,当条件不满足当条件不满足时执行循环体时执行循环体,满足则停止满足则停止.(.(反复执行循反复执行循环体环体,直到条件满足直到条件满足)当当型型循循环环结结构构满足条件满足条件?循环体循环体YN 当当型型循循环环结结构构在在每每次次执执行行循循环环体体前前对对控控制制循循环环条条件件进进行行判判断断,当当条条件件满满足足时时执执行循环体行循环体,不满足则停止不满足
4、则停止.循循环结环结构的算法流程构的算法流程图图直直到到型型循循环环结结构构条件条件语句语句A AYN直到型循环执行了一次循环体之后直到型循环执行了一次循环体之后,对控制循环条件进行判断对控制循环条件进行判断,当条件不满当条件不满足时执行循环体足时执行循环体,满足则停止满足则停止.3.循循环结环结构的构的设计设计步步骤骤(1)确定循环结构的循环变量和初始条件确定循环结构的循环变量和初始条件;(2)确定算法中需要反复执行的部分确定算法中需要反复执行的部分,即循环体;即循环体;(3)确定循环的终止条件确定循环的终止条件.4.循循环结环结构的三要素构的三要素循环变量,循环体、循环的终止条件循环变量,
5、循环体、循环的终止条件.例例1.设设计计一一个个计计算算 1+2+3+100的程序框的程序框图图.开始开始i100?NY输输出出sum结结束束i=1Sum=0i=i+1Sum=sum+i例例1.设计设计一个一个计计算算1+2+3+100的程的程序框序框图图.开始开始i 100?否否是是输输出出sum结结束束i=1Sum=0Sum=sum+ii=i+11.画出求画出求mul=123100问题问题的程序框的程序框图图.第一步第一步:设设i=1,mul=1第二步第二步:如果如果i 100执执行第三步行第三步,否否则执则执行第五步行第五步第三步第三步:计计算算muli并将并将结结果代替果代替mul第四
6、步第四步:将将i+1代替代替i,转转去去执执行第二步行第二步第五步第五步:输输出出mul.课课堂堂练习练习开始开始i n?否否是是输输出出mul结结束束Mul=1i=1i=i+1mul=muli开始开始i100?否否是是输输出出sum结结束束i=1Sum=0i=i+1Sum=sum+i22.设计设计一个一个计计算算12+22+32+1002的一个程序框的一个程序框图图.开始开始i100?否否是是输输出出sum结结束束i=1Sum=0i=i+1Sum=sum+i22.设计设计一个一个计计算算12+22+32+1002的一个程序框的一个程序框图图.例例2.某某工工厂厂2004年年的的生生产产总总值
7、值为为200万万元元,技技术术革革新新后后预预计计以以后后每每年年的的生生产产总总值值比比上上一一年年增增加加5%,问问最最早早需需要要哪哪一一年年年年生生产产总总值值超超过过300万万元元.写写出出计计算的一个算法算的一个算法,并画出相并画出相应应的程序框的程序框图图.第一步第一步:n=0,a=200,r=0.05.第二步第二步:T=ar(计计算年增量算年增量).第三步第三步:a=a+T(计计算年算年产值产值).第四步第四步:如果如果a 300,那么,那么n=n+1,重复,重复执执行第二步行第二步.第五步第五步:N=2004+n.第六步第六步:输输出出N.开始开始a300?否否是是输输出出N
8、结结束束n=0a=200r=0.05n=n+1a=a+TT=ar11N=2004+n思考思考1.循循环结环结构的特点构的特点2.循循环结环结构的框构的框图图表示表示3.循循环结环结构有注意的构有注意的问题问题避免死循避免死循环环的出的出现现,设设置好置好进进入(入(结结束)循束)循环环体的条件体的条件.当型和直到型当型和直到型重复同一个重复同一个处处理理过过程程五、五、设计设计算法的程序框算法的程序框图图第一步第一步:用自然用自然语语言表述算法步言表述算法步骤骤第二步第二步:确定每一个算法步确定每一个算法步骤骤所包含的所包含的逻辑结逻辑结构,并用相构,并用相应应的程序框的程序框图图表示,得表示
9、,得到到该该步步骤骤的程序框的程序框图图第三步第三步:将所有步将所有步骤骤的程序框的程序框图图用流程用流程线连线连接起来,并加上接起来,并加上终终端框,得到表示端框,得到表示整个算法的程序框整个算法的程序框图图1.设计设计步步骤骤例例3:画出用二分法求方程:画出用二分法求方程x2 2=0的近似的近似根根(精确度精确度为为0.005)的程序框的程序框图图.第一步第一步:令令f(x)=x2 2,给给定精确度定精确度d.第四步第四步:若若f(a)f(m)0,则则令令a=m;否;否则则,令,令b=m.第五步第五步:判断判断|a b|或或f(m)=0是否成立若是否成立若是,是,则则m为为方程的近似根;若
10、否方程的近似根;若否,则则返回返回第三步第三步.第二步第二步:确定区确定区间间a,b,满满足足f(a)f(b)0?a=m否否b=m否否|ab|d或或f(m)=0?2.用流程用流程图设计图设计算法的算法的经验经验流程流程图图是任何程序是任何程序设计设计的基的基础础,一般一般应应注注意以下的几点:意以下的几点:(1)任何的任何的实际问题实际问题都有一个数学模型都有一个数学模型解决的解决的步步骤骤,这这是是设计设计流程流程图图的关的关键键所在所在;(2)流程流程图图必必须须采用国家采用国家标标准的准的图图形符号来描述形符号来描述,箭箭头头的流向一定要准确的流向一定要准确;(3)算法算法结结构构应简单
11、应简单明了明了,总总体上是一个体上是一个顺顺序序结结构构;有判断的出有判断的出现现分支分支结结构构;需多次需多次执执行某一个行某一个过过程的采用循程的采用循环结环结构构.为为了了使使大大家家彼彼此此之之间间能能够够读读懂懂各各自自画画出出的的框框图图,必必须须遵遵守守一一些些共共同同的的规规则则,下下面面对对一些常用的一些常用的规则规则作一作一简单简单的介的介绍绍.(1)使用使用标标准的框准的框图图符号符号.(2)框框图图一般按从上到下、从左到右的方向画一般按从上到下、从左到右的方向画.(3)除除判判断断框框外外,大大多多数数程程序序框框图图符符号号只只有有一一个个进进入入点点和和一一个个退退
12、出出点点,判判断断框框是是具具有有超超过过一一个个退退出出点的唯一符号点的唯一符号.(4)判判断断框框是是“是是”与与“否否”两两分分支支的的判判断断,而而且且有有且且仅仅有两个有两个结结果果.3.画流程画流程图图的的规则规则(5)在在图图形符号内描述的形符号内描述的语语言要非常言要非常简练简练清楚清楚.(7)一一个个程程序序框框图图包包括括以以下下几几部部分分:表表示示相相应应操操作作的的程程序序框框;带带箭箭头头的的流流程程线线;程程序序框框外外必必要要的的文文字字说说明明(6)起起始始框框只只允允许许一一条条流流出出线线,终终止止框框只只允允许许一一条条流流入入线线,输输入入框框、输输出
13、出框框、处处理理框框只只有有一一条条流流入入线线和和一一条条流流出出线线,判判断断框框有有一一条条流流入入线线和和两两条条流流出出线线,但任何但任何时时候只有一条流出候只有一条流出线线起作用起作用.3.画流程画流程图图的的规则规则课堂小结本本节节主要主要讲讲述了程序框述了程序框图图的基本知的基本知识识:包括常包括常用的用的图图形符号、算法的基本形符号、算法的基本逻辑结逻辑结构构.算法的基本算法的基本逻辑结逻辑结构有三种,即构有三种,即顺顺序序结结构、构、条件条件结结构和循构和循环结环结构构.其中其中顺顺序序结结构是最构是最简单简单的的结结构,也是最基本构,也是最基本的的结结构,循构,循环结环结构必然包含条件构必然包含条件结结构,所以构,所以这这三三种基本种基本逻辑结逻辑结构是相互支撑的,它构是相互支撑的,它们们共同构成了共同构成了算法的基本算法的基本结结构,无构,无论论怎怎样样复复杂杂的的逻辑结逻辑结构,都构,都可以通可以通过这过这三种三种结结构来表达构来表达习题课例例6.设计设计一个求一个求1+2+4+7+46的算法的算法,并并画出相画出相应应的程序框的程序框图图.例例7.已知数列已知数列1,1,2,3,5,8,13,试设计试设计算法求此数列的第算法求此数列的第n n项值项值和和前前n n项项和和.
限制150内