算法的基本逻辑结构-循环结构【特制材料】

上传人:cl****1 文档编号:567543711 上传时间:2024-07-21 格式:PPT 页数:28 大小:1.28MB
返回 下载 相关 举报
算法的基本逻辑结构-循环结构【特制材料】_第1页
第1页 / 共28页
算法的基本逻辑结构-循环结构【特制材料】_第2页
第2页 / 共28页
算法的基本逻辑结构-循环结构【特制材料】_第3页
第3页 / 共28页
算法的基本逻辑结构-循环结构【特制材料】_第4页
第4页 / 共28页
算法的基本逻辑结构-循环结构【特制材料】_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《算法的基本逻辑结构-循环结构【特制材料】》由会员分享,可在线阅读,更多相关《算法的基本逻辑结构-循环结构【特制材料】(28页珍藏版)》请在金锄头文库上搜索。

1、1课程知识掌握程序框图的概念,会用通用的图形符号表示算法。教学目标:掌握算法的三种结构(顺序结构、条件结构、掌握算法的三种结构(顺序结构、条件结构、循环结构)循环结构)掌握画程序框图的基本规则。掌握画程序框图的基本规则。2课程知识图形符号图形符号名称名称功能功能终端框终端框(起止框起止框)输入、输出框输入、输出框处理框处理框(执行框执行框)判断框判断框表示一个算法的起始和结束表示一个算法的起始和结束表示一个算法输入和输出的信息表示一个算法输入和输出的信息赋值、计算赋值、计算判判断断某某一一条条件件是是否否成成立立,成成立立时时在在出出口口处处标标明明“是是”或或“Y”,不不成成立时标明立时标明

2、“否否”或或“N”.(2)构成程序框图的图形符号及其功能)构成程序框图的图形符号及其功能流程线流程线连接程序框连接程序框连结点连结点连接程序框图的两部分连接程序框图的两部分63课程知识 开始开始输入输入n求求n除以除以i的余数的余数i的值增加的值增加1,仍用仍用i表示表示in-1或或r=0?r=0?n不是质数不是质数n是质数是质数结束结束否否否否是是是是i=2顺顺序序结结构构循循环环结结构构条条件件结结构构4课程知识2、算法的三种基本逻辑结构、算法的三种基本逻辑结构 顺序结构、条件结构、循环结构。顺序结构、条件结构、循环结构。 (1)顺序结构)顺序结构 顺顺序序结结构构是是由由若若干干个个依依

3、次次执执行行的的步步骤骤组组成成的的。它它是是任任何何一一个个算算法法都都离离不不开的一种基本算法结构。开的一种基本算法结构。 步骤 n步骤n+1示意图示意图5课程知识 条条件件结结构构是是指指在在算算法法中中通通过过对对某某条条件件的的判判断断, ,根据条件是否成立根据条件是否成立而选择不同流向的算法结构而选择不同流向的算法结构. .基本形式基本形式2 2(2)条件结构条件结构满足条件?步骤步骤A否否是是满足条件满足条件?步骤步骤A步骤步骤B是是否否基本形式基本形式1 16课程知识(3)循环结构循环结构 在算法的程序框图中,由按照一在算法的程序框图中,由按照一定的条件反复执行的某些步骤组成的

4、定的条件反复执行的某些步骤组成的逻辑结构,称为逻辑结构,称为循环结构循环结构,反复执行,反复执行的步骤称为的步骤称为循环体循环体。7课程知识循环体循环体满足条件?满足条件?是是否否某些循环结构用程序框图可以表示为:某些循环结构用程序框图可以表示为: 在执行了一次循环体后,对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环. 这种循环结构称为这种循环结构称为直到型循环结构直到型循环结构8课程知识 还有一些循环结构用程序框图可以还有一些循环结构用程序框图可以表示为:表示为:循环体循环体满足条件?满足条件?是是否否在每次执行循在每次执行循环体前,对条环体前,对条件进行判断,件进

