算法的控制结构用计算机程序解决问题的过程中,一个算法的功能不仅取决于所选用的操作,而且还决定于各操作之间的执行顺序,即控制结构
算法的控制结构给出了算法的框架,决定了各操作的执行次序
算法含有两大要素:一是操作
计算机算法由计算机实现,组成它的操作主要包括:算术运算(+、-、×、÷等),逻辑运算(与、或、非等),关系运算(<、>、=、≤、≥、≠等),函数运算等等
顺序结构(Sequence)如:鸡兔同笼问题各操作是依次执行的,这种控制结构称为顺序结构
S1S2Sn
设计算法:(1)输入a和b的值;(2)求X=2A-B/2;(3)求y=b/2-a;(4)输出x,y的值;(5)结束
比如设计算法确定给定线段AB的4等分点
MFCEABG解决这个问题的算法如下:a
从已知线段的左端点A出发,作一射线b
在射线上任取一点C,并作线段CE=EF=FG=AC,那么线段AG=4ACc
过C作GB的平行线,交线段AB于M,这样M就是线段AB的4等分点
像这样的算法就是一个顺序结构的算法,只要按照书写顺序完成以上四个步骤,就能得到线段AB的4等分点
选择结构(Slect-Ion)
如:辗转相除法中,m=n和n=r的操作要通过检验r=0是否成立来决定做还是不做,这种控制结构被称为选择结构
BS1S2对任意给定的三个整数x,y,z,设计求出其最大值
这个算法是简单的,只要先比较出x和y,得到一个较大的值,再用这个值与z比较,这两者中较大的值即为所求的最大值可以将这个算法描述为:(1)输入变量:x,y,z;(2)b:=x;(3)比较b和y:如果b<y,则b:=y;(4)比较b和z:如果b<z,则b:=z;(5)输出b
b:=a1i:=2i≤100b100为止,这种控制结构称为循环架构
sB是否循环结构的算法要根据条件是否满足,以决定是否继续执行循环体中的操作