语言补充内容caserepeat.pptxVIP

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

语言补充内容caserepeat;情况语句的一般形式:;case语句的执行过程;说明;例3.9根据x的值,求函数Y的值:;例3.10判断2006年,每个月份的天数。;例3.11期未来临了,班长小Q决定将剩余班费X元钱,用于购买若干支钢笔奖励给一些学习好、表现好的同学。已知商店里有三种钢笔,它们的单价为6元、5元和4元。小Q想买尽量多的笔(鼓励尽量多的同学),同时他又不想有剩余钱。请您编一程序,帮小Q制订出一种买笔的方案。;程序如下:;例3.12试编写一个根据用户键入的两个操作数和一个运算符,由计算机输出运算结果的程序。;直到循环(REPEAT语句);说明:

①repeat语句的特点是:先执行循环,后判断结束条件,因而至少要执行一次循环体。

②repeat-until是一个整体,它是一个(构造型)语句,不要误认为repeat是一个语句,until是另一个语句。

③repeat语句在布尔表达式的值为真时不再执行循环体,且循环体可以是若干个语句,不需用begin和end把它们包起来,repeat和until已经起了begin和end的作用。while循环和repeat循环是可以相互转化的。;例4.13求两个正整数m和n的最大公约数。程序采用repeat-until循环实现。

Programex4_13;

varm,n,r:integer;

begin

readln(m,n);

repeat //辗转相除法

r:=mmodn;

m:=n;

n:=r;

untilr=0;

writeln(m);

end.;例4.14校体操队到操场集合,排成每行2人,最后多出1人;排成每行3人,也多出1人;分别按每行排4,5,6人,都多出1人;当排成每行7人时,正好不多。求校体操队至少是多少人?

【分析】①设校体操队为X人,根据题意X应是7的倍数,因此X的初值为7,以后用inc(x,7)改变X值;

②为了控制循环,用逻辑变量yes为真(True)使循环结束;

③如果诸条件中有一个不满足,yes的值就会为假(false),就继续循环。

Programex4_14;

varx:integer;yes:boolean;

begin

x:=0;

repeat

yes:=true;inc(x,7);

ifxmod2<>1thenyes:=false;

ifxmod3<>1thenyes:=false;

ifxmod4<>1thenyes:=false;

ifxmod5<>1thenyes:=false;

ifxmod6<>1thenyes:=false;

untilyes;//直到yes的值为真

writeln('All=',x);readln

end.

程序中对每个X值,都先给Yes赋真值,只有在循环体各句对X进行判断时,都得到“通过”(此处不赋假值)才能保持真值。;例4.15求1992个1992的乘积的末两位数是多少?

【分析】积的个位与十位数只与被乘数与乘数的个位与十位数字有关,所以本题相当于求1992个92相乘,而且本次的乘积主下一次相乘的被乘数,因此也只需取末两位参与运算就可以了。

Programex4_15;

vara,t:integer;

Begin

a:=1;t:=0;

repeat

t:=t+1;

a:=(a*92)mod100;

untilt=1992;

writeln(a);

Readln;

End.;例4.16利用格里高公式求π。π/4=1-1/3+1/5-1/7+…,直到最后一项的值小于10-6为止.

【分析】解本题的关键就是求右边数值序列的和,序列有明显的特点:分母是从1开始的奇数,加、减号轮流出现,因此,我们可以用m=n+2表示序列数值的变化,用f=-f来设置它们知项的符号位。

Programex4_16;

varf:integer;n,t,pai:real;

begin

pai:=0;t:=1;n:=1;f:=1;

repeat

pai:=pai+t;

n:=n+2;

f:=-

文档评论(0)

158****4121 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档