1、1.2.2 条件语句算法中的条件结构由条件语句来表达。一、基本条件语句(1)两个分支的条件结构例 21. 给计算机编写一个程序,输入一个自变量 x的值,输出分段函数2,0()xf的函数值 .解: 程序框图 QuickBASIC 程序语句QuickBASIC 语言中的符号。数学运算 等于 不等于 大于 小于 大于等于 小于等于程序符号 = = =0 THEN y = x + 2ELSE y = x2END IFPRINT “y =” ; yEND_(5)当 x=5 的时候,计算机会执行哪些语句?_(6)当 x=-5 的时候,计算机会执行哪些语句?_条件语句的一般形式条件结构框图 条件语句当计算机
2、执行上述语句时,首先对 IF 后的条件进行判断,如果条件成立,就执行THEN 之后的语句体,否则执行 ELSE 之后的语句体。(2)一个分支的条件结构当计算机执行上述语句时,首先对 IF 后的条件进行判断,如果条件成立,就执行THEN 之后的语句体,否则条件语句结束,执行 END IF 之后的语句二、条件结构的嵌套例 22.函数1(0)xy,编写一个程序,输入 x 的值,输出 y 的值解:用程序框图表示为步骤 2步骤 1 YesNo满 足 条 件 ?步骤 YesNo满 足 条 件 ? IF 条件 THEN语句ENF IFIF 条件 THEN语句体 1ELSE语句体 2ENF IF用 Quick
3、BASIC 语言可写为INPUT “x =” ; xIF x0 THENy = 1ELSEIF x=0 THENy = 0ELSEy = -1END IFEND IFPRINT “ y=”; yEND该程序中有两个 IF 语句,大 IF 语句中嵌套了一个小 IF 语句。思考 请将程序框图和相应的语句对应起来。_例 23 编写一个程序,求一元二次方程 20axbc的根.分析: 24bac,开始输入x 2yx0成输出y1yYesNo1y0成Yeso外层选择结构内层选择结构外层IF语句内层IF语句当 0时方程有两个不相等的实根 12,bbxxaa;当 时,方程有两个相等的实根 12;当 0时,方程没
4、有实根。解:程序框图为由程序框图写出 QuickBASIC 程序INPUT a,b,cD=b2-4*a*cIF D=0 THENIF D0 THENx1=(-b+sqr(D)/2*a12bxa开始输入a,b,c 2yx0成结束YesNo0成YesNo24bac输出:没有实根 2bxa输出x12,x输 出输出:没有实根x1=(-b-sqr(D)/2*aPRINT “x1=”;x1,”x2=”;x2ELSEx=-b/2*aPRINT “x=”;xEND IFELSEPRINT “No root.”END IFEND思考比较程序框图和程序语句,回答下列问题。(1)在程序框图中找出外层条件结构和内层条
5、件结构。 _(2)在程序语句中找出外层条件语句和内层条件语句。 _(3)找出程序框图和程序语句的对应关系。 _(4)试给 a,b,c 取不同的值,使程序沿着三条不同的路线由开始走到结束。_例 24. 排序编写一个程序,使得任意输入的 3 个整数按从大到小的顺序输出。算法分析:我们用 a,b,c 表示输入的三个整数,比较三个整数,把最大的整数存入变量 a 中,次大的整数存入 b 中,最小的整数存入 c 中。Step1:输入三个整数 a,b,c;Step2:将 a 与 b 比较,如果 aa THENt=aa=bb=tEND IFIF ca THENt=aa=cc=tEND IFIF cb THEN
6、t=bb=cc=tEND IFPRINT a,b,cEND探究(1)假设输入的数据是 4,6,5,在右面填入相应的数字。 _(2) 程序运行到第 5 行可以达到的目的是:_(3) 程序运行到第 10 行可以达到的目的是:_第 5 行第 10 行第 15 行(4) 程序运行到第 15 行可以达到的目的是:_练习1.读程序,说出该程序的功能。INPUT “Please input an inter:”;xIF 9x AND x100 THENa=x10b=x MOD 10PRINT a,bEND IFENDQuickBASIC 语言中的符号。数学运算 且 或 ab的商 ab的余数程序符号 AND OR /a MOD b注:(1)在程序中用“AND”表示“且” ,用“OR”表示“或” 。(2)ab用“a/b”表示,而 ab商用“ab”表示。例如 3410=3,578=7。(3) 的余数用“a MOD b”表示,例如 34 MOD 10=4,57 MOD 8=1。