Presentation is loading. Please wait.

Presentation is loading. Please wait.

1.2.2条件语句.

Similar presentations


Presentation on theme: "1.2.2条件语句."— Presentation transcript:

1 1.2.2条件语句

2 1. 处理条件分支逻辑结构的算法语句,叫做条件语句.
Scilab语言中的条件语句分为if语句和select━case语句. 2. if语句的一般格式是: if 表达式 语句序列1; else 语句序列2; end

3 计算机执行这种格式的条件语句时, 如果表达式结果为真,则执行表达式后面的语句序列1; 当表达式结果为假时,执行else后面的语句序列2, 然后结束这一条件语句.

4 例1.解一元二次方程ax2+bx+c=0. S1 计算△=b2-4ac; S2 如果△<0,则原方程无实数解; 否则(△≥0), x1= , x2= ; S3 输出x1,x2,或“无实数解”信息.

5 开始 输入a, b, c △=b2-4ac △≥0? N Y 输出 “方程无实数解” 输出x1,x2 结束

6 a=input(“a=”); b=input(“b=”); //输入a,b,c的值 c=input(“c=”); d=b*b-4*a*c; //计算判别式的值 if d< //如果d<0 disp(“no solution”); //输出无解信息 else t=sqrt(d); //否则计算d的平方根 x1=(-b+t)/(2*a); //计算x1的值 x2=(-b-t)/(2*a); //计算x2的值 print(%io(2),x2,x1) //输出x1,x2的值 end //结束条件语句

7 3. if-end格式的条件语句的一般格式为:
语句序列1; end 计算机要执行这种格式的条件语句时,先对表达式的结果进行判断,若表达式结果为真,则执行表达式后面的语句序列1,否则直接跳过语句序列1,执行其他语句。

8 例2. 比较a与b的大小,并按大小顺序输出. S1 输入2个数a、b; S2 将a与b比较,并把小者赋给b,大者赋给a;
a=input(“a=”); b=input(“b=”); If a<b x=a; a=b; b=x; End Print(%io(2), b, a) 开始 输入a, b If a<b x=a, a=b, b=x 输出a, b 结束

9 例3.写出算法步骤并编写程序,使得任意输入的3个整数按从大到小的顺序输出。
S1 输入3个整数a、b、c; S2 将a与b比较,并把小者赋给b,大者赋给a; S3 将a与c比较,并把小者赋给c,大者赋给a,此时a已是三者中最大的; S4 将b与c比较,并把小者赋给c,大者赋给b,此时a、b、c已按从大到小的顺序排列好; S5 按顺序输出a、b、c. 上述操作步骤可以用程序框图更直观地表达出来.

10

11 a= input(“a=”); b= input(“b=”); c= input(“c=”); if b>a t=a;a=b;b=t; end if c>a t=a;a=c;c=t; if c>b t=b;b=c;c=t; Print(%io(2),c,b,a)

12 例4、设计求一个数x的绝对值的算法,并画出相应的程序框图。
解:算法如下: S1:输入x; S2:如果x≥0,则y=x, 否则, y =-x; S3:输出y 。

13 end print(%io(2), y) y=x y=-x x=input(“x=”); if x>=0 y=x;
开始 x=input(“x=”); if x>=0 y=x; else y=-x; end print(%io(2), y) 输入x Y N x≥0? y=x y=-x 输出y 结 束

14 例5. 编写求一个整数是偶数还是奇数的程序, 从键盘输入一个整数, 输出该数的奇偶性.
n=input(“n=”); m=n-int(n/2)*2; if m<>0 disp(“Odd”) else disp(“Even”) end

15 画出程序框图,编写程序,输入自变量x的值,输出其相应的函数值.
例6. 已知分段函数 画出程序框图,编写程序,输入自变量x的值,输出其相应的函数值. 开始 输入x x>0 y=x+1 x<0 y=-x+1 y=0 输出y 结束

16 x= input(“x=”); if x<0 y=-x+1; else if x=0 y=0; y=x+1; end 开始 输入x 否
x>0 x<0 y=x+1 y=-x+1 y=0 输出y 结束

17 练习题 1.下面的问题中不需用条件结构就可以实现的是( ) A.已知三角形三边长,求三角形的面积; B.求方程ax+b=0 (a, b为常数)的根; C.求三个实数a,b,c中的最大者; D.给出两点M、N的坐标,计算直线MN的斜率。 A

18 2. 给出以下四个问题, ①输入一个数x, 输出它的相反数. ②求面积为6的正方形的周长.
③求三个数a,b,c中的最大数. ④求函数 的函数值. 其中不需要用条件语句来描述其算法的有 ( ) A. 1个 B. 2个 C. 3个 D. 4个 B

19 C 3.阅读下列程序: x=input(“x=”); if x<0 y=%pi()*x/2+3; else if x>0
else y=0 end Print(%io(2), y) 如果输入x=2,则输出结果y为( ) (A)3+π (B)3- π (C) π - (D)-π-5 C


Download ppt "1.2.2条件语句."

Similar presentations


Ads by Google