Pascal 语言练习题

上传人:liu****han 文档编号:81984270 上传时间:2022-04-28 格式:DOC 页数:26 大小:367KB
收藏 版权申诉 举报 下载
Pascal 语言练习题_第1页
第1页 / 共26页
Pascal 语言练习题_第2页
第2页 / 共26页
Pascal 语言练习题_第3页
第3页 / 共26页
资源描述:

《Pascal 语言练习题》由会员分享,可在线阅读,更多相关《Pascal 语言练习题(26页珍藏版)》请在装配图网上搜索。

1、呼家庄中学信息学奥赛练习题Pascal 语言练习题一、Pascal 语言1. Pascal语言规定,程序一律以保留字_开始,作为程序标志。5. 结构化程序设计的3种基本结构是_、_、_。9. 表达式PRED(CHR(ORD(E)+1)的值为_。11. 将一万分之一写成Pascal数的形式应为_。14. Pascal语言的数据类型按其特点可分3大类,即_类型,_类型和_类型。15. 将65526.0034写成Pascal数的形式应为_。22. 表达式ORD(6)=ORD(6)的值是_。二、基本语句和顺序结构1. 请写出把256.0赋给整型变量I的赋值语句是_。2. 设I为整型变量,L为布尔型变量

2、(l:boolean),odd函数是判断一个数是否为奇数,如odd(5)=true,语句L:=ODD(I) OR ODD(I+1);执行后L的值为_。3. 以下程序的运行结果为_。 PROGRAMEX(OUTPUT); VAR A,B,C,N,SUM:INTEGER; BEGIN N:=126; A:=N DIV 100; B:=(N-A*100) DIV 10; C:=N-A*100-B*10; SUM:=A+B+C; WRITELN(SUM=,SUM:3) END.4. 有以下程序: PROGRAM P1(input,output); VAR ch:char; BEGIN READLN(c

3、h); writeln(pred(pred(ch),pred(ch),ch,succ(ch),succ(succ(ch) END. 假设输入字母C,则输出为_。6. 表达式trunc(-sqrt(sqr(17 MOD 5)*2*(15 DIV 2)+sqr(12)的值是_。7. 设变量说明如下: VAR ch1,ch2,ch:char; i1,i2:integer; r1,r2:real; 现在要把值A,b,15,128,2.3E-5,-18.96依次赋给变量ch1, ch2,i1,i2,r1,r2,设输入数据格式为: a b l5: 128 2.3E-5 -18.96; 请写出读语句_。8.

4、 以下程序段的作用是:将读入的一个三位数字的正整数反向输出。如输入123,则输出321,请填空: PROGRAM exa(input,output); VAR m,a,b,c,x:integer; BEGIN readln(m); a:_; b:_ MOD 10; c:m DIV 100; x:a*100+b*10+c; writeln(x) END.三、选择语句1. 阅读下面程序体,其运行结果是_。 A:=5;B:=4;C:=3; IF ODD(PRED(4) THEN A:=B+C; A:=A-C; WRITELN(A);2. 以下程序段将A,B,C三个数,按由小到大的顺序输出。请在空内填

5、上正确的内容。 READLN(A,B,C); IF AB THEN BEGIN TEMP:=A; A:=B; B:=TEMP END; IF_ THEN BEGIN TEMP:=A; A:=C; C:=TEMP END; IF_ THEN BEGIN TEMP:=B; B:=C; C:=TEMP END; WRITELN(A:3,B:3,C:3)3. 有下列两个IF语句: IF AB THEN X:=1 ELSE X:=2; IF AB THEN_; ELSE;_;4. 以下程序段执行后,DATA的值是_。 L1:=FALSE;L2:=TRUE;L3:=FALSE;DATA:=0; IF L1

6、 THEN DATA:=5 ELSE IF NOT L2 THEN ELSE IF NOT L3 THEN DATA:=10 ELSE DATA:15;5. 以下程序从键盘读入一个三位数的正整数,然后将其反向输出。如输入 456,输出654.请在空白处填入正确内容。 PROGRAM TURNOVER(INPUT,OUTPUT); VAR X,Y,A,B,C:INTEGER; BEGIN WRITELN (INPUT A NUMBERX(100X=1000):); READLN (X); IF (X=1000) THEN WRITELN(INPUTERROR!) ELSE BEGIN A:=X

7、DIV 100; B:=_; C:=X MOD 10; Y:=_; WRITELN(X,TURNOVERIS:,Y) END END.6. 以下程序实现了将24小时制表示的时间转换为12小时制表示的时间。如:输入1325(13点25分),则输出1:25PM。请在_。处填入正确内容。 PROGRAM EXCHTIME(INPUT,OUTPUT); VAR TIME,HOUR,MINUTES:INTEGER; BEGIN READLN(TIME); HOUR:=_ MOD 12; IF HOUR=0 THEN HOUR:=12; WRITE(HOUR:2,:); MINUTES:=_; WRITE

8、(MINUTES:2); IF (TIME1200) OR (TIME=2400)THEN WRITELN(AM) ELSE WRITELN (PM) END.7. 以下程序实现:输入一个日期,计算出是星期几,请在空白处填入正确内容。 PROGRAM COUNTWEEK (INPUT,OUTPUT); VAR DAY,MONTH,YEAR,M,Y,SUM,WEEK:INTEGER; LEAP:BOOLEAN; BEGIN READLN(DAY,MONTH,YEAR); Y:=YEAR-1; Y:=Y+Y DIV 4-Y DIV 100+Y DIV 400; CASE MONTH OF 1,10

9、:M:=0; 5:M:=1; 8:M:=2; 2,3,11:M:=3; 6:M:=4; 9,12:M:=5; 4,7:M:=6; END; SUM:=Y+M+DAY;总天数 IF(YEAR MOD 4=0)_ (YEAR MOD 1000)_ (YEAR MOD 400=0)AND(MONTH2)THEN SUM:=SUM+1;闰年加一天 WEEK:=SUM MOD 7; CASE_ OF 0:WRITELN(SUNDAY); 1:WRITELN(MONDAY); 2:WRITELN(TUESDAY); 3:WRITELN(WEDNESDAY); 4:WRITELN(THURSDAY); 5:

10、WRITELN(FRIDAY); 6:WRITELN(SATURDAY) END END.8. 下列程序段计算1100中既不能被3整除,也不能被4整除的所有整数之积,请填写完全。 p:=1FOR i:1 TO 100 D0 IF (i MOD 30) AND (i MOD 40) THEN_;9. 本程序是在3个整数中找出最大的数,并输出到屏幕上。分析下面的程序,填上适当的内容。 PROGRAM exa(input,output); VAR a,b,c,largest:integer; BEGIN writeln(input a,b,c=); readln(a,b,c); IF ab THEN

11、 largest_; ELSE largest_; IF c_ THEN largest:c; write1n (The1 argest number is,largest) END.四、循环语句1. 设A=TRUE,B=FALSE,I=1,且C为布尔类型变量,则循环语句FOR C:=B TO A DO I:=I+2;执行后,变量I的值为_。2. 以下程序段计算150中既不能被3整除也不能被5整除的所有整数之积。请在空格内填入适当内容。 R:=1; FOR I:= 1 TO 50 DO IF(I MOD 30) AND (I MOD 50) THEN_;3. 以下程序段用以找出满足的最大整数N

12、,其中A,B都是正整数,且B1。请在空格内填上正确的内容。 READLN(A,B); N:=0;MULT:=1; WHILE MULT=A DO BEGIN N:=N+1; MULT:=_ END; _ WRITELN(LARGESTNIS:,N:1)4. 以下程序实现从键盘读入10个无序数,去掉一个最大数和一个最小数然后求平均值,请在_处填入正确内容。 PROGRAM COUNTAVE(INPUT,OUTPUT); VAR I,MAX,MIN,X,SUM:INTEGER; AVE:REAL; BEGIN READLN(X); MAX:=X;MIN:=X;SUM:=X; FOR I:=1 TO

13、 9 DO BEGIN READLN(X); SUM:=SUM+X; IF XMAX THEN _ END; SUM:SUM-MAX-MIN; AVE:=SUM/8.0; WRITELN(THE AVERAGEIS:,AVE:5:1) END.5. 下面语句执行的循环次数是_。 T:=7; REPEAT T:=2*T-3; UNTIL T0;6. 设CH为字符型变量,NUM为整型变量,若输入数据为:121 123执行以下程序段的结果为_。 NUM:=0; READ(CH); WHILE (CH=0) AND (CH=9) DO BEGIN NUM:=10*NUM+(ORD(CH)-ORD(0)

14、; READ(CH) END; WRITELN(NUM);7. 以下程序用以找出被2,3,5除余数为1的前10个自然数,请在_处填入正确内容。 PROGRAM TENNUMBER (OUTPUT); VAR NUM,COUNT:INTEGER; BEGIN COUNT:=0;NUM:=_ REPEAT NUM:=_ IF(NUM MOD 2=1) AND (NUM MOD 3=1) AND (NUM MOD 5=1) THEN BEGIN WRITE(NUM:4); COUNT:=COUNT+1 END; UNTIL_ WRITELN END.8. 以下循环语句所执行的循环次数为_。 L1:=

15、TRUE;L2:=FALSE; FOR I:=L1 TO L2 DO WRITELN(I);9. 设有说明: VAR SUM,N,M,I:INTEGER; 若输入数据行为:4 1 3 2 6 3 9 5 则执行以下程序段的结果为_。 SUM:=0; READ(N); FOR I:=1 TO N DO BEGIN READ(M); IF ODD(M) THEN SUM:=SUM+1 ELSE SUM:=SUM+M DIV 2; END; WRITELN(SUM);10. 以下程序的运行结果为_。 PROGRAM EX(OUTPUT); VAR X,Y:INTEGER; BEGIN X:=0;Y:

16、=1; REPEAT X:=X+Y; Y:=Y+1; UNTIL X=10; WRITELN (X:3,Y:3) END.11. 以下程序段的执行结果为_。 FOR I:=7 DOWNTO 3 DO CASE I DIV 2 OF 1,3:WRITE(A); 2:WRITE(B) END;12. 以下程序的运行结果为_。 PROGRAM EX(INPUT,OUTPUT); VAR X,Y:INTEGER; BEGIN X:=1; WHILE X0 DO BEGIN READ(X);READ(Y); X:=X-Y; WRITE(X:2); END; WRITELN END. 运行时输入:210-

17、15513. 下面程序的运行结果是_。 PROGRAM lcd(output); VAR M,n:Integer; BEGIN M:=14; N:=63; WHILE mn DO BEGIN WHILE mn DO M:=m-n; WHILE nm DO N:=n-m; END; Writeln(m); END.14. 以下程序段实现计算公式: 请在空白处填上正确的内容。 SUM:=1.0 I:=1; REPEAT I:=I+1; SUM:=SUM+_ UNTIL_ WRITELN (SUM=,SUM:6:4)15. 以下程序的运行结果为_。 PROGRAM EX (OUTPUT); VAR

18、X,K:INTEGER; BEGIN X:=5; FOR K:=1 TO 10 DO X:=X+K; WRITELN(K:4,X:4) END.16. 下面Pascal循环语句所执行的循环次数是_。 N:=1 REPEAT WRITELN(TESTING.); N:=N+2; UNTILN=10;17. 以下程序段用以找出乘积为399的两个相邻奇数,请在空白填上正确的内容。 N:=1; WHILE_399 DO N:=N+2; IF_=399 THEN WRITELN(N:3,N+2:3) ELSE WRITELN(NOFOUND)18. 下面Pascal循环语句所执行的循环次数是_。 X:=

19、32; Y:=2; WHILE Y=32 DO Y=Y+Y;19. 若运行时输入以下指定数据,则程序的运行结果为_。 PROGRAM EX(INPUT,OUTPUT); VAR NUM:INTEGER; CH:CHAR; BEGIN REPEAT READ(CH) UNTIL(CH); NUM:=0; REPEAT IF(CH=0) AND (CH=A) AND (CH=0)AND(CH=A)AND(CH= F); WRITELN(NUM:5) END. 输入数据(第一列开始):1C20. 本程序是用来输入一组学生的成绩(当成绩为负表示输入结束),并按成绩059、6079、80100分为三档,

20、统计并输出三档次人数及总人数。阅读下面的程序,在空白处填上适当的内容。 PROGRAM examl(input,output); VAR p,n1,n2,n3,sum,score:integer; BEGIN n1:=0;n2:=0;n3:0; sum:=0; REPEAT writeln(please input score:); readln(score); IF score=0 THEN BEGIN IF_80 THEN P:1 ELSE IF(2)_60 THEN p:2 ELSE p:3; sum:sum1; CASE(3)_OF 1:n1:n1+1; 2:n2:n2+1; 3:n3

21、:n3+1 _END; _ writeln(the score059:,n3); writeln(the score6079:,n2); writeln(the score80100:,nl); writeln(the sumis,sum) END.21. 下面程序执行后显示abab,请填空。 PROGRAM p(output); VAR a:(r1,r2,r3,r4); BEGIN a:=r1; WHILE ar4 DO BEGIN CASE a OF _:write(a); _:wr1te(b); END; a:=_ END; writeln END.22. 下面程序计算并输出下式中s的值

22、。请填空完成该程序。 PROGRAM EX(input,output); VAR k,n:integer; s,r:real; BEGIN s:=_; FOR k:=2 to 20 DO BEGIN r:=0; FOR n:=1 TO(2)_DO r:=r+ln(n); s:=s+(3)_; END; writeln(s:10:3) END23. 下列程序段计算1100中既不能被3整除,也不能被4整除的所有整数之 积。请填写完全。 p:=1; FOR i:=1 TO 100 DO IF(i MOD 30)AND(i MOD 40)THEN_; Writeln (p)24. 从键盘输入两个数x1

23、,x2,判断它们是否互质。判断两数是否互质的方法是设大数为x1,小数为x2,如果x1x2为整数,则非互质;如果x2和x1能同时被2x22间任一整数整除,则x1和x2也非互质,其他情况均为互质。 PROGRAM sj(input,output); VAR x1,x2,t,n,i:integer; yes:boolean; BEGIN write(please input x1,x2:); readln(x1,x2); IF_THEN BEGIN t:=x1;x1:=x2;x2:=t END; yes:=true; IF(xl MOD x2)=0 THEN yes:=false ELSE BEGI

24、N n:=x2 DIV 2; FOR i:=2 TO _DO IF_THEN yes:=false END; IF_THEN writeln(they are mutual prime numbers)x1,x2互质 ELSE writeln(they are not mutua1 prime numbers)x11,x2非互质 END.25. 有一个数列,其第1和第2个数都是大于0的一位整数,将这两个数相乘得乘积x,若x10,则x为数列的第3个数;若x=10,则把x的十位数作为数列的第3个数,x的个位数作为数列的第4个数,再把已形成的数列的最后两个数相乘,按上述规则构成后面的数,依此类推。例

25、如若前两个数是6,3,则数列为: 6,3,1,8,8,6,4,2,4,8,3,2,6,1,2,2,4,8,3,2,6. 下面的程序以6,3为前两个数,产生并输出此数列的前n个数(n由键盘输入)。请填空完成。 PROGRAM p(input,output); VAR a,b,k,n,x:integer; BEGIN readln(n); a:=6;b:=3;k:=2; write(a:3,b:3); REPEAT x:=a*b; IF x=10 THEN BEGIN a:=_; b:=_; k:=k+2; write(a:3); IF_THEN write(b:3); ELSE BEGIN a:

26、=b;b:=x;k:=k+1; write(x:3); END UNTIL_ writeln END.26. 求具有下列两个性质的最小自然数n:(1)n的个位数是6;(2)如果将n的个位数字6移到其余各位数字之前,所得新数是n的4倍。 PROGRAM ex (output); VAR n,m6,temp:integer; BEGINn:=6;temp:=0; WHILE(temp4*n) AND (nmaxint-10) DO BEGIN n:=n+10;m6:=6;temp:=n; WHILE_DO BEGIN temp:=_; m6:=m6*10 END; temp:=m6+n DIV 1

27、0 END; IF_ THEN writeln(Thenumberis,n:1) ELSE writeln(The number is too larger or noneexistent) END.27. 本程序用来找出3100之间的全部素数,每行输出5个素数。请分析下面的程序并填空。 PROGRAM exa(input,output); VAR i,j,m,count:integer, BEGIN count:0; FOR i:3 TO 100 D0 IF(i MOD 2)_0THEN BEGIN m:=1; FOR j:2 TO trunc(sqrt(i) DO IF(i MOD j)0

28、 THEN m:=0; IF m1 THEN BEGIN count:count1; IF(count MOD 5)=0 THEN _(i:5) ELSE _(i:5) END END END.五、枚举和子界1. 设有如下的类型定义和变量说明: TYPE COLOR=(RED,YELLOW,BLUE,GREEN,BLACK,WHITE,ORANGE); VAR FLAG:COLOR; 再执行语句:FLAG:=BLACK; 表达式CHR(ORD(PRED(FLAG)+ORD(A)的值是_。2. 以下程序的运行结果为_。 PROGRAM EX(OUTPUT); TYPE COLOR=(RED,WH

29、ITE,BLUE,GREEN,PURPLE,BLACK); VAR FLOWER,SKY:COLOR; BEGIN IF ORD(SUCC(RED)2 THEN BEGIN FLOWER:=RED; IF SUCC(BLUE)=GREEN THEN SKY:=BLUE ELSE FLOWER:=WHITE END ELSE BEGIN SKY:=WHITE; FLOWER:=PRED(BLZCK) END; CASE SKY OF BLUE:WRITELN(BLUE); WHITE:WRITELN(WHITE) END CASE FLOWER OF RED:WRITELN(RED); WHIT

30、E:WRITELN(WHITE); PURPLE:WRITELN(PURPLE) END END.3. 请将下面程序补充完整。 PROGRAM WEEKDAYS(OUTPUT); VAR WD:(SUN,MON,TUE,WED,THU,FRI,SAT); BEGIN_ CASE_OF SUN:WRITELN(SUNDAY); MON:WRITELN(MONDAY); TUE:WRITELN(TUESDAY); WED:WRITELN(WEDNESDAY); THU:WRITELN(THURSDAY); FRI:WRITELN(FRIDAY); SAT:WRITELN(SATURDAY) _ E

31、ND.4. 设有如下的类型定义和变量说明: TYPE COLOR=(RED,YELLOW,BLUE,GREEN,BLACK,WHITE,ORANGE); VAR I:INTEGER; FLAG:COLOR; 并且 FLAG:=BLUE; 则语句FOR I:=ORD(FLAG)TO 5 DO WRITELN(HELLO);将执行循环体_次。5. 由5个字符组成的标识符,规定其第14个字符为小写元音字母(a,e,i,o,u),第五个字符为09之间的数字字符。本程序是用来计算这样的标识符有多少种不同排法。请填空完成该程序。 PROGRAM exam4(input,output); TYPE ch:(

32、a,e,i,o,u); num:0.9; VAR c1,c2,c3,c4,c5:_ n0,n9:num; count:integer; BEGIN c5:=u n9:=9 count_ FOR c1:=a TO c5 DO FOR c2:a TO c5 DO FOR c3:a TO c5 DO FOR c4:a TO c5 DO FOR n0:0 TO_ count_; writeln(count) END.六、数组1. 有如下程序 PROGRAM LANG(INPUT,OUTPUT); CONST C=Pascal; VAR A:PACKED ARRAY1.6 OF CHAR; I:INTE

33、GER; BEGIN A:=C; FOR I:=3 TO 6 DO READ(AI); WRITELN(A) END. 执行时输入FORTRAN,输出结果为_。2. 设有TYPE MAT=ARRAY1.5,1.5 OF REAL; VAR M:MAT; 用以下过程求M矩阵的转置矩阵MT,请在空白内填入适当内容。 PROCEDURE TRANSFOR(M:MAT;VAR MT :MAT); VAR I,J:INTEGER; BEGIN FOR I:=1 TO 10 DO FOR J:=1 TO 10 DO MTI,J:=_ END;3. 若运行时输入以下指定数据, 则程序的运行结果为_。 PRO

34、GRAM EX (INPUT,OUTPUT); CONST N=6; TYPE COLARR=ARRAY 1.N OF INTEGER; VAR A:COLARR;I,J,P,T:INTEGER; BEGIN FOR I:=1 TO N DO READ(AI); READLN; FOR J:=1 TO N-1 DO BEGIN P:=J; FOR I:=J TO N DO IF AIAP THEN P:=I; T:=AP;AP:=AJ;AJ:=T; END; FOR I:=1 TO N DO BEGIN WRITE(AI:2); IF (I MOD 3 )=0 THEN WRITELN END

35、; END. 输入数据:7 2 5 1 9 44. 设有二维数组AR: 1 2 3 10 2 4 6 20 10 20 30 100 对该二维数组元素求和的程序段如下: Sum:=0; FOR I:=1 TO_10_DO FOR j:=_1_TO 10 DO Sum:=sum+_aI,j_; Writeln(The result is:,_sum_ )5. 以下程序实现从终端按行读入一个4*4的二维数组,分别求出其主,次对角线上元素之和,其中变量SUMZ用从累加主对角线元素的和,SUMC用以累加次对角线元素之和。请在空白处填入正确内容。 PROGRAM EX(INPUT,OUTPUT); VA

36、R A:ARRAY 1.4,1.4 OF INTEGER; N,M,SUMZ,SUMC:INTEGER; BEGIN FOR N:=1 TO 4 DO FOR M:=1 TO 4 DO READLN(1)_); SUMZ:=0;SUMC:=0; FOR N:=1 TO 4 DO BEGIN SUMZ:=SUMZ+(2)_; M:=(3)_; SUMC:=SUMC+AN,M END; WRITELN(SUMZ:3,SUMC:3) END. 6. 若运行时输入以下指定数据, 则程序的运行结果为_。 PROGRAM EX(INPUT,OUTPUT); VAR I,J,N,TEMP:INTEGER;

37、A:ARRAY1.100 OF INTEGER; FLAG:BOOLEAN; BEGIN READ(N); FOR I:=1 TO N DO READ(AI); READLN; FLAG:=TRUE;I:=1 WHILE(IAJ+1 THEN BEGIN TEMP:=AJ; AJ:=AJ+1; AJ+1:=TEMP; FLAG:=TRUE END; I:=I+1 END; FOR I:=1 TO N DO WRITE(AI:2); WRITELN END. 输入数据:6 1 7 2 3 6 7 7. 程序COUNT用以统计一个句子中的词数,句子放在字符数组C中,长度不超过80,以.表示结束。要

38、求打印出词数及每个词的长度(字符个数),允许空语句。 例:语句为: THIS IS A PROGRAM. 输出为:WORD NO.1 LENGTH=4 WORD NO.2 LENGTH=2 WORD NO.3 LENGTH=1 WORD NO.4 LENGTH=7 NUMBER OF WORDS IS 4 请在空白处填入正确内容。 PROGRAM COUNT (INPUT,OUTPUT); VAR C:PACKED ARRAY 1.80 OF CHAR; I,K,L:INTEGER; BEGIN WRITE(INPUT A STRING:); I:=0; WHILE NOT EOLN DO B

39、EGIN I:=I+1; READ(CI); END; READLN; K:=0;I:=1; WHILE CI. DO BEGIN WHILE CI= DO I:=I+1; L:=0; WHILE (CI ) AND (CI.) DO BEGIN I:=I+1; (1)_l:=l+1_ END; IF L0 THEN BEGIN (2)_; WRITELN(WORD NO.,K:2,LENGTH=,L:2) END END; IF K0 THEN WRITELN(NUMBER OF WORDS IS ,K:2) ELSE WRITELN(NO WORD IN THE STATEMENT) EN

40、D.8. 下面程序用冒泡排序法对有10个数据元素的数组进行排序,数据由键盘输入,并将排序后的结果输出。请将程序补充完整。 PROGRAM EX(INPUT,OUTPUT); CONST N=10; TYPE COLARR=ARRAY1.N OF INTEGER; VAR A:COLARR ; T,I,J:INTEGER; BEGIN WRITELN(INPUT 10 INTEGER NUM:); FOR I:=1 TO N DO READ(AI); READLN; FOR J:=1 TO (1)_ DO FOR I:=1 TO (2)_ DO IF AIAI+1 THEN BEGIN _; E

41、ND; WRITELN(OUTPUT :); FOR I:=1 TO N DO WRITE(AI:40); WRITELN END.9. 若运行时输入以下指定数据, 则程序的运行结果为_。 PROGRAM EX (INPUT,OUTPUT); TYPE ARR=ARRAY 1.8 OF INTEGER; VAR A:ARR; I,N:INTEGER; PROCEDURE SELECT (VAR B:ARR;VAR N:INTEGER); VAR I,J:INTEGER; BEGIN I:=0; FOR J:=1 TO N DO IF BJ MOD 2 =0 THEN BEGIN I:=I+1;

42、 BI:=BJ END; N:=1 END; BEGIN N:=8; FOR I:=1 TO N DO READ(AI); READLN; SELECT(A,N); FOR I:=1 TO N DO WRITE(AI:3); WRITELN END. 输入数据:1 2 3 4 5 6 7 810. 下面是输入一字符行然后按相反顺序输出的程序,请将程序填写完整。 PROGRAM ReveseLine(Input,Output); CONST MaxLineLength=80; VAR line:ARRAY1.MaxLineLength OF Char; Count:0.MaxLineLength

43、; Pos:1.MaxLineLength; BEGIN Count:=_; WHILE NOT Eoln DO BEGIN Count:=count+1; Read(_ ) END; FOR pos:= _ DOWNTO _ DO Write _; Writeln END. 11. 下面的程序可以输出下面图示结果,请填空完成。 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 PROGRAM EX(OUTPUT); TYPE ARR=ARRAY1.4,1.7 OF INTEGER; VAR A:ARR; X,Y:INTEGER;

44、BEGIN FOR X:=1 TO 4 DO FOR Y:=1 TO 7 DO IF (_=5) OR (_=3) THEN AX,Y:=1 ELSE AX,Y:=0; FOR X:=1 TO 4 DO BEGIN FOR Y:=1 TO 7 DO WRITE(AX,Y:3); WRITELN END END. 12. 有如下程序: PROGRAM exp(INPUT,OUTPUT); LABEL l0,20; VAR m:ARRAY1.3,1.3 OF INTEGER; i,j,k:INTEGER; BEGIN FOR i:=1 TO 3 DO FOR j:=1 TO 3 DO mi,j:=

45、i+(j-1)*3; 10: FOR i:=1 T0 2 DO 20: FOR j:=i+1 TO 3 DO BEGIN k:=mi,j; mi,j:=mj,i; mj,i:=k END END. 请回答下列问题: 在执行语句10之前,数组m的第一行元素的值是_。在程序执行完毕后,数组m第一行元素的值是_。若将程序中标号为10,20的语句改为:10:FOR i:=1 TO 3 DO 20:FOR j:=1 T0 3 DO 则程序执行后,m数组的第一行结果是_。 13. 本程序对给定的n(n=80),计算并打印i!(i1,2,n)的全部有效数字。因i!的值可能很大,故采用一维数组形式存储计算的结

46、果。例如:7!=5040存储成(如下所示):计算阶乘时采用以加法e代替乘法的方法。例如:5!120,计算6!时采用把原120再加5次120得到720的方法。 PROGRAM fac(input,output); CONST max120; TYPE number = ARRAY1.max OF integer; VAR a,b:number;i,j,m,k,r,n:integer; BEGIN writeln(Enter the number n:); read(n) ; FOR i : = 2 TO max DO_ a1=1 ;writeln(1!=,ai);i FOR j:=1 TO _DO BEGIN FOR i:=1 TO max DO bi:=ai; FOR m:=1 TO j DO FOR i := 1 to max DO BEGIN r:=ai + bi; IF _THEN ai+1:=_; ai= r MOD 10 END; k : = max; WHILE ak = 0 DO_; write(j + l):2,!=) ; F

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!