内容正文:
选择结构程序
学习目标
1.掌握选择结构流程图的画法。
2.掌握选择结构程序的设计方法。
一、选择结构
在解决实际问题的过程中,经常会因具体条件的需要判断下一步所进行的操作。例如,求一元二次方程ax2+bx+c=0的实根,由键盘输入方程的三个系数a,b,c,根据求根公式计算方程的根但是需要根据△=b2-4ac的值来决定求根的结果,如果△≥0,则计算并输出两个实根;否则,输出“没有实根”。其算法可用流程图描述,如图所示。
【例1】铁路对托运行李的计费方法是:若行李重量w(weight)不超过50千克时,则每千克远费为d元;若行李重w超过50千克时,则其中50千克按每千克d元收费,超过部分每千克运费为1.5d元。试编写计算运费的程序。
QBASIC中,具有两条分支的选择结构可用行IF语句两种控制结构实现。
行IF语句的格式如下:
二、嵌套的选择结构
【例2】编程求一元二次方程ax2+bx+c=0的实根。
分析:一元二次方程ax2+bx+c=0的实根取决于它的三个系数a,b,c。
在实数范围内,一元二次方程ax2+bx+c=0的根取决于判别式△=b2-4ac。若△>0,则方程有两个不相等的实根;若△=0,则方程有两个相等的实根;若△<0,则方程没有实根。因此,求一元二次方程ax2+bx+c=0的实根可以抽象地描述为如下算法:
多向思维
如果用户输入a=0时怎么办?怎样使程序具有一定的健壮性?
编程序必须考虑到任何可能发生的情况,防止某些情况出现时程序出错,这就是程序的健壮性,即程序必须经得起考验,有足够的承受能力。
当a=0时,方程变为一元一次方程,只有一个实根:
修改算法,加上a=0的情况,用如图2-4-3所示的流程图描述。
试试看
将第三节例题2的要求改为除去最高分和最低分之后再平均,画出流程图并写出程序。
小结
选择结构可根据条件的成立与否执行不同的支路。
阅读材料
关系运算符和逻辑运算符
1.关系运算符
QBASIC的关系运算符与数学中的关系运算符之间的关系如表2-4-1所示。
2.逻辑运算符
QBASIC中的常用逻辑运算符如表2-4-2所示。
逻辑运算与关系运算相同,也只有“真”和“假”两个值。 QBASIC语言中所有非零值都作为“真”,零值作为“假”。逻辑运算规则如表2-4-2