5、行判断,如果条件满足,如果条件满足,就执行循环体,就执行循环体,否则终止循环否则终止循环. .这种循环结构称为这种循环结构称为当型循环结构当型循环结构9课程知识循环体循环体满足条件?满足条件?是是否否循环体循环体满足条件?满足条件?是是否否直到型循环结构直到型循环结构当型循环结构当型循环结构思考思考: :循环结构中一定包含条件结构吗?循环结构中一定包含条件结构吗? 循环结构中一定包含条件结构循环结构中一定包含条件结构 10课程知识例例6 6:设计一个计算设计一个计算1+2+3+1+2+3+100+100的值的算法,并的值的算法,并画出程序框图画出程序框图第第1 1步,步,0+1=1.0+1=1

6、.第第2 2步,步,1+2=3.1+2=3.第第3 3步,步,3+3=6.3+3=6.第第4 4步,步,6+4=10.6+4=10. 第第100100步,步,4950+100=5050. 4950+100=5050. 我们用一个我们用一个累加变量累加变量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同同时记录了循环的次数,所以也称为时记录了循环的次数,所以也称为计数变量计

7、数变量. .算法分析:算法分析:通常我们按照下列过程计算通常我们按照下列过程计算1+2+3+1+2+3+100+100的值。的值。11课程知识第二步,如果第二步,如果i i100100成立,则执行第三步,成立,则执行第三步,否则,输出否则,输出S S,结束算法,结束算法. .第一步,令第一步,令i=1i=1,S=0.S=0.第三步,第三步,S=S+i.S=S+i.第四步,第四步,i=i+1i=i+1,返回第二步,返回第二步. .解决这一问题的算法是:12课程知识上述算法的程序框图表示为:上述算法的程序框图表示为:开始开始i=1结束结束输出输出S否否是是S=0S=S+ii100?i=i+1当型循

8、环结构当型循环结构第二步,如果第二步,如果i i100100成立,成立,则执行第三步,否则,输出则执行第三步,否则,输出S S,结束算法,结束算法. .第一步,令第一步,令i=1i=1,S=0.S=0.第三步,第三步, S=S+i. S=S+i.第四步,第四步, i=i+1, i=i+1,返回第二步返回第二步. .13课程知识如果用如果用直到型循环结构直到型循环结构,上述算法的程序框图如何表示?,上述算法的程序框图如何表示?开始开始i=1i100?是是输出输出S结束结束S=0i=i+1S=S+i否否 第四步,判断第四步,判断i i100100是否成立是否成立. .若是,则输出若是,则输出S S

9、,结束算法;否,结束算法;否则,返回第二步则,返回第二步. .第一步,令第一步,令i=1i=1,S=0.S=0.第二步,计算第二步,计算S+iS+i,仍用,仍用S S表示表示. .第三步,计算第三步,计算i+1i+1,仍用,仍用i i表示表示. .14课程知识例例7 7 某工厂某工厂20052005年的年生产总值为年的年生产总值为200200万元,万元,技术革新后预计以后每年的年生产总值都比技术革新后预计以后每年的年生产总值都比上一年增长上一年增长5%.5%.设计一个程序框图,输出预计设计一个程序框图,输出预计年生产总值超过年生产总值超过300300万元的最早年份万元的最早年份. .第三步,判

10、断所得的结果是否大于第三步,判断所得的结果是否大于300.300. 若是,则输出该年的年份;若是,则输出该年的年份; 否则,返回第二步否则,返回第二步. .第一步,第一步, 输入输入20052005年的年生产总值年的年生产总值. .第二步,计算下一年的年生产总值第二步,计算下一年的年生产总值. .算法分析算法分析:15课程知识(3 3)设定循环控制条件:当)设定循环控制条件:当“a a300300”时终止循环时终止循环. .(1 1)循环体:设)循环体:设a a为某年的年生产总值,为某年的年生产总值,t t为年生产总值的年增长量,为年生产总值的年增长量,n n为年份,为年份,则则t=0.05a

11、t=0.05a,a=a+ta=a+t,n=n+1.n=n+1.(2 2)初始值:)初始值:n=2005n=2005,a=200.a=200.循环结构循环结构:16课程知识开始开始n=2005a=200t=0.05aa=a+tn=n+1a300?结束结束输出输出n是是否否程序框图程序框图:17课程知识注意:(1)循环结构不能是永不停止的“死循环”,一定要在某个条件下终止循环,这就需要条件结构作出判断。循环结构中一定含有顺序结构和条件结构。(2)构造循环结构描述算法,一般来说首先需要确定三件事:循环变量和初始条件、循环体(即算法中反复执行的步骤)、循环条件。18课程知识设计求123.2014的算法

