Image Modal

合肥
合肥奥数网

合肥站
奥数网

信息学竞赛Pascal语言选择结构程序设计(三)(2)

合肥奥数网整理 2012-12-14 14:28:05

  CASE语句

  分情况语句适用于对一个条件的多种情况的响应。

  格式:

  case表达式of

  标号1:语句1;

  标号2:语句2;

  ……

  标号n:语句n;

  else语句n+1

  end;

  case语句在使用时有几点要注意:

  1.end与case对应;标号与语句之间用“:”分隔;else与语句之间不用分隔符。

  2.标号必须是一常量,其类型与表达式的类型一致

  例2:某全自动加油站a,b,c三种汽油的单价(元/kg)分别是1.50、1.35和1.18,也提供了“自己加”或“协助加”两个服务等级,这样用户可以得到5%或10%的优惠。编一个程序,用户输入加油量、汽油品种和服务类型(f-自动,m-自己,e-协助),然后计算应付款。

  programpcase1;

  var

  oil,help:char;

  kg,total:real;

  begin

  write('Entertheamountinkilograms(kg):');readln(kg);

  write('Whichtypeofthegasoline(a,b,c):');readln(oil);

  wirte('Whichtypeforservice(f,m,e):');readln(help);

  caseoilof

  'a':total:=1.50*kg;

  'b':total:=1.35*kg;

  'c':total:=1.18*kg;

  elsewriteln('InputError!')

  end;

  {——————处理汽油的类型}

  casehelpof

  'f':;

  'm':total:=total*(1-0.05);

  'e':total:=total*(1-0.10);

  elsewriteln('InputError!')

  end;

  {——————处理服务类型}

  writeln;

  writeln('Totalis',total:10:2);

  end.

  3.可以多个标号对应同一条语句

  4.语句可以是多个语句,但必须用语句括号(begin……end)括起

  5.case语句也可以嵌套

  例3:从键盘上读入年和月,输出该月有多少天。

  programpcase2;

  var

  year,month,day:integer;

  runnian:boolean;

  begin

  write('Enteryearandmonth:');readln(year,month);

  casemonthof

  1,3,5,7,8,10,12:day:=31;

  4,6,9,11:day:=30;{————以上处理31天和30天的情况}

  2:begin

  runnian:=(yearmod400=0)or((yearmod4=0)and(yearmod100<>0));

  caserunnianof

  true:day:=28;

  false:day:=29;

  end;

  end;{————以上处理2月的情况:闰年28天,平年29天}

  end;

  end.

下一页阅读:思考与练习

首页 上一页 下一页 尾页

相关推荐

点击查看更多
重点初中
首页 导航