大榕树——让我们共成长!
大榕树 myDrs.org
您的位置:大榕树 \ 编程       |  Logo语言   |  Pascal语言   |  信息学奥赛   |  高考保送    |  HTML版本
|  Pascal语言>>Pascal入门>>分情况(CASE)语句         本站全文搜索: 友情提示:

分情况(CASE)语句
http://www.mydrs.org  7/17/2001  大榕树


〖语法分析〗


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

     格式:

case 表达式 of

    标号1:语句1;

    标号2:语句2;

     ……

     标号n:语句n;

    else 语句n+1

end;


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


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


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

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


program pcase1;

var

    oil,help:char;

     kg,total:real;

begin

     write('Enter the amount in kilograms(kg):'); readln(kg);

     write('Which type of the gasoline(a,b,c):'); readln(oil);

     wirte('Which type for service(f,m,e):'); readln(help);

     case oil of

         'a': total:=1.50*kg;

         'b': total:=1.35*kg;

         'c': total:=1.18*kg;

         else writeln('Input Error!')

     end;

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

     case help of

         'f':;

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

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

         else writeln('Input Error!')

     end;

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

     writeln;

     writeln('Total is ',total:10:2);

end.


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


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


    5. case语句也可以嵌套

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

program pcase2;

var

     year,month,day:integer;

     runnian:boolean;

begin

     write('Enter year and month:'); readln(year,month);

     case month of

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

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

         2:begin

         runnian:=(year mod 400=0) or ((year mod 4=0) and (year mod 100<>0));

         case runnian of

             true: day:=28;

             false:
day:=29;

         end;

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

     end;

end.


练习题:

    1、编程模拟剪刀、石头、布游戏:用S表示剪刀,用R表示石头,用P表示布。规则是:剪刀剪布,石头砸剪刀,布包石头。游戏者分别把自己的选择输入,计算机给出结果。


作 者:sthsyan@21cn.com
来 源:NOI信息学竞赛(http://noi.stinfo.net)
共有3500位读者阅读过此文

  • 上篇文章条件语句练习题
  • 下篇文章各种循环语句的运用

  • 发送邮件
    保存页面 打印文章 HTML版本 发表评论

    □- 近期热门文章 □- 相关文章
    1. NOIP2006竞赛大纲 [8306]
    2. 七类高中生具有保送资格 [5910]
    3. NOI2006获奖选手名单 [4955]
    4. 关于举办NOIP2006模拟赛的通告 [4106]
    5. Turbo Pascal各语句运行速... [3594]
    6. Turbo王者归来新Delphi免费... [3181]
    7. IOI2006我国4名选手全部获得金... [2945]
    8. 关于APIO2007与IOI2007... [2763]
    9. noip倒计时 by 枯叶蝴蝶 [2683]
    10. 朱泽园:思想上的金牌更重要 [2168]
    分情况(CASE)语句
    条件语句练习题
    分支结构—条件语句(IF)
     

    关于本站 | 合作伙伴 | 联系方式
    大榕树 版权所有 ©1999-2006 www.myDrs.org 闽ICP备05000721号