- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
pascl语言编程之case语句
第三章 选择结构的程序设计第三节 情况语句(case 语句); 当多分支选择的各个条件由同一个表达式的不同结果值决定时,可以用case语句实现。;(二)、case 语句的执行过程
先计算表达式(称为情况表达式)的值,如果它的值等于某一个常量(称为情况常量,也称情况标号),则执行该情况常量后面的语句,在执行完语句后,跳到case语句的末尾end处。
(三)、说明
①情况表达式必须是顺序类型的;
②情况常量是情况表达式可能具有的值,因而应与情况表达式具有相同的类型;
③情况常量出现的次序可以是任意的;
④同一情况常量不能在同一个case语句中出现两次或两次以上;
⑤每个分语句前可以有一个或若干个用逗号隔开的情况常量;
⑥如果情况表达式的值不落在情况常量的范围内,则认为本case语句无效,
执行case语句的下一个语句。turbo pascal中增加了一个“否则”的情况,
即增加一个else子句,但也是可省的。
⑦每个常量后面只能是一个语句或一个复合语句。;例5 根据x的值,求函数Y的值:
分析:利用case 语句进行程序设计, 关键在于巧妙地构造情况表达式。本例中三种情况可用一个表达式区分出来:Trunc(x/100)。因为x在(0~100)之间时表达式值为0;x在[100,200)时表达式值为1 ;其余部分可用else子句表示。;源程序如下:
program ex;
var x,y:real;
begin
write(’Input x:’);readln(x);
case trunc(x/100) of
0:y:=x+1;
1:y:=x-1;
else y:=-1;
end; {end of case}
writeln(’x=’,x:8:2,’y=’,y:8:2);
end.;第四节 综合应用;例7、期未,班长小Q 决定将剩余班费X 元钱,用于购买若干支钢笔奖励给一些学习好、表现好的同学。已知商店里有三种钢笔,它们的单价为6元、5元和4元。小Q想买尽量多的笔(多鼓励同学),同时他又不想有剩余钱。请您编程序,帮小Q制订出一种买笔的方案。
分析:对于以上的实际问题,要买尽量多的笔,易知都买4元的笔肯定可以买最多支笔。因此最多可买的笔为x div 4支。由于小q要把钱用完,故我们可以按以下方法将钱用完:若买完x div 4支4元钱的笔,还剩1元,则4元钱的笔少买1支,换成一支5元笔即可;若买完x div4 支4 元钱的笔,还剩2元,则4 元钱的笔少买1 支,换成一支6 元笔即可;若买完x div 4支4 元钱的笔,还剩3元,则4元钱的笔少买2支,换成一支5元笔和一支6元笔即可。从以上对买笔方案的调整,可以看出笔的数目都是x div 4,因此该方案的确为最优方案。;源程序如下:
var a,b,c:integer;{a,b,c分别表示在买笔方案中,6元、5元和4元钱笔的数目}
x,y:integer; {x,y分别表示剩余班费和买完最多的4元笔后剩的钱}
begin
write(‘x=’);readln(x); {输入x}
c:=x div 4; {4元笔最多买的数目}
y:=x mod 4; {求买完c支4元笔后剩余的钱数y}
case y of
0 : begin a:=0;b:=0; end;
1 : begin a:=0;b:=1;c:=c-1; end;
2 : begin a:=1;b:=0; c:=c-1;end;
3 : begin a:=1;b:=1; c:=c-2;end;
end;
writeln(‘a=’,a,’b=’,b,’c=’,c);
end.;【练习】
1.将字母A、B、C 、D或a、b、c、d转换成1、2、3、4,其余的字符转换成5。
2.月收入T的所得税税率R如下:
T R
T800 0
1000T=800 5%
1500T=1000 10%
3000T=1500 15%
T=3000 20%
分别用IF语句和CASE语句编写程序,输入月收入,输出所得税率、???缴所得税款以及扣除所得税后的实际收入。
文档评论(0)