ImageVerifierCode 换一换
格式:DOCX , 页数:62 ,大小:49.97KB ,
资源ID:23137800      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23137800.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(华舍实验学校信息学竞赛练习二1.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

华舍实验学校信息学竞赛练习二1.docx

1、华舍实验学校信息学竞赛练习二14 2填空题429下面的程序从键盘接收任意6个数放入数组a中,设这6个数为:814256,则可输出一个具有如下内容的方阵。814256681425568142256814425681142568请填空完成该程序。PROGRAM p429(Input,Output);VAR a:ARRAY1.6 OF Integer;i,j,k:Integer;BEGIN FOR i:=1 TO 6 DO Read( ); Readln; FOR i:=1 TO 6 DO BEGINIF i=1 THEN k:=1 ELSE k:=( );FOR j:=1 TO ( ) DO BE

2、GIN Write(ak:2); IF k=6 THEN k:=1 ELSE k:=( ) END; WritelnENDEND.4.30 下面的程序最多可输入100位学生的姓名,姓名全由大写英文字母组成,输入?后则停止输入,然后按字典顺序输出这些姓名。请填空完成该程序。PROGRAM p430(Input,Output); CONST max=100;length=20;TYPE string=PACKED ARRAY1.length OF Char; VAR name:ARRAY 1.max OF string;t:string;i,j,count:Integer; BEGIN i:=1;

3、Readln(namei);WHILE namei? DOBEGIN ( ); Readln(namei)END;count:=( );FOR i:=1 TO ( ) DO BEGIN FOR j:=i+1 TO count DO IF namei ( )namej THEN BEGIN t:=namei; namei:=namej; namej:=t END; Writeln( ) END END.4.31在下列程序中,当输入一个给定的数n后,能输出所有不超过n的、其平方由左右对称的数字组成的数。例如:n=23,则输出:1,2,3,11,22。它们的平方依次是:1,4,9,121,484,都

4、是左右对称的数字组成的数。请填空完成该程序。PROGRAMp431(Input,Output);CONST max=1000;VAR m,n,i,j,s:Integer;d:ARRAY0.max OF Integer;BEGIN Readln(n); FOR m:=1 TO n DO BEGIN计算m的平方且存放于s ( )把组成数s的每位数字存放入数组d中j:=0;WHILE s0 DO BEGIN j:=j+1; dj:=s MOD 10; ( ) END; 判断组成数s的数字是否左右对称i:=1; WHILE (di=dj) AND (i=j THEN Writeln( )ENDEND.

5、4.32* 下面程序实现将数组a 赋予如下的值,请填空完成该程序。1111141111341112341112341PROGRAMP432;VAR a:ARRAY1.5,1.5 OF Integer; i,j,k:Integer;BEGIN FOR i:=1 TO 5 DO FOR j:=1 TO 5 DOIF(i-j=4) OR ( ) THEN ai,j:=1 ELSE BEGIN k:=( ); CASE k OF 1:ai,j:=4; 2:ai,j:=( ); 3:ai,j:=2 END; ENDEND.4.33下面程序将n个学生的英文成绩从键盘输入,按059分、6069分、7079分

6、、8089分和90100分分组统计人数。PROGRAM p433(Input,Output); CONST n=20; VAR i,k:Integer;s:ARRAY 1.5 OF Integer;a:ARRAY1.n OF Integer; BEGINFOR i:=1 TO ( ) DO si:=0;FOR i:=1 TO ( ) DO BEGIN ( ); IF ai=90 THEN k:=1 ELSE IF ai=80 THEN k:=2ELSE IF ai=70 THEN k:=3 ELSE IF ai=60 THEN k:=4 ELSE k:=5; sk:=( ) END; Read

7、ln; FOR i:=1 TO 5 DO Write(si:3);WritelnEND.4.34类型arr为:TYPEarr=ARRAY 1.16 OF Integer;, 已知数组a中有15个整数已按从小到大的顺序排列,过程insertone把任意整数b填入a中并使a 中数据仍然有序。PROCEDURE p434(VAR a:arr; b:Integer);VAR k:Integer;BEGIN k:=( ); WHILE (k1) AND( ) DO BEGINak:=ak-1;k:=k-1 END; ak:=( )END;4.35*下面程序从键盘一个m*n(m,n=10)的矩阵存入数组a

8、,从矩阵左上角开始,以从右上到左下的斜线方向为顺序输出所有元素的值。例如有4*5的矩阵为 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20则输出顺序是1,2,6,3,7,11,4,8,12,16,5,9,13,17,10,14,18,15,19,20PROGRAM p435(Input,Output); VAR i,j,k,m,n:Integer;a:ARRAY1.10,1.10 OF Integer; BEGIN Readln(m,n); FOR i:=1 TO m DOBEGIN FOR j:=1 TO n DO Read(ai,j);

9、ReadlnEND; FOR k:=1 TO m+n-1 DOBEGIN IF k=n THEN BEGIN i:=( ); j:=( ); END; ELSE BEGIN I:=k-4; J:=5;End;WHILE (i=1) DO BEGIN Write(ai,j,); i:=( ); j:=j-1; END; End; Writeln;END.4.36以下程序实现从终端按行读入一个44的二维数组,分别求出其主、次对角线上元素之和,其中变量sumz用以累加主对角线元素的和,sumc用以累加次对角线元素之和。请在()处填入正确内容。PROGRAM p436(Input,Output);VA

10、R a:ARRAY1.4,1.4 OF Integer; n,m,sumz,sumc:Integer;BEGIN FOR n:=1 TO 4 DO FOR m:=1 TO 4 DOReadln( ); sumz:=0;sumc:=0; FOR n:=1 TO 4 DOBEGIN sumz:=sumz+( ); m:=( ); sumc:=sumc+an,mEND; Writeln(sumz:3,sumc:3)END.4.37以下程序实现:对输入的一个55方阵,判别它是否为幻方。幻方具有如下性质:它的每行、每列和两个对角线上的元素之和都相等。请在()处填入正确内容。PROGRAM p437(In

11、put,Output);VAR a:ARRAY1.5,1.5 OF Integer; z,f,colum,line,i,j:Integer; yes:Boolean;BEGIN FOR i:=1 TO 5 DOBEGIN FOR j:=1 TO 5 DO Read(ai,j); Readln;END; z:=0;f:=0;yes:=True; FOR i:=1 TO 5 DOBEGIN colum:=0;line:=0; FOR j:=1 TO 5 DO BEGIN line:=line+ai,j; colum:=colum+( ); IF i=j THEN z:=z+ai,j; IF i+j

12、=6 THEN f:=f+ai,j; END; IF linecolum THEN ( ); END;IF NOT yes OR (zf) OR (fline) THENWriteln(It is NOT magic square!) ELSE Writeln(It is magic square!)END.4.38*程序中调用过程merge把按升序存放在a,b数组中的两个数列归并到c数组中,归并后的数列仍按升序存放。请在()处填入正确内容。PROGRAM p438(Input,Output);CONST MA=5;MB=3;MC=MA+MB;TYPE arra=ARRAY 1.MA OF I

13、nteger;arrb=ARRAY 1.MB OF Integer;arrc=ARRAY 1.MC OF Integer;VAR a:arra; b:arrb; c:arrc; i:Integer;PROCEDURE merge(a:arra;b:arrb;VAR c:arrc);VAR i,IA,IB,IC:Integer;BEGIN IA:=1;IB:=1;IC:=1; WHILE (IA=MA) AND (IB=MB) DO BEGINIF aIA=bIB THEN BEGIN cIC:=( ); ( ) END ELSE BEGIN cIC:=( ); ( ) END;IC:=IC+1

14、END; IF (IA=MA) THENFOR i:=IA TO MA DO BEGIN cIC:=( ); IC:=IC+1 END;IF (IB0 DOBEGIN ai:=y MOD 2; y:=y DIV 2; i:=i+1END; FOR j:=i-1 DOWNTO 1 DOWrite(aj); WritelnEND. 给出该程序的运行结果。442有以下程序:PROGRAM p442(Input,Output);CONST N=6;TYPE colarr=ARRAY1.N OF Integer;VAR a:colarr;i,j,p,t:Integer;BEGIN FOR i:=1 TO

15、 n DO Read(ai); Readln; FOR j:=1 TO n-1 DO BEGINp:=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 BEGINWrite(ai:2);IF (i MOD 3)=0 THEN Writeln ENDEND.若输入指定数据:725194回车,给出程序的运行结果。443有以下程序:PROGRAM p443(Input,Output);VAR i,j,n,temp:Integer; a:ARRAY1.100 OF Integer;flag:Bo

16、olean;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); WritelnEND.若输入指定数据:6172367回车,给出程序的运行结果。5.2填空题5.48、过程sum按参数mode指出的方式,计算二维数组a中的各行或各列元素之和,并把它存入一维数组b中,mode=r 时将数组中第i行

17、元素之和存入bimode=c时,将数组中第i列元素之和存入bi i=(1,2,3,N)有关常数和类型定义如下: CONST N=32; TYPE AT=ARRAY1.N,1.N OF Integer;BT=ARRAY1.N OF Integer;请在( )内填上适当内容。procedure sum(var a:AT;var b:BT; mode:char);VAR i,j:Integer;BEGIN FOR i:=1 TO N DO ( ); FOR i:=( )DOFOR j:=( )DO CASE mode OF r: ( ); c: ( ); ENDEND;5.49、*已知有函数定义:

18、FUNCTION fn(a,b,c:Real):Real; BEGIN fn:=sin(a)/(sin(a-b)*sin(a-c) END;请填写完整的调用此函数的语句计算下列m值:m=+调用语句:m:=( ) 5.50、*已知函数说明如下: function fun(n:integer):integer; begin if n=0 then fun:=0 else if n0 then fun:=fun(n-2)else fun:=fun(n+3) end;则函数调用fun(5) 的值为( ),它共执行了( )次函数体,fun(fun(-2)的值为( ),它共执行了( )次函数体。5.51P

19、ASCAL中值形参与变量形参的主要区别是:( )的改变不影响实参的值,而( )的改变影响影响实参的值。552、设有过程说明: procedure silly(x:integer;var y:integer);var z:integer;beginx:=10;y:=12;z:=14end;执行以下语句后输出结果为();x:=1;y:=2;z:=3;silly(y,x);writeln(x:2,y:2,z:2);5.54、设有一函数子程序定义如下:function fun(x,y,z:integer):integer;begin fun:=z-y div x;end;执行语句m:=fun(fun(

20、2,4,6),6,8) 后变量m的值是( )5.55、设有以下函数说明:function digit(num,pos:integer):integer;var i:integer;begin num:=abs(num); for i:=1 to pos-1 do num:=num div 10; digit:=num mod 10end;则执行函数调用语句digit(31965,2) 后的函数值为( )执行函数调用语句digit(4650,6) 后的函数值为( )5.56*过程binary按主程序传递过来的参数,实现折半查找,其中x为待查找数,a为一个有序的一维数组,n为数组元素个数,foun

21、d为是否查找到的标志。请在()内填入适当的内容。PROCEDURE binary(x:Integer;a:arr1;n:Integer);VAR low,high,mid:Integer; found:Boolean;BEGIN low:=1;high:=( );found:=False;WHILE ( ) AND (NOT found) DO BEGIN mid:=( ); IF (xamid) THEN( ) ELSE IF (xmax then max:=ai,j;if( ) then if ai,j9 THENntoc:=Chr(a-10+Ord(A) ELSEntoc:=Chr( )

22、END;BEGIN k:=1; Readln(a); WHILE (k=4) AND ( ) DO BEGIN sk:=ntoc( ); a:=a DIV 16; k:=k+1 END;FOR a:=( ) DO Write(sa); WritelnEND.5.59下列程序是验证10000以内能被11整除的正整数颠倒后也必能被11整除。其中函数ReverseDigits是把整数值颠倒过来作为它的函数值。请将程序填写完全。例如:143能被11整除,则其颠倒后的341也能被11整除。PROGRAMp559(Output); VAR i,j,ri:Integer;right:Boolean; FUNCTION ReverseDigits(n:Integer):Integer; VAR rn:Integer; BEGIN rn:=( ); WHILE n0 DO BEGIN rn:=rn*10+n MOD 10; n:=n DIV 10 END; ReverseDigits:=( ) END;BEGIN right:=True; FOR j:=1 TO 999 DO BEGIN i:=11*j; _; IF ri MOD 110 THEN BEGIN Writeln(i,ri,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1