1996第2届普及组初赛试题.docVIP

  • 6
  • 0
  • 约5.32千字
  • 约 6页
  • 2018-02-06 发布于河南
  • 举报
1996第2届普及组初赛试题

NOIP1996第二届普及组初赛试题 一、基础知识部分(44分) 1、已知A盘上的目录和文件组织如下:(1+1+3=5%) 其中,TP,TB,DOS,D11,D31都是子目录名。 现设当前命令提示为A:\TB,请写出完成如下操作的DOS命令: ①设F1.TXT移到D31子目录中去; ②删除子目录TB; ③在DOS运行中,没有执行过PATH命令。现要用DOS子目录中的FORMAT命令,对插入在B驱动器(5.25英寸高密)中的360KB软盘进行格式化工作,请写出相应的操作命令。 2、执行命令时,屏幕上显示如下出错信息:(1+1=2%) Write Protect Error Writing Drive B Abort, Retry, Fail ? 请说明这是什么错误?应如何校正? 3、请用等号或不等号联接表示下列不同进制数值的大小。(3%) 例如:(3)10(4)5=(100)2(A)16 其中圆括号外有下角的下标,表示圆括号内数的进制。 (21)10 (15)16 (25)8 (10101)2 4、阅读下列程序段,写出程序段运行后变量X的值。(4%) 循环结构,应用数据轮换方式,求两个数和的2倍。 x1 := 3; x2 := 8; For i:=1 To 5 Do Begin X := (x1+x2) * 2; X1 := x2; X2 := x; End; WriteLn(‘x=’, x); 5、阅读下列程序段,写出程序段运行后数组元素A1,A2,……,A11中的值。(5%) A[1] := 1; A[2] := 1; For k:=2 To 10 Do Begin A[k+1] := 1; For i:=k DownTo 2 Do A[i] := A[i] – A[i-1]; End; 6、已知:ACK(M,N)函数的计算公式如下:(4%) 请计算ACK(1,2)与ACK(2,2)的值。 7、请写出对应于计算如下算式的程序段:(4%) Y=ANXN+AN-1XN-1+……+A1X+A0 8、由N*N个数据组成如下方阵:(7%) 并已知:Aij=Aji; 现将A11,A21,A22,A31,A32,A33,……存储在一维数组A(1),A(2),……A(N*(N+1)/2)中。 试问:任给i,j怎样求出k来,使得A(k)的值正好是Aij,请写出由i,j计算k值的表达式。 9、已知:A1,A2,……,A81共81个数,其中只有一个数比其他数大。要求用最少的比较运算次数,把这个之大的数找出来(假设两个数比较一次能决定出大于、小于或等于这三种情况)。 请将以下算法补充完整。(9%) 第一步: S1 = A1 + A2 + …… + A27 S2 = A28 + A29 + …… + A54 第一次比较(S1,S2): S1〉S2 取K = 0 S1S2 取K = 27 S1=S2 取K = 54 第二步: S1 = Ak+1 + Ak+2 + …… + Ak+9 S2 = Ak+10 + Ak+11 + …… + Ak+18 第二次比较(S1,S2): S1〉S2 取K = S1S2 取K = S1=S2 取K = 第三步: S1 = Ak+1 + Ak+2 + Ak+3 S2 = Ak+4 + Ak+5 + Ak+6 第三次比较(S1,S2): S1〉S2 取K = S1S2 取K = S1=S2 取K = 第四步: S1 = Ak+1 S2 = Ak+2 第四次比较(S1,S2): S1〉S2 为最大数 S1S2 为最大数 S1=S2 为最大数 二、程序填空 1、题目:(15分 每空5分) 设有N个不同整数的数列。例如N=4时,有4个不同整数的数列17,4,16,5。在数列中的第1个数17,比它后面的三个数大,则称数17的逆数为3。数列中的第2个数4比它后面的数都小,则称数4的逆数为0。数列中第3个数16,比它后面的数大,则称数16的逆数为1,最后一个数无逆数。同时记录数列中全部逆数的河,称为数列的逆数。上例中,数列17,4,16,5的逆数为:3+0+1+0=4 程序要求:当给出N个不同整数的数列后,求出此数列的逆数。 算法描述:为求得上面问题的解,设计出一个数组A和逆数计数器S,然后用一个二重循环求出数列的逆数。 程序 a: Array[1..10]Of Integer; Begin N := 10; For i:=1 To N Do ReadLn(a[i]); S := 0;

文档评论(0)

1亿VIP精品文档

相关文档