第二节 repeat 循环.doc

上传人:桔**** 文档编号:559229462 上传时间:2023-12-22 格式:DOC 页数:4 大小:34.51KB
返回 下载 相关 举报
第二节 repeat 循环.doc_第1页
第1页 / 共4页
第二节 repeat 循环.doc_第2页
第2页 / 共4页
第二节 repeat 循环.doc_第3页
第3页 / 共4页
第二节 repeat 循环.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《第二节 repeat 循环.doc》由会员分享,可在线阅读,更多相关《第二节 repeat 循环.doc(4页珍藏版)》请在金锄头文库上搜索。

1、第二节repeat 循环Repeat循环是直到型循环。试将上一节的例3.1(打印出120的平方数表)程序改为 repeat 循环: Program Exam31_1; Var a: byte; Begin a:=1; writeln ( a : 8 , a*a : 8 ) ; repeat writeln ( a :8,a*a : 8); inc(a); 改变a的值 Until a20; Readln Emd.程序中的Repeat循环格式为: repeat 循环体语句; until 条件表达式; 直到条件为真 Repeat循环首先执行由Repeat和Until括起来的循环体语句,然后检查Unt

2、il后面的条件表达式:如果表达式结果为假,则继续执行循环体,接着继续检查Until后面的条件表达式,如此反复执行直到这个表达式结果为真时结束循环。Repeat循环体语句必须有能改变Until后面条件表达式值的语句,并最终使这个条件表达式的值为真,使循环自动结束。程序中inc (a) 指令相当于a : =a+1,常用的同类指令格式如下: (1) inc(x) 等同 x:=x+1; (2) inc(x, n) 等同 x:=x+n; (3) dec(x) 等同 x:=x1; (4) dec(x,n) 等同 x:=xn;例3.10求两个自然数M和N的最大公约数。解:若自然数a既是M和约数,又是N的约数

3、,则称a为M和N的公约数,其中最大的称为最大公约数。为了求得最大公约数,可以从最大可能的数(如M或N)向下寻找,找到的第一个公约数即是最大公约数。Pascal程序:Program ex310;Begin a := N+1; Repeat a := a-1; Until (M mod a=0) and (N mod a=0); writeln(a); Readln;End.例3.11校体操队到操场集合,排成每行2人,最后多出1人;排成每行3人,也多出1人;分别按每行排4,5,6人,都多出1人;当排成每行7人时,正好不多。求校体操队至少是多少人?解:设校体操队为X人,根据题意X应是7的倍数,因此X

4、的初值为7,以后用inc(x,7)改变X值; 为了控制循环, 用逻辑变量yes为真(True) 使循环结束; 如果诸条件中有一个不满足, yes 的值就会为假(false),就继续循环。Pascal程序:program Exam311;var x: word; yes : boolean;begin x:=0; repeat yes :=true; inc(x,7); if x mod 2 1 then yes:=false; if x mod 3 1 then yes:=false; if x mod 4 1 then yes:=false; if x mod 5 1 then yes:=f

5、alse; if x mod 6 1 then yes:=false; until yes; 直到yes的值为真 writeln(All =, x) ; readlnend.程序中对每个X值,都先给Yes 赋真值,只有在循环体各句对X进行判断时,都得到“通过”(此处不赋假值)才能保持真值。例3.12从键盘输入一个整数X(X不超过10000),若X的各位数字之和为7的倍数,则打印“Yes”,否则中打印“No”。解:本题考察的是数字分离的方法,由于X的位数不定,所以以往的解法不能奏效,这是介绍一种取余求商法。(1)用X mod 10分离出X的个位数字;(2)用X div 10将刚分离的个数数字删除

6、,并将结果送回给X;(3)重复(1)(2)直到X0。Pascal程序:Program ex12;var x,a,s: integer;begin s := 0; repeat a := x mod 10; x := x div 10; s := s+a; until x=0; if s mod 7=0 then writeln(Yes) else writeln(No); Readln;end;例3.13求1992个1992的乘积的末两位数是多少?解:积的个位与十位数只与被乘数与乘数的个位与十位数字有关,所以本题相当于求1992个92相乘,而且本次的乘积主下一次相乘的被乘数,因此也只需取末两位

