循环结构、程序框图的画法use4_第1页
循环结构、程序框图的画法use4_第2页
循环结构、程序框图的画法use4_第3页
循环结构、程序框图的画法use4_第4页
循环结构、程序框图的画法use4_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 循环结构、程序框图的画法 北京取得北京取得20082008奥运会主办权奥运会主办权. .国际奥委会对遴选出国际奥委会对遴选出的五个城市进行投票表决的操作程序:的五个城市进行投票表决的操作程序: 首先进行第一次投票,如果有一个城市得票超过首先进行第一次投票,如果有一个城市得票超过一半,那么这个城市取得主办权;如果没有一个城市一半,那么这个城市取得主办权;如果没有一个城市得票超过一半,那么将其中得票最少的城市淘汰;然得票超过一半,那么将其中得票最少的城市淘汰;然后重复上述过程,直到选出一个城市为止后重复上述过程,直到选出一个城市为止. . 问题:问题:你能利用算法语言叙述上述过程吗?你能利用算法

2、语言叙述上述过程吗?第一步,投票第一步,投票.第二步,统计票数第二步,统计票数.如果有一个城市得票超过一半,如果有一个城市得票超过一半,那么这个城市取得主办权,转入第三步;否则淘那么这个城市取得主办权,转入第三步;否则淘汰得票数最少的城市,转入第一步汰得票数最少的城市,转入第一步.第三步,宣布主办城市第三步,宣布主办城市.奥运会主办权投票过程的算法结构奥运会主办权投票过程的算法结构开始开始投票投票有一个城市有一个城市得票数超过总票得票数超过总票 数的一半数的一半? ?输出该城市输出该城市结束结束淘汰得票数淘汰得票数最少的城市最少的城市是是否否 在一些算法中在一些算法中, ,经常经常会出现从某些

3、地方开始会出现从某些地方开始, ,按照一定条件按照一定条件, ,反复执行反复执行某一步骤的情况某一步骤的情况, ,这就是这就是循环结构循环结构. .算法的循环结构算法的循环结构 在一些算法中,经常会出现从某处开始,按照一定的在一些算法中,经常会出现从某处开始,按照一定的条件反复执行某些步骤的情况,这就是某些步骤的情况,这就是循环结构循环结构,反复执行的步骤称为,反复执行的步骤称为循环循环体体. .循环结构循环结构是一种计算机结构,是程序设计中是一种计算机结构,是程序设计中最能发挥计算机特最能发挥计算机特长的程序结构长的程序结构,可以减少源程序重复书写的,可以减少源程序重复书写的工作量,工作量,

4、描述重复执行描述重复执行某段算法的问题。某段算法的问题。循环结构循环结构在程序框图中是利用在程序框图中是利用判断框判断框来表示,判来表示,判断框内写上条件,两个出口分别对应着条件成立和条件不成立时所断框内写上条件,两个出口分别对应着条件成立和条件不成立时所执行的不同指令,其中一个要指向循环体,然后再从循环体回到判执行的不同指令,其中一个要指向循环体,然后再从循环体回到判断框的入口处。断框的入口处。某些循环结构用程序框图可以表示为:某些循环结构用程序框图可以表示为: 循环体循环体满足条件?满足条件?是是否否 这种循环结构称为这种循环结构称为直到型循环结构直到型循环结构,你能指出直到型循环结构的特

5、征吗?你能指出直到型循环结构的特征吗? 在执行了一次循环在执行了一次循环体后,对条件进行体后,对条件进行判断,如果条件不判断,如果条件不满足,就继续执行满足,就继续执行循环体,直到条件循环体,直到条件满足时终止循环满足时终止循环. .还有一些循环结构用程序框图可以表示还有一些循环结构用程序框图可以表示为:为:循环体循环体满足条件?满足条件?是是否否这种循环结构称为这种循环结构称为当型循环结构当型循环结构,你能,你能指出当型循环结构的特征吗?指出当型循环结构的特征吗?学学.科科.网网在每次执行循在每次执行循环体前,对条环体前,对条件进行判断,件进行判断,如果条件满足,如果条件满足,就执行循环体,

