资源描述
,欢迎进入数学课堂,三.算法的控制结构,用计算机程序解决问题的过程中,一个算法的功能不仅取决于所选用的操作,而且还决定于各操作之间的执行顺序,即控制结构。算法的控制结构给出了算法的框架,决定了各操作的执行次序。,算法含有两大要素:一是操作。计算机算法由计算机实现,组成它的操作主要包括:算术运算(、等),逻辑运算(与、或、非等),关系运算(、等),函数运算等等。,1.顺序结构(Sequence)如:鸡兔同笼问题各操作是依次执行的,这种控制结构称为顺序结构.,S1,S2,Sn,.,设计算法:,(1)输入a和b的值;(2)求X=2A-B/2;(3)求y=b/2-a;(4)输出x,y的值;(5)结束。,比如设计算法确定给定线段AB的4等分点。,解决这个问题的算法如下:,a.从已知线段的左端点A出发,作一射线,b.在射线上任取一点C,并作线段CE=EF=FG=AC,那么线段AG=4AC,c.连接GB,d.过C作GB的平行线,交线段AB于M,这样M就是线段AB的4等分点。,像这样的算法就是一个顺序结构的算法,只要按照书写顺序完成以上四个步骤,就能得到线段AB的4等分点。,2.选择结构(Slect-Ion)。如:辗转相除法中,m=n和n=r的操作要通过检验r=0是否成立来决定做还是不做,这种控制结构被称为选择结构。,B,S1,S2,对任意给定的三个整数x,y,z,设计求出其最大值。这个算法是简单的,只要先比较出x和y,得到一个较大的值,再用这个值与z比较,这两者中较大的值即为所求的最大值可以将这个算法描述为:,(1)输入变量:x,y,z;,(2)b:=x;,(3)比较b和y:如果by,则b:=y;,(4)比较b和z:如果bz,则b:=z;,(5)输出b。,流程图:,选择结构的算法是根据指定条件进行判断,由判断的结果决定选取执行两条分枝路径中的一条。,3.循环架构(LOOP).求100以内能被3整除的数图18中,有两个操作:“(2)如果I是能被3整除的数,则输出I;(3)I=I1;”需要重复执行,直到I100为止,这种控制结构称为循环架构。,s,B,是,否,循环结构的算法要根据条件是否满足,以决定是否继续执行循环体中的操作。,在这个问题中,如果只按“(2)如果I是能被3整除的数,则输出I”的算法来找100以内能被3整除的数,就须要检验100次,算法步骤就是102步,既不方便书写,也不便于阅读,于是就要用循环结构了。,在这个问题中,如果只按“(2)如果I是能被3整除的数,则输出I”的算法来找100以内能被3整除的数,就须要检验100次,算法步骤就是102步,既不方便书写,也不便于阅读,于是就要用循环结构了。,可以证明,任何复杂的算法都可以用顺序、选择、循环三种控制结构组合而成。所以这三种控制结构称为算法三种基本控制结构。,同学们,来学校和回家的路上要注意安全,同学们,来学校和回家的路上要注意安全,
展开阅读全文