信息学竞赛

Pascal入门

特色教育 >>信息学竞赛 >>Pascal入门

Pascal基本教程 第四章

来源:程军康|编辑日期:2009-11-06 10:13:01|点击数: |发布:55

Pascal基本教程 第四章

选择结构程序设计

4.1 if语句
  IF语句是由一个布尔表达式和两个供选择的操作序列组成。运行时根据布尔表达式求值结果,选取其中之一的操作序列执行。有两种形式的IF语句:
       if <布尔表达式> then <语句>;
       if <布尔表达式> then <语句1>
           else <语句2>;
  当布尔表达式的值为真,则执行then后面的语句,值为假时有两种情况:要么什么也不做,要么执行else后面的语句。注意else前面没有分号,因为分号是两个语句之间的分隔符,而else并非语句。如果在该处添了分号,则在编译的时候就会认为if 语句到此结束,而把else当作另一句的开头,输出出错信息。
例:求y=f(x),当x>0时,y=1,当x=0时,y=0,当x<0时,y=-1
 program lianxi;
  var x,y:real;
 begin
  if x>0 then y:=1;
  if x=0 then y:=0;
  if x<0 then y:=-1;
  writeln('y=',y);
 end.
  在Turbo Pascal语言if语句中被构造的语句只能是一条语句,当条件选择某个分支的计算要用多个语句描述时,就必须把该分支用begin和 end括来,写成复合语句。在用if语句连续嵌套时,如果你插入适量的复合语句,有利于程序的阅读和理解。
例:当x>0时候,计算x*x,并且输出x和x*x,
 program lianxie3;
  var x,x1:real;
 begin
 readln('x=',x);
 if x>= then
  begin
   x1:=x*x;
   writeln('x*x=',x1);
   writeln('x=',x);
  end;
 end.
  当if 语句嵌套时,Turbo Pascal约定else总是和最近的一个if配对。
4.2 case语句
  case语句是由一个表达式和众多可选择的操作序列组成。运行时,根据表达式的求值结果,在众多的分支中选取一个分支执行。其形式为:
    case 表达式 of
     常量1:语句1;
     常量2:语句2;
     ……
     常量n:语句n;
     else 语句 n+1 {可选项}
    end;
  表达式只能是顺序类型(除了实型以外的简单类型),其值必须是唯一确定并且和表达式类型相同。case语句执行和表达式值相匹配的case常数所指向的那条语句,如果没有相匹配的值,则执行else部分(如果有的话)或者什么也不做。在else前面的语句末尾有分号,这是和if语句不同的。
例:根据学生的成绩给予相应的等低,对应关系如下:
  90——100 A
  80——89  B
  60——79  C
  60以下    D
 program chengji;
  var s:real;ch:char;
 begin
  write('input the score: ');
  readln(s);
  if(s>=0)and(s<=100)then
   case s div 10 of
    10,9:ch:='B';
    8:ch:='B';
    7,6:='C';
    else ch:='D';
   end;
  writeln(s,'--',ch);
 end.

上一篇:

下一篇: