资源描述
“条件语句”要点精析
所谓条件语句就是处理条件结构的算法语句,在程序设计中,它起到推断和选择的作用.学习时,要认真体会条件语句的表示方法、结构和作用,能够用条件语句表示算法,不妨用它编一些简洁程序,解决你学过的一些需要条件推断的数学问题.这样,你才会快速入门.
1. 条件语句的基本格式
IF—THEN—ELSE IF—THEN
IF 条件 THEN
语句
END IF
IF 条件 THEN
语句1
ELSE
语句2
END IF
或
(图2)
(图1)
说明:(1)在图1中,“条件”表示推断的条件,“语句1”表示满足条件时执行的操作内容;“语句2”表示不满足条件时执行的操作内容;END IF表示条件语句的结束。计算机在执行时,首先对IF后的条件进行推断,假如条件符合,则执行THEN后面的语句1;若条件不符合,则执行ELSE后面的语句2。
(2)在图2中,“语句”表示满足条件时执行的操作内容,条件不满足时,结束程序;计算机在执行时首先对IF后的条件进行推断,假如条件符合就执行THEN后边的语句,若条件不符合则直接结束该条件语句,转而执行其它语句。
2. 表达式
2.1关系表达式
在人教A版第18页例5的程序中,第5行是一个条件语句,其中的条件“d>=0”表达式,一般称为关系表达式,关系表达式是用关系运算符连接起来的式子,关系运算符常见有“大于 >”、“小于等于<=”、“不等于<>”等.
当关系表达式成立时其值为真(TRUE),当关系表达式不成立时其值为假(FALSE). 关系表达式的值既不是数值型量,也不是字符型量,而是一种新的数据类型——规律型(Boolean).
2.2规律表达式
在实际问题中,对于一些简洁的条件,还需要用几个关系表达式组合起来才能表示.比如,2<x<5就需要用2<x和x<5这两个表达式来表示.将多个关系式用规律运算符连接起来的式子称为规律表达式.规律运算符有:(1)NOT(非):取操作数相反的值.即当操作数为真(TRUE)时,结果为假(FALSE).(2)AND(与):当两个操作数都为真时,结果才为真.(3)OR(或):
当两个操作数都为假时,结果才为假.
例如:(1)NOT(2>6)结果为TRUE,NOT(7>6)的结果为FALSE.(2)(1<2)AND(2<3)的结果为TRUE,(3<8)AND(5<9)的结果为FALSE.(3)(-1<5)OR(8<2)的结果为TRUE,(6<0)OR(2<1)的结果为FALSE.
3.条件语句的用法技巧
3.1条件语句的THEN或后面ELSE都可以是语句组
例1.从键盘上输入两个数,将它们从大到小的挨次打印出来,可用下面程序:
INPUT“A,B=”;A,B
IF A>=B THEN
PRINT A,B
ELSE
T=A
A=B
B=T
PRINT A,B
END IF
END
程序中ELSE后面跟了一个由四个语句组成的语句组,其中前三句是实现了变量A与B值的变换.另外,条件语句中的条件都应当是具备规律值:真或假的表达式 ,BASIC中的关系表达式和规律表达式都具有规律值.
3.2条件语句可以嵌套.即条件语句中的THEN或ELSE后还可以跟条件语句.在多重嵌套时,应特殊留意避开规律上的混乱,这里给出两种方法:一是将嵌套的内层条件语句放在外层条件语句中ELSE的后面;二是接受多个并列的条件语句来完成,举两例说明.
例2.已知函数 编写一个程序,对每输入一个x值,都得到相应的函数值.
分析:这是一个分段函数,计算函数值必需先推断x的范围,因而设计求函数值的算法必需用到条件结构,相应程序的书写也应用条件语句书写。
解:用变量x,y分别表示自变量和函数值。
程序:可分别用IF—THEN—ELSE语句和IF—THEN语句表示程序。
INPUT“x=”;x
IF x>=0 THEN
y=x^2+1
END IF
IF x=0 THEN
y=2x+7
END IF
IF x<0 THEN
y=3*x∧2-5
END IF
PRINT“y=”;y
END IF
END
INPUT“x=”;x
IF x>=0 THEN
y=x∧2+1
ELSE
IF x=0 THEN
y=2x+7
ELSE
y=3*x∧2-5
END IF
END IF
PRINT “y=”;y
END
说明:在左图中第四行ELSE后面的语句:
IF x=0 THEN
y=2x+7
ELSE
y=3*x∧2-5
END IF
成为内层的条件语句,它整个地镶嵌在外层条件语句中.右图程序则接受多个并列的条件语句来完成.
例3.1857年德国统计学家思特·恩格尔阐明白一个定律:随着家庭和个人收入增加,投入中用于食品方面的支出比例将渐渐削减.反映这确定律的系数称为恩格尔系数,计算公式为
n = 人均食品支出总额 ×100%
人均个人消费支出总额
支出总额国际上常用恩格尔系数来衡量一个国家和地区居民生活水平的状况,依据联合国粮农组织提出的标准:恩格尔系数n在59%以上为贫困,50%≤n<59%为温饱,40%≤n<50%为小康,30%≤n<40%为富有,低于30%为最富有.
依据某地区居民家庭抽样调查的有关资料,已知该区居民人均食品支出总额x和人均个人消费支出总额y,请编写一个程序,求恩格尔系数n,并依据联合国粮农组织提出的标准,推断该地区居民生活水平的状况.
算法分析:依据上面的分析,我们将解决问题的算法描述如下:
① 输入人均食品支出总额x和人均个人消费支出总额y;
② 求,并输出n的值;
③ 假如n>59%,则输出“贫困水平!”
④ 假如50%≤n<59%,则输出“温饱水平!”;
⑤ 假如40%≤n<50%,则输出“小康水平!”;
⑥ 假如30%≤n<40%,则输出“富有水平!”;
⑦ 假如n<30%, 则输出“最富有水平!”
⑧ 结束.
参考程序:
INPUT“x,y=”;x,y
n=x/y
PRINT“恩格尔系数n=”;n
IF n>0.59 THEN
PRINT“贫困水平!”
END IF
IF (0.5<=n)AND(n<0.59 ) THEN
PRINT“温饱水平!”
END IF
IF (0.4<=n)AND(n<0.5 ) THEN
PRINT“小康水平!”
END IF
IF (0.3<=n)AND(n<0.4 ) THEN
PRINT“富有水平!”
END IF
IF n<0.3 THEN
PRINT“最富有水平!”
END IF
END
展开阅读全文