pascal第3章__选择结构的程序设计.pptVIP

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

文档评论(0)

四娘 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档