6、就执行循环体,否则终止循环否则终止循环. .引例引例1 1:设计一个计算:设计一个计算1+2+3+1001+2+3+100(累加问题)累加问题)的值的的值的算法,并画出程序框图算法,并画出程序框图. .第一步,第一步,0+1=1.0+1=1.第二步,第二步,1+2=3.1+2=3.第三步,第三步,3+3=6.3+3=6.第四步,第四步,6+4=10.6+4=10. 第一百步,第一百步,4 950+100=5 050. 4 950+100=5 050. 算法分析:算法分析:通常,我们按照下列过程计算通常,我们按照下列过程计算1+2+1001+2+100的值的值这个过程包含重复的步骤,可以这个过程

7、包含重复的步骤,可以用循环结构表示。用循环结构表示。 我们用一个变量我们用一个变量S S表示每一步的计算结果,即把表示每一步的计算结果,即把S+iS+i的结果仍记为的结果仍记为S S,从而把第从而把第i i步表示为步表示为S=S+iS=S+i,其中,其中S S的初始值为的初始值为0 0,i i依次取依次取1 1,2 2,100100,通过重复操作,通过重复操作,由于由于i同时表示循环的同时表示循环的次数,所以次数,所以i也称为也称为计数变量计数变量(计数器)(计数器)(i=i+1)(一个一个一个一个跳的计数器)(跳的计数器)(i=i+2)(隔一跳的计数器)(隔一跳的计数器)(i=2*i)(翻倍

8、)翻倍).第一步,第一步,令令i=1(管循环的,像一个循环的机器),管循环的,像一个循环的机器),S=0.(装最终的结果啊)(初始值)(装最终的结果啊)(初始值)第二步,第二步,如果如果i100成立(条件),则执行第三步,否则,成立(条件),则执行第三步,否则,输出输出S,结束算法,结束算法.第三步,第三步,S=S+i.第四步,第四步,i=i+1,返回第二步,返回第二步.iSSii1数学表达式:探讨累加、累乘问题的一般算法:探讨累加、累乘问题的一般算法:算算 法:法:第一步:令第一步:令i = 1,S = 0;第二步:若第二步:若i100成立,则执行第三步;成立,则执行第三步; 否则,输出否则

9、,输出S,结束算法;,结束算法;第三步:第三步:S = S + i;第四步:第四步:i = i + 1,返回第二步。,返回第二步。程序框图:程序框图:开始开始i = 1S = 0i = i + 1i100?输出输出S结束结束是是否否S = S + i当型循环当型循环算算 法:法:程序框图:程序框图:开始开始i = 1S = 0i = i + 1否否i100?输出输出S结束结束是是S = S + i直到型循环直到型循环第一步:令第一步:令i = 1; S = 0第四步:判断第四步:判断i 100是否成立,若是,是否成立,若是, 则输出则输出S;否则,返回第二步;否则,返回第二步;第二步:计算第二

10、步:计算S = S + i;第三步:第三步: 计算计算i = i + 1;开始开始i = 1S = 0i = i + 1i100?输出输出S结束结束是是否否S = S + i当型循环当型循环开始开始i = 1S = 0i = i + 1否否i100?输出输出S结束结束是是S = S + i直到型循环直到型循环当型循环与直到型循环的区别:当型循环与直到型循环的区别: 1、当型循环可以不执行循环体,直到型循环至少执、当型循环可以不执行循环体,直到型循环至少执 行一次循环体行一次循环体.2、当型循环先判断后执行,直到型循环先执行后判断、当型循环先判断后执行,直到型循环先执行后判断.3、对同一算法来说

11、,当型循环和直到型循环的条件、对同一算法来说,当型循环和直到型循环的条件 互为反条件互为反条件. 设计算法求设计算法求的值,并画出程序框图的值,并画出程序框图. .分析:分析:这是一个共有这是一个共有100100项的累加求和题,需要设计一个计项的累加求和题,需要设计一个计数变量,一个累加变量,用循环结构实现这一算法数变量,一个累加变量,用循环结构实现这一算法. .111111 2233499 100100 101+ +创创解:解:算法如下:算法如下:第一步,令第一步,令S=0,k=1.S=0,k=1.第二步,若第二步,若k k100100成立,则执行第三步;成立,则执行第三步;否则,输出否则,

12、输出S S,结束算法,结束算法. .第三步,第三步,第四步,第四步,k=k+1k=k+1,返回第二步,返回第二步. .程序框图如图所示:程序框图如图所示:()1SS.k k1=+1 1三种逻辑结构中,顺序结构是最简单的结构,循三种逻辑结构中,顺序结构是最简单的结构,循环结构必然包含条件结构,它们共同构成了算法的基环结构必然包含条件结构,它们共同构成了算法的基本结构,无论怎样复杂的逻辑结构,都可以通过这三本结构,无论怎样复杂的逻辑结构,都可以通过这三种结构来表达种结构来表达 。3在循环结构中都有一个计数器和累加变量。计数器用于记录循环次数,累加变量用于输出结果。计数变量和累加变量一般是同步执行的

