顺序结构和循环结构实现选择结构

复习软件工程导论(张海藩编著 第5版),在第六章详细设计读到这样一段话:“实际上用顺序结构和循环结构(又称DO_WHILE结构)完全可以实现选择结构(又称IF_THEN_ELSE结构),因此理论上最基本的控制结构只有两种。”顿时开始思考能不能够实现顺序加循环完成选择的功能?

首先,先上手,用程序说话,看看顺序加循环能不能实现选择,先写一个简单的选择:

if(i==1)
        i++;
else
        i--;
如何用循环实现?循环可以实现判断条件的判定,但是如何做到执行a就不执行b,或者反之。完成第一次循环(选择第一个分支)改变了循环变量之后,如何使其不再执行第二个循环(选择第二个分支)?经过几次尝试,终于明白,仅仅靠一个判定数完成判定条件是不行的,有几个分支,就需要几个判定变量(值相同)。以下是上述选择结构的循环结构实现:

var j=i;
while(i==1){
        i++;
}
while(j!=1){
        i--;
        j=1;
}
相比选择,不仅多一个判断变量,循环底部更改循环变量使其不符合循环条件也是必不可少的。



你可能感兴趣的:(编程基础)