12、,并画出程序框图。算算法法分分析析:这是一个累乘问题,重复进行了2013次乘法,因此可用循环 结构描述,这就需要引入累乘变量m和技术变量i,这里m与i在每次循环后,它们的值都在变化。算法步骤:算法步骤:第一步,设m的值为1.第二步,设i的值为2.第三步,若i2014,则执行第四步,否则,输出m,结束算法。第四步,m=m*i.第五步,i=i+1,返回第三步。 19课程知识问题:用问题:用“二分法二分法”求方程求方程 的的近似解的算法如何设计?近似解的算法如何设计? 3.知识探究:程序框图的画法知识探究:程序框图的画法第一步,令第一步,令f(x)=xf(x)=x2 2-2-2,给定精确度,给定精确

13、度d.d. 第二步,确定区间第二步,确定区间aa,bb,满足,满足f(a)f(a)f(b)f(b)0.0. 第三步,取区间中点第三步,取区间中点m=(a+b)/2m=(a+b)/2. . 第四步,若第四步,若f(a)f(a)f(m)f(m)0 0,则含零点的区间为,则含零点的区间为aa,mm;否则,含零点的区间为;否则,含零点的区间为mm,b.b.将新得到的含将新得到的含零点的区间仍记为零点的区间仍记为aa,b.b. 第五步,判断第五步,判断aa,bb的长度是否小于的长度是否小于d d或或f(m)f(m)是否是否等于等于0.0.若是,则若是,则m m是方程的近似解;否则,返回第是方程的近似解;

14、否则,返回第三步三步. . 20课程知识思考思考1:1:该算法中哪几个步骤可以用顺序该算法中哪几个步骤可以用顺序结构来表示?这个顺序结构的程序框图结构来表示?这个顺序结构的程序框图如何?如何?f(x)=x2- -2输入精确度输入精确度d和初始值和初始值a,b21课程知识思考思考2:2:该算法中第四步是什么逻辑结构该算法中第四步是什么逻辑结构?这个步骤用程序框图如何表示?这个步骤用程序框图如何表示?f(a)f(m)0?a=mb=m是是否否22课程知识思考思考3:3:该算法中哪几个步骤构成循环结该算法中哪几个步骤构成循环结构?这个循环结构用程序框图如何表示构?这个循环结构用程序框图如何表示?第三步

15、第三步第四步第四步|a- -b|d或或f(m)=0?输出输出m是是否否23课程知识思考思考4:4:根据上述分析,根据上述分析,你能画出表示你能画出表示整个算法的整个算法的程序框图吗?程序框图吗?开始开始结束结束f(a)f(m)0??a=mb=m是是否否|a- -b|d或或f(m)=0?输出输出m是是否否f(x)=x2- -2输入精确度输入精确度d和初始值和初始值a,b24课程知识思考思考4:4:根据上述分析,根据上述分析,你能画出表示你能画出表示整个算法的整个算法的程序框图吗?程序框图吗?开始开始结束结束f(a)f(m)0??a=mb=m是是否否|a- -b|d或或f(m)=0?输出输出m是是

16、否否f(x)=x2- -2输入精确度输入精确度d和初始值和初始值a,b25课程知识小小 结结设计一个算法的程序框图的基本思路:设计一个算法的程序框图的基本思路:第二步,确定每个算法步骤所包含的逻第二步,确定每个算法步骤所包含的逻辑结构,并用相应的程序框图表示。辑结构,并用相应的程序框图表示。 第一步,用自然语言表述算法步骤第一步,用自然语言表述算法步骤. .第三步,将所有步骤的程序框图用流程第三步,将所有步骤的程序框图用流程 线连接起来,并加上两个终端框线连接起来,并加上两个终端框. .26课程知识1、掌握程序框的画法和功能。、掌握程序框的画法和功能。2、了解什么是程序框图,知道学习程、了解什么是程序框图,知道学习程序框图的意义。序框图的意义。3、掌握顺序结构、条件结构、循环、掌握顺序结构、条件结构、循环结构的应用,并能解决与这三种结构结构的应用,并能解决与这三种结构有关的程序框图的画法。有关的程序框图的画法。三三、课时小结课时小结:27课程知识祝同学们学习进步祝同学们学习进步28课程知识

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号