庄泽涛的问题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配对,而事实上,这是错的。因为