7、参与运算就可以了。Pascal程序:Program ex313;var a,t : integer;Begin a := 1; t := 0; repeat t := t+1; a := (a*92) mod 100; until t=1992; writeln(a); Readln;End.例3.14尼科彻斯定理:将任何一个正整数的立方写成一组相邻奇数之和。 如: 33=7+9+11=27 43=13+15+17+19=64解:从举例中发现: (1) n3正好等于n个奇数之和; (2) n个奇数中的最小奇数是从1开始的奇数序列中的第m个奇数,与 n 的关系为: m=n (n 1) / 2+1

8、。 (3) 奇数序列中第m个奇数的值为x,且 x= 2m1,比如: n=3时,m=3(3-1)/2+1=4,即3个奇数中最小的奇数是奇数序列中的第4个,它的值为x=(2m-1)=7, 所以:33=7+9+11。 (4) 从最小的奇数值x开始,逐个递增2,连续n个,用t从1开始计数,直到t=n为止。Pascal程序:Program Exam35;Var n,m,x,t,s : integer;Begin write(input n:); readln(n); 输入N m:=(n*(n-1) div 2)+1; 找到第m个奇数 x:=2*m-1; t:=1; 算出第m个奇数的值x,是所求的第一个

9、write(n*,n,*,n,=,x);输出第一个 s:=x; 用S计算和 if n1 then Repeat inc(x,2); 计算下一个奇数 write (+ ,x) ; 加上下一个奇数 inc (t ); inc (s,x); 计个数并累加和 Until t=n; 直到n个 Writeln (= ,s ) ; ReadlnEnd.例3.15猜价格:中央电视台的“幸运52”栏目深受观众喜爱,其中的“猜商品价格”的节目更是脍炙人口,现在请你编一个程序模拟这一游戏:由计算机随机产生200至5000之间的一个整数,作为某件商品的价格,然后由你去猜是多少,若你猜的数大了,则计算机输出提示“Gao

10、”,若你猜的数小了,则计算机输出提示“Di”,然后你根据提示继续猜,直到你猜对了,计算机会提示“Ok”,并统计你猜的总次数。解:本题的游戏规则大家都清楚,要完成程序,必须把处理步骤理清:(1)用随机函数Random产生200至5000之间的一个整数X;(2)你猜一个数A;(3)若AX,则输出“Gao”;(4)若AX,则输出“Di”;(5)若AX则输出“Ok”;(6)重复(2)(3)(4)(5)直到A=X。Pascal程序:Program ex315; Var t,X,a: integer; BeginRandomize;X := Random(4800)+200;t := 0;Repeat t

11、 := t+1;write(,t, Qing cai yi ge zheng shu : );readln(a);if ax then writeln(Gao);if ax then writeln(Di);if a=x then writeln(Ok);Until A=X;Readln;End.习题3.21.求两个自然数M和N的最小公倍数。(如果求三个或更多个数的最小公倍数呢?应如何解决)2.小会议室里有几条相同的长凳,有若干人参加开会。如果每条凳子坐6人,结果有一条凳子只坐有3人;如果每条凳子坐5人,就有4人不得不站着。求会议室里有多少人开会,有多少条长凳?3.某动物饲养中心用1700元专

12、款购买小狗(每只31元)和小猫(每只21元)两种小动物。要求专款专用,正好用完, 应当如何购买?请输出所有方案。4.某整数X加上100就成为一个完全平方数,如果让X加上168 就成为另一个完全平方数。求X?5.某次同学聚会,老同学见面个个喜气洋洋,互相握手问好。参加此次聚会者每人都与老同学握了一次手,共握903次,试求参加聚会的人数?6.用自然数300,262,205,167分别除以某整数A,所得到的余数均相同。求出整数以及相除的余数?7.1600年前我国的一部经典数学著作中有题:“今有物,不知其数,三三数之,剩二;五五数之,剩三;七七数之,剩二,问物几何。”求最小解。8.编程求出所有不超过1000的数中,含有数字3的自然数,并统计总数。9.阿姆斯特朗数:如果一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数(也称自恋数),如407430373,试编程求出1000以内的所有阿姆斯特朗数。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号