条件语句
2.能用条件语句编写程序语句.
1.条件语句的概念
处理条件分支逻辑的算法语句,叫做条件语句.
2.Scilab语言中的条件语句的格式及功能
格式
功能
一般格式
if 表达式
语句序列1;
else
语句序列2;
end
若表达式结果为真,则执行表达式后面的语句序列1;若表达式结果为假,则执行else后面的语句序列2
最简单格式
if 表达式
语句序列1;
end
如果表达式结果为真,则执行表达式后面的语句序列1,否则跳过语句序列1
名师点拨1.if代表条件语句的开始,end代表条件语句的结束,它们总是成对出现.
2.在语句序列1和语句序列2中,可以有多个语句,执行时按从上到下的顺序执行.
3.表达式中可以是复合条件,如“if $\mathrm{a}>0$ and $a < 6$”等.
【做一做】 根据下面的程序填空.
若a=-4,则输出结果为________;若a=9,则输出结果为________.
解析:本题是if?else?end型条件语句,按照步骤执行.本题程序表示对输入的a进行正负判断,若a为负数,则输出“no solution”,否则输出"$\sqrt{a}$"
答案:no solution 3
1.条件语句对应的程序框图
剖析:(1)if?else?end语句对应的程序框图如下:
(2)if?end语句对应的程序框图如下:
2.条件语句的嵌套
剖析:在条件语句中,当出现3个或3个以上的判断点时,需要用到程序嵌套.当用条件语句表达时,先按条件要求执行某一语句(特别是else后的语句序列2),继续按另一条件进行判断,这时再利用条件语句完成这一要求,这就形成了条件语句的嵌套,其一般格式如下:
特别提示
1.这就是条件语句嵌套的一般格式.有两点需要注意:(1)在格式方面,最外面的条件分支语句顶格写,内部复合的条件分支语句要空两格输入.
(2)注意结尾的两个end,第一个end为内部复合的条件分支语句的结束标志,第二个为外部的条件分支语句的结束标志,注意每一个if对应着一个end.
2.其对应的框图如图所示.
对含条件语句的程序的理解
【例1】 (1)当a=4和8时,下面程序的运行结果分别是________.
(2)下面语句是求函数$y=\left\{\begin{array}{l}{3 x-1, x \leq 1} \\ {x^{2}+x, x>1}\end{array}\right.$的函数值的算法语句,那么空白处应填写的内容是________.
反思
给出一个用条件语句描述的算法,确定其运行结果、指出其算法功能或补充算法语句时,首先要明确if语句、复合if语句的格式要求,其次要理解条件语句的执行原理.还要特别注意对条件表达式的理解与分析.
【变式训练1】 若下列语句执行的结果是3,
则输入的x的值是________.
用条件语句描述算法
【例2】 某电信部门规定:当拨打市内电话时,若通话时间不超过3分钟,则收取通话费0.2元;若通话时间超过3分钟,则超过部分以0.1元/分钟收取通话费(t以整分钟计,不足1分钟的按1分钟计).试用语句描述该算法.
反思
条件语句一般用在需要对条件进行判断的算法设计中,如判断一个数的正负,确定两个数的大小、求分段函数的函数值等,在用条件语句的时候,一定要注意条件语句的格式要求.
【变式训练2】 设计程序语句,输入任意实数,求分段函数$y=\left\{\begin{array}{l}{|x|-1, x< 4} \\ {x^{2}+1, x \geq 4}\end{array}\right.$的值,并画出程序框图.
用复合条件语句描述算法
【例3】 已知函数$y=\left\{\begin{array}{c}{2 x^{2}-1, x>0} \\ {2 x+1, x=0} \\ {-2 x^{2}+4 x, x < 0}\end{array}\right.$输入x的值计算y的值,画出程序框图,并写出程序.
分析:本题是属于已知分段函数的解析式求函数值的问题.本题中分段函数的定义域被分成了三部分,从而在程序中需判定的条件有两个,在使用条件语句时要注意书写顺序及语句间的对应.
反思
1.复合条件语句主要与条件分支的嵌套有关,它多用于需要多次判断的算法问题,例如分为三段的分段函数,描述求该函数值的算法时需用到复合条件语句.
2.在用复合条件语句描述算法时,要注意其格式,注意if与end的使用.注意嵌套的层次性.
【变式训练3】 设计一个程序,输入一个学生的成绩S,根据该成绩的不同值作以下输出:若$S < 60$,则输出“不及格”;若60$\leqslant s="" leqslant="">90$,则输出“优秀”.画出程序框图并写出程序.
真题
1.求下列函数值的算法中需要用到条件语句的函数为( )
A. $f(x)=x^{2}-1$
B. $y=x^{3}-1$
$f(x)=\left\{\begin{array}{l}{x^{2}+1, x \leq 2.5} \\ {x^{2}-1, x>2.518}\end{array}\right.$
$\mathrm{D} . f(x)=2^{x}$
2.下列关于条件语句的说法正确的是( )
A.条件语句中必须有else和end
B.条件语句中可以没有end和else
C.条件语句中可以没有else,但是必须有end
D.条件语句中可以没有end,但是必须有else
3.当$x=15$时,下面程序输出的结果是( )
A.30 B.225 C.10 D.15
4.写出下列算法的运行结果.
若$a=-3$,则输出_______;
若$a=2$,则输出_______.
5.根据下面的程序,画出相应的程序框图.