欢迎来到天天文库
浏览记录
ID:52183185
大小:928.00 KB
页数:23页
时间:2020-04-02
《程序框图-循环结构.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、程序框图之循环结构三种基本算法结构1、顺序结构2、条件结构步骤n步骤n+1流程图3、循环结构满足条件?步骤A步骤B是否满足条件?步骤A是否情景问题北京取得2008奥运会主办权。国际奥委会对遴选出的五个城市进行投票表决的操作程序:首先进行第一轮投票,如果有一个城市得票超过一半,那么这个城市取得主办权;如果没有一个城市得票超过一半,那么将其中得票最少的城市淘汰;然后重复上述过程,直到选出一个城市为止。你能利用算法语言叙述上述过程吗?奥运会主办权投票过程的算法结构:第二步:统计票数。如果有一个城市得票超过一半,那么这个城市取得主办权,转入“第三步
2、”;否则淘汰得票数最少的城市,回到“第一步”;第三步:宣布主办城市。第一步:投票;输出该城市投票有一城市票数过半开始淘汰得票最少者结束奥运会主办权投票表决流程图是否第一步:投票;第二步:统计票数。如果有一个城市得票超过一半,那么这个城市取得主办权,转入“第三步”;否则淘汰得票数最少的城市,回到“第一步”;第三步:宣布主办城市。?循环结构(1)循环结构的概念被反复执行的步骤称为循环体。在一些算法中,经常出现从某一处开始,按照一定的条件反复执行某些步骤的情况,我们把这种结构称为循环结构。问题2:某些循环结构用程序框图可以表示为:循环体满足条件?
3、是否这种循环结构称为直到型循环结构,你能指出直到型循环结构的特征吗?在执行了一次循环体后,对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环.问题3:还有一些循环结构用程序框图可以表示为:循环体满足条件?是否这种循环结构称为当型循环结构,你能指出当型循环结构的特征吗?在每次执行循环体前,对条件进行判断,如果条件满足,就执行循环体,否则终止循环.思考4:计算1+2+3+…+100的值可按如下过程进行:第1步,0+1=1.第2步,1+2=3.第3步,3+3=6.第4步,6+4=10.……第100步,4950+100=505
4、0.我们用一个累加变量S表示每一步的计算结果,即把S+i的结果仍记为S,从而把第i步表示为S=S+i,其中S的初始值为0,i依次取1,2,…,100,通过重复操作,上述问题的算法如何设计?第四步,判断i>100是否成立.若是,则输出S,结束算法;否则,返回第二步.第一步,令i=1,S=0.第二步,计算S+i,仍用S表示.第三步,计算i+1,仍用i表示.思考5:用直到型循环结构,上述算法的程序框图如何表示?开始i=1i>100?是输出S结束S=0i=i+1S=S+i否思考6:用当型循环结构,上述算法的程序框图如何表示?开始i=1结束输出S否是
5、S=0S=S+ii≤100?i=i+1练习巩固1、设计一算法,求积:1×2×3×…×100,画出流程图结束输出Si=1,S=1开始S=S*ii=i+1i>100?否是例2某工厂2005年的年生产总值为200万元,技术革新后预计以后每年的年生产总值都比上一年增长5%.设计一个程序框图,输出预计年生产总值超过300万元的最早年份.第三步,判断所得的结果是否大于300.若是,则输出该年的年份;否则,返回第二步.第一步,输入2005年的年生产总值.第二步,计算下一年的年生产总值.算法分析:例2某工厂2005年的年生产总值为200万元,技术革新后预计
6、以后每年的年生产总值都比上一年增长5%.设计一个程序框图,输出预计年生产总值超过300万元的最早年份.第三步,判断所得的结果是否大于300.若是,则输出该年的年份;否则,返回第二步.第一步,输入2005年的年生产总值.第二步,计算下一年的年生产总值.算法分析:开始n=2005a=200t=0.05aa=a+tn=n+1a>300?结束输出n是否程序框图:练习以下给出的是计算的值的一个程序框图,其中判断框内应填入的条件是i>10开始s=0,n=2,i=1s=s+1/nn=n+2i=i+1输出S结束第(3)题否是根据条件把流程图补充完整,求内所
7、有奇数的和;处填(2)处填否是i:=1,S:=0i<1000(1)输出S(2)开始结束开始S=0I=I+1I=1S=S+I*II≤100输出S结束NYP.11习题1.1A组第2题输入x开始x>3y=1.2x+1.4y=5输入y结束NYP.11习题A组第3题程序框图开始输入50米跑成绩:xx<6.8输出提示“若要继续请按键”Y“,否则请按其他键输入到变量mm=“y”orm=“Y”结束输出xNYYNP.11习题1.1B组第1题程序框图开始输出提出:“输入第一个方程的系数”“x的系数是”:a1“y的系数是”:b1“常数项是”:c1输出“x=”
8、;x“y=”;y方程有无数多组解a1*b2-a2*b1≠0x=(c2*b1-c1*b2)/(a1*b2-a2*b1)y=(c2*b1-c1*b2)/(a1*b2-a2*b1)结束
此文档下载收益归作者所有