庄泽涛的问题1
来源:百度知道 编辑:UC知道 时间:2024/04/28 02:46:05
余秋雨
第五课 if嵌套与case语句
一、IF语句的嵌套
在if语句中,如果then子句或else子句仍是一个if语句, 则称为if语句的嵌套。
例1 计算下列函数
分析:根据输入的x值,先分成x>0与x≤0两种情况,然后对于情况x≤0,再区分x是小于0,还是等于0。
源程序如下:
program ex;
var
x:real;
y:integer;
begin
wrtie('Input x:');readln(x);
if x>0 then y:=1{x>0时,y的值为1}
else {x≤0时}
if x=0 then y:=0
else y:=-1;
writeln('x=',x:6:2,'y=',y);
end.
显然,以上的程序中,在then子句中嵌套了一个Ⅱ型if语句。当然程序也可以写成如下形式:
program ex;
var
x:real;y:integer;
begin
wrtie('Input x:');readln(x);
if x>=0 then
if x>0 then y:=1
else y:=0
else y=-1;
writeln('x=',x:6:2,'y=',y);
end.
但是对于本题,下面的程序是不对的。
y:=0;
if x>=0 then
if x>0 then y:=1
else y:=-1;
明显,从此人的程序书写格式可以看出,他想让else与第一个if配对,而事实上,这是错的。因为