资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,*,算法的三种基本逻辑结构和框图表示,1,一、复习引入,1.,程序框图的概念,通常用一些通用图形符号构成一张图来表示算法。这种图称做,程序框图,(简称框图)也叫,流程图,.,2,图形符号,名称,符号表示的意义,起止框,框图的开始或结束,输入,输出框,数据的输入或结果的输出,处理框,赋值、执行计算语句、结果的传送,判断框,根据给定条件判断,流程线,流程进行的方向,连接点,连接另一页或另一部分的框图,注释框,帮助理解框图,3,二、提出问题,我们写出的算法或画出的程序框图,一定要使大家一步步地看清楚、明白,容易阅读.不然的话,写得算法乱无头绪,就很难让人阅读和理解.这就要求算法或程序框图有一个良好的结构.,算法有三种基本的逻辑结构:,顺序结构,、,条件分支结构,和,循环结构,4,二、提出问题,开始,输入,n,i=2,求,n除以i的余数r,i的值增加1,仍用i表示,in-1或r=0?,r=0?,N不是质数,N是质数,结束,是,否,是,否,开始,结束,求,n除以i的余数r,i=i,+1,i,n,-1或,r,=0?,r=0?,N,不是质数,N,是,质数,输入,n,i,=2,顺序结构,条件结构,循环结构,5,三、概念形成,概念,1,.,顺序结构,顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构.,顺序结构在程序框图,中的体现就是用流程线将,程序框自上而下地连接起,来,按顺序执行算法步骤.,步骤,n,步骤,n,1,6,三角形,ABC,的底,BC,为,4,高,AD,为,2,求三角形,ABC,的面积,S,试设计该问题的算法和流程.,结束,开始,计算,S=,1/2,ah,输出,S,输入,a,=,4,h,=,2,顺序结构,7,是,是,概念,2.,条件分支结构,在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构.,分类是算法中经常发生的事情,条件结构的主要作用就是表示分类.条件结构可用程序框图表示为下面两种形式.,步骤,A,步骤,B,满足条件?,否,步骤,A,满足条件?,否,8,任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在.画出这个算法的程序框图.,开始,输入,a,b,c,a+bc,a+cb,b+ca,是否同时成立?,存在这样的,三角形,不存在这样,的三角形,结束,否,是,条件分支结构,9,根据指令条件决定,是否重复执行一条或多条指令,的控制结构称为,循环结构.,概念,3,、,循环结构,10,循环结构,在科学计算中,会遇到许多,有规律,的,重复运算,,例如人口预测.,已经知道现有的人口总数是,P,,人口的年增长率是,R,,预测第,T,年后人口总数将是多少?,11,问题的分析:,(,1)第一年后的人口总数是,P,+,P,R,=,P,(1+,R,);,(2),第二年后的人口总数是,P,(1+,R,)+,P,(1+,R,),R,=,P,(1+,R,),2,;,以此类推,得到第,T年后的人口总数是,P,(1+,R,),T,.,12,这就是说,如果要计算第,10,年后的人口总数,乘,(1+,R,),的运算要重复,10,次.,如果一个计算过程,要重复一系列的计算步骤若干次,每次重复的计算步骤完全相同,则这种算法过程称为循环过程,.,循环过程非常适合计算机处理,因为计算机的运算速度非常快执行成千上万次的重复计算,只不过是一瞬间的事,且能保证每次的结果都正确.,13,否,是,开始,输入第一年人口,P,人口增长率,R,,预测第,T,年,增长时间,t,=1,t,T,t,=,t,+1,P,=,P,+,I,计算增量,I,=,P,R,结束,输出,P,值,14,循环结构分为,当型循环结构,和,直到型循环结构,差异,:循环终止条件不同,检验条件是否成立的先后次序也不同.,当型循环结构,:先判断后执行循环体.,直到型循环结构,:先执行循环体后判断条件是否成立.,循环体,满足条件?,否,是,直到型循环结构,当型循环结构,循环体,满足条件?,是,否,15,例1.已知点 和直线 ,求点 到直线 的距离 .,四、例题,解:,(,1,)用数学语言来描述算法,:,S1,:输入点的坐标,,,输入直线方程的系数,A,B,C;,S2,:计算,;,S3,:输出 ;,16,S1,:,输入点的坐标,及直线系数:,例,1.,已知点,和直线 ,求点,到直线 的距离 .,解:,(,2,)用框图来描述算法,:,开始,输入,结束,S2,:计算,:,S3,:输出 ;,17,输入系数,a,b,c,输出,X,1,、,X,2,计算,计算,顺序结构,例,2,.设计算法,求一元二次方程,a,x,2,+,bx,+,c,=,0,(,a,0,)的根,画出相应的流程图,b,2,-4,ac,0,开始,结束,18,设计算法,求一元二,次,方程,ax,2,+bx+c=0,(),的根,画出相应的流程图,a,0,输出,x1,x2,输入系数,a,b,c,0?,否,是,输出无实数解,条件结构,计算,开始,结束,19,例,3.设火车托运行李时,每千米的费用(单位:元)标准为:,解,:先输入托运重量为,P,和里程,D,,再分别用各自条件下的计算式子来进行计算处理,然后将结果与托运路程,D,想成相乘,最后输出托运行李费用,M,.,画出行李托运费用的程序框图,.,20,21,例,4.,已,知,n,个正整数排成一行如下:,a,1,,,a,2,,,a,3,,,a,n,1,,,a,n,,,其中下脚码表示,n,个数的排列位置,这一行数满足条件:,a,1,=1,,a,2,=1,,a,n,=,a,n,2,+,a,n,1,(,n,3,n,N,),画出计算第,n,项的程序框图,.,分析:,a,1,=1,,a,2,=1,,a,n,=,a,n,2,+,a,n,1,,所以,a,3,=2,,a,4,=3,,a,5,=5,,a,k,=,a,k,2,+,a,k,1,,,22,我们看到,a,k,,,a,k,2,,,a,k,1,,,都是,k,的函数,数值随k而变化.,因此在框图中要引入三个变量,分别用,C,、,A,、,B,表示,a,k,,,a,k,2,,,a,k,1,,,且首先要输入正整数,n,(,n,3),,以及给,A,和,B,分别输入数值,1,1,,然后循环计算.,23,否,是,开始,输入,n,A,=1,B,=1,k,=3,k,n,k,=,k,+1,A=B,B=C,C,=,A,+,B,结束,输出,C,24,1,、写出下列程序框图的运行结果.,已知函数,,,程序框图表示的是给出,x,值,,,求相应的函数值的算法.将框图补充完整.,其中,处应填写,;,处应填写,。,五、练习,25,六、课堂总结,1,、了解顺序结构,条件分支结构和循环结构的概念;,2,、熟练地运用顺序结构,条件分支结构和循环结构,掌握它们的特点,26,谢谢指导!,27,
展开阅读全文