资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,1.1.2 程序框图与算法的基本逻辑构造(一),算法的概念,算法普通指能够用来解决的某一类问题,的环节或程序,这些环节或程序必须是,明确的和有效的,并且能够在有限步之,内完毕的。,算法的特性,普通性,有穷性,拟定与可行性,有输入信息的阐明,有输出成果的阐明,普适性,程序框图,程序框图又称流程图,是一种用规定的图形、指向线及文字阐明来精确、直观地表达算法的图形。,程序框,名称,功能,起止框(终端框),表示一个算法的起始和结束,是任何流程图不可少的。,输入、输出框,表示一个算法输入和输出的信息,可用在算法中任何需要输入、输出的位置。,处理框(执行框),赋值、计算,算法中处理数据需要的算式、公式等分别写在不同的用以处理数据的处理框内。,判断框,判断某一条件是否成立,成立时在出口处标明“是”或“,Y”,;不成立时标明“否”或“,N”,。,流程线,连接程序框,连接点,连接程序框图的两部分,观察右图,开始,输入,n,i,2,求,n,除以,i,的余数,r,in,1,或,r,0,?,i,=,i+1,否,是,r,0,?,输出“,n,不是质数”,输出“,n,是质数”,结束,否,是,开始,求,n,除以,i,的余数,r,i=2,输入,n,i,n-1,?,r=0,?,输出“,n,是质数,”,是,i=i+1,否,输出“,n,不是质数”,是,结束,否,观察右图,开始,i,1,i=i+1,i100,s=s+i,是,否,输出,s,结束,s,=0,算法的基本逻辑构造,任何算法的程序框图都能够用三种基本构造的组合来实现,它们是次序构造、条件构造、循环构造。,一、次序构造 它是由若干个依次执行的解决环节构成的,它是任何一种算法都离不开的一种基本算法构造。,A,B,输入,n,i,2,如在下面图中,A框和B框是依次执行的,,只有在执行完A框指定的操作后,才干接,着执行B框所指定的操作。,例1、已知一种三角形的三边分别为a、b、c,运用海伦公式设计一种算法,求出它的面积,并画出算法的程序框图。,开始,输入,a,b,c,结束,p,S,输出,S,例2、已知两个变量A和B的值,试设计一种交换这两个变量的值的算法,并画出程序框图。,第一步、输入,A,、,B,第二步、令,X=A,第三步、令,A=B,第四步、令,B=X,第五步、输出,A,、,B,练习,1、已知摄氏温度C与华氏温度F之间的关系为F=1.8C+32。设计一种由摄氏温度求华氏温度的算法,并画出对应的程序框图。,算法环节:,第一步:输入摄氏温度C;,第二步:计算1.8C+32,并将这个值记为华氏温度F;,第三步:输出华氏温度F。,练习,2、已知变量A、B、C的值,试设计一种算法程序框图,使得A为B的值,B为C的值,C为A的值。,第一步、输入,A,、,B,、,C,第二步、令,X=A,第三步、令,A=B,第四步、令,B=C,第五步、令,C=X,第六步、输出,A,、,B,、,C,的值,1.1.2 程序框图与算法的基本逻辑构造(二),二、条件构造 是指在算法中通过对条件的判断,根据条件与否成立而选择不同流向的算法构造。,是,否,满足条件?,是,否,满足条件?,环节1,环节2,环节1,环节2,输出“,n,不是质数”,是,否,r,0,?,输出“,n,是质数”,思考:设计求解不等式ax+b0(a0)的一种算法,并用流程图表达。,开始,输入a,b,a0?,是,否,输出解集,结束,条 件 结 构,例1,任意给定3个正实数,设计一种算法,判断分别以这3个数为三边边长的三角形与否存在.画出这个算法的程序框图.,条件构造,算法环节以下:,第一步,输入3个正实数a,b,c.,第二步,判断a+bc,a+cb,b+ca与否同时成立.,若是,则存在这样的三角形;,否则,不存这样的三角形.,条件构造,练习:设计一个算法计算分段函数 ,的函数值,,并画出程序框图。,分析:,第一步、输入x,第二步、判断“x0”与否成立,若是,则输出y=0,否则执行第三步;,第三步、判断“x3,则,费用为y=5(x-3)1.2=1.2x+1.4;,若x3,则费用为y5.,第三步,输出y.,练习:,开始,输入,a1,,,b1,,,c1,,,a2,。,b2,,,c2,输出,“,x=,”,;,,,“,y=,”,;,a1b2,a2b10,?,x=(c2b1,c1b2)/(a1b2,a2b1),y=(c2b1,c1b2)/(a1b2,a2b1),结束,N,Y,输出,“,输入数据不合题意,P.20,习题,1.1B,组第,1,题,算法环节:,第一步,输入a1,b1,c1,,a2,b2,c2.,第二步,计算,x=(c2b1 c1b2)/(a1b2 a2b1),y=(c2b1 c1b2)/(a1b2 a2b1),第三步,输出x,y,练习:,1.1.2 程序框图与算法的基本逻辑构造(三),三、循环构造 在某些算法中,经常会出现从某处开始,按照一定条件,重复执行某一解决环节的状况,这就是循环构造,重复执行的解决环节为循环体,显然,循环构造中一定包含条件构造。,循环体,满足条件?,否,是,循环体,满足条件?,否,是,执行一次循环体后,对条件进行判断,如果条件不满足,就继续执行循环体,,直到条件满足时终止循环,.,在每次执行循环体前,对条件进行判断,,当条件满足,执行循环体,否则,终止循环,.,直到型,当型,特性:,求,n,除以,i,的余数,r,in,1,或,r,0,?,i=i+1,否,是,注意:,1、循环构造要在某个条件下终止循环,这就需要条件构造来判断。因此,循环构造中一定包含条件构造,但不允许“死循环”。,开始,i=1,S=0,i=i+1,S=S+i,i100?,输出,S,结束,否,是,例:设计一种计算1+2+3+100的值的算法,并画出程序框图.,第,1步,011.,第2步,123.,第3步,336.,第4步,6410.,第100步,49501005050,.,算法:,第一步,令i1,S0.,第二步,若i 100成立,则执,行第三步;否则,输出S,结束算法.,第三步,SSi.,第四步,i=i+1,返回第二步.,当型循环构造,i=i+1,s=s+i,解决办法就是加上一种判断,判断与否已经加到了100,如果加到了则退出,否则继续加。,直到型构造,当型构造,i=i+1,s=s+i,是,否,i=i+1,s=s+i,否,是,i,100?,否,是,循环构造,直到型构造,当型构造,例 设计一种计算1+2+3+100的值的算法,并画,出程序框图.,例.设计一种计算1+2+3+100的值的算法,并画出程序框图.,第一步:拟定首数a,尾数b,项数n;,第二步:运用公式“S=n(a+b)/2”求和;,第三步:输出求和成果。,另解:,开始,结束,输入,a,b,n,S=n(a+b)/2,输出,S,P15(思考):设计一种算法,表达输出1,12,123,123 (n-1)+n(nN*)的过程.,结束,开始,S=0,i=1,S=S+i,i=i+1,in,Y,N,输入,n,输出,S,第一步,令i=1,S=0.,第二步,计算S=S+i.,第三步,计算i=i+1,输出s.,第四步,判断in与否成立,若是,算法结束;否则返回第二步.,例,某工厂2005年的年生产总值为,200万元,技术革新后预计后来每年的年,生产总值都比上一年增加5.设计一种程,序框图,输出预计年生产总值超出300万,元的最早年份.,算法环节:,第一步,输入,2005,年的年生产总值,.,第二步,计算下一年的年生产总值,.,第三步,判断所得的成果与否不不大于,300.若是,则输出该年的年份;否则,返,回第二步.,结束,开始,输出,n,a=200,t=0.05a,a=a+t,n=n+1,a300?,Y,n=2005,N,(1)拟定循环体:设a为某年的年生产,总值,t为年生产总值的年增加量,n为,年份,则循环体为t=0.05a,a=a+t,n=n+1.,(2),初始化变量:,n=2005,,,a=200.,(,3,)循环控制条件:,a300,结束,开始,输入,n,a=200,t=0.05a,a=a+t,n=n+1,a300?,Y,n=2005,N,结束,开始,输入,n,a=200,t,0.05a,a,a+t,n,n+1,a,300?,N,n=2005,Y,直到型,当型,1.,对任意正整数,n,的值,并画出程序框图,.,结束,开始,输入一种正整数n,输出,S,的值,S=0,i=1,S=S+1/i,i=i+1,in,Y,N,设计一种算法求,练 习,判断什么型循环?,2.,设计一算法,求积,:,123100,,画出流程图,.,结束,输出,S,i=0,,,S=1,开始,i=i+1,S=S*i,i,100?,否,是,练 习,求 的值,.,解:算法环节:,第一步,令i=1,s=0.,第二步,若成立,则执行第三步,否则,输出s.,第三步,计算s=s+i2,第四步,计算i=i+1,返回第二步.,开始,i=1,S=0,i=i+1,S=S+i,2,i100?,输出,S,结束,否,是,当型循环构造,3,、,P.20,习题,A,组第,2,题,开始,输入,50,米跑成绩,r,r6.8,n,9,?,结束,N,Y,Y,N,P.20,习题,1.1B,组第,2,题,算法环节:,第一步,令计算变量n1.,第二步,输入一种成绩r,判断r与6.8的大小,若r6.8,则执行下一步;若r6.8,则输出r,并执行下一步.,第三步,令nn1.,第四步,判断计数变量n与成绩个数9的大小,若n9,则返回第二步,若n9,则结束算法.,n,1,n,n,1,输出,r,小结:,1、算法的程序框图的构成;,2、三种基本逻辑构造;,3、画程序框图要注意:流程线的箭头;判断框后边的流程线应根据状况标注“是”或“否”;,4、循环构造中要设计合理的计数变量或累加变量等.,
展开阅读全文