13、,累加一次,计数一次。2 2循环结构要在某个条件下终止循环,这就需要条件结构循环结构要在某个条件下终止循环,这就需要条件结构来判断。因此,循环结构中一定包含条件结构,但不允许来判断。因此,循环结构中一定包含条件结构,但不允许“死循环死循环”。4 4画循环结构程序框图前要注意:画循环结构程序框图前要注意:确定循环变量和初确定循环变量和初始条件;始条件;确定算法中反复执行的部分,即循环体;确定算法中反复执行的部分,即循环体;确确定循环的转向位置;定循环的转向位置;确定循环的终止条件确定循环的终止条件. .小小 结:结:算法如下:算法如下:开始开始S = 1i = 2S = Sii = i + 1i

14、100?输出输出S结束结束是是否否例例2:写出求写出求123100的一个算法(累乘问题)的一个算法(累乘问题)第一步:令第一步:令S = 1; i = 2第四步:若第四步:若i100不成立,则返回第二步;不成立,则返回第二步; 否则,输出否则,输出S,结束算法;,结束算法;第二步:第二步:S = S i;第三步:第三步: i = i + 1;iSSiii*1:项积的迭代数学表达式前练习:练习:2、写出求、写出求 的和的一个算法,的和的一个算法, 并画出流程图并画出流程图1001312111、写出求、写出求13 5 7 99的积的一个算法,的积的一个算法, 并画出流程图。并画出流程图。作业:作业

15、:2:写出求:写出求13 5 7 99的一个算法,并的一个算法,并画出流程图。画出流程图。S1:T=1S2:i=3S3:T=TiS4:i=i+2S5:若:若 i99则输出则输出T,算法结,算法结束,否则转束,否则转S3解:算法解:算法开始开始T=1i=3T=Tii=i+2i99输出输出T结束结束YN例例3 3 某工厂某工厂20052005年的年生产总值为年的年生产总值为200200万元,技术革新后预万元,技术革新后预计以后每年的年生产总值都比上一年增长计以后每年的年生产总值都比上一年增长5%.5%.设计一个程序设计一个程序框图,输出预计年生产总值超过框图,输出预计年生产总值超过300300万元

16、的最早年份万元的最早年份. .算法分析算法分析:第一步,第一步,输入输入20052005年的年生产总值年的年生产总值. .第二步,第二步,计算下一年的年生产总值计算下一年的年生产总值. .第三步,第三步,判断所得的结果是否大于判断所得的结果是否大于300.300.若是,则输出该年若是,则输出该年的年份;否则,返回第二步的年份;否则,返回第二步. .循环结构循环结构:(1 1)确定循环体:确定循环体:设设a a为某年的年生产总值,为某年的年生产总值,t t为年生产总值为年生产总值的年增长量,的年增长量,n n为年份,则循环体为为年份,则循环体为t=0.05at=0.05a,a=a+ta=a+t,

17、n=n+1.n=n+1.(2 2)初始化变量:初始化变量:n=2 005n=2 005,a=200.a=200.(3 3)设定循环控制条件:设定循环控制条件:当当“a300”a300”时终止循环时终止循环. .开始开始n=2005a=200t=0.05aa=a+tn=n+1 a300?结束结束输出输出n是是否否程序框图程序框图:1.1.如图给出的是计算如图给出的是计算 的值的一个程序框图,其中判断的值的一个程序框图,其中判断框内应填入的条件是框内应填入的条件是_._. 解:解:由框图可知,该过程由框图可知,该过程共执行循环体共执行循环体1010次次. .111124620+ +答案:答案:i i1010?S SS SS SS S2.2.画出计算画出计算1 12 24 42 27 72 21001002 2的值的程序框图的值的程序框图. .解:解:算法分析:需要一个计数变量算法分析:需要一个计数变量和一个累加变量,和一个累加变量, 将累加变量的初始值设为将累加变量的初始值设为0 0,计数,计数变量的值每次加变量的值每次加3 3,从,从1 1到到100.100.程程序框图如图所示:序框图如图所示: ? ,开始S=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论