初赛模拟试题(二)[1]

2018-11-08 14:37

NOIP2012初赛模拟试题(二)

( 普及 Pascal语言 二小时完成 )

● ● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效 ●●

一. 单项选择题 (共10题,每题1.5分,共计15分。每题有且仅有一个正确答案。)

1、下列说法正确的是( )。

A. CPU的主频越高,其运算速度越快

B.存储器具有记忆能力,其中信息任何时候都不会丢失 C.两个显示器屏幕尺寸相同,则它们的分辨率必定相同 D.计算机系统可以分为硬件系统和系统软件两大部分

2、有一个数值2341,它与十六进制数4E1相等,那么该数值是( )。 A.五进制数 B.六进制数 C.七进制数 D.八进制数

3、在计算递归函数时,如不使用递归过程,则一般情况下必须借助于( )数据结构。 A.栈 B.树 C.双向队列 D.广义表

4、表达式a*(c-b)/(d+e)的前缀表达式是()。

A.acbde*-/+ B.*-/+achde C.-cb*a/+de D./*a-cb+de

5、在一个具有N个顶点的无向图中,要连通全部的顶点至多需要边的数目是( )。 A.N B.N-l C.N*(N-1)/2 D.N*(N-1)

6. 二进制数00100100和00010100的和是( )。

A.00101000 B.001010100 C.01000100 D.00111000

7、一个队列开始为空,数列1,2,3??按顺序进队,经过操作序列“进、进、出、进、进、出、进、进、进、出、进、出”后,队列中的倒数第2个元素是( ) A.5 B.6 C.7 D.8

8、表达式28 div 4 mod (-3)+trunc(3.675)的值是( )。 A.5 B.4 C.3 D.2

9、在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为( )。

A.4 B.5 C.6 D.7

10、存储400个24*24点阵汉字的字模所需的存储容量为( )。 A.255KB B.75KB C.37.5KB D.28.125KB

11、存储一幅分辨率为1024*768像素的256色图片需要的存储容量为( )。

第1页 共7页

A.768KB B.0.7MB C.375KB D.28.125KB

12、操作系统、数据库管理系统和程序设计语言处理软件属于( )。

A.管理软件 B.系统软件 C编辑软件 D.应用软件

13、设有字符序列(Q,H,C,Y,P,A,M,S,R,D,F,X),问新序列(F,H,C,D,P,A,M,Q,R,S,Y,X)是下列

哪个排序算法一趟扫描的结果( )

A.起泡排序 B.初始步长为4的希尔排序

C.二路归并排序 D.以第一元素为分界元素的快速排序

14、对于线性表(18,25,63,50,42,32,90,66)进行散列存储时,若选用H(K)=K mod x作为散列

函数,对于x值的选取,下列最合适的是 ( ) A.8 B 9 C.10 D.11

15、链表不具有的特点是( )。

A.可随机访问任一个元素 B.插入删除不需要移动元素

C.不必事先估计存储空间 D.所需空间与线性表的长度成正比

16、设E={a,b,c,d,e},A={a,b},B={a,b,e},C={b,d},则(A∩B)∪~C=( )。

A.{a,b,d} B.{b} C.{a,b,c,e} D.{a,c,e}

17、下面( )语言不是常用的网页制作语言。

A.PHP B.C++ C.Java D.Html

18、在具有n个结点点的完全图中需删去( )条边才能得n个结点到树。

A.(n-1)(n-2)/2 B.n-1 C.(n-1)(n-2) D.n

19、对于下图,至少要加( )条边,使之存在一条路径,经过图中每条边一次且仅一次。

A.1 B.2 C3 D.4

20、一棵含有101个结点的完全二叉树存储在数组A[1..101]中,对1≤k≤101,若 A[k]是叶子结

点,则k的最小值是:( ) A.51 B.50 C.49 D.48

三.问题求解(共2题,每空5分,共计10分)

1.马路上有编号为1,2,3,?,10的十盏路灯,为了既能节约用电,又能看清路面(不影响走路照明),可以把其中的i盏灯关掉,但不能同时关掉相邻的两盏或两盏以上的灯。在两端的灯也不能关掉的情况下,求满足条件的关灯办法有_________种?

第2页 共7页

2.若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。例如:给定一个十进制数56,将56加65(即把56从右向左读),得到121是一个回文数。又如,对于十进制数87,

STEPl:87+78=165 STEP2:165+56l=726 STEP3:726+627=l353 SFEP4:1353+3531=4884

在这里的一步是指进行了一次N进制的加法,上例最少用4步得到回文数4884。 那么,对于九进制数87,最少用_________步得到回文数。 四.阅读程序写结果(共4题,每题8分,共计32分) 1. program t1;

const n=7; var i,k,m,j:integer;

a:array[0..10] of integer; begin m:=10; repeat read(k); j:=k mod n; a[j]:=1; m:=m-1; until m=0; k:=0;

for i:=1 to 10 do if a[i]=0 then k:=k+1; write(k); end.

输入:2005 2006 2007 2008 2009 2010 2011 2012 2013 2014

输出:_________________

2. program t2;

Const Max=2000;

Var a:Array[1..Max+2]of Byte; i,top,w1,w2,t:Integer; Procedure Do_with(x,y:Integer); Var s:integer; Begin s:=x*y ; If s<10 Then

Begin Inc(t); a[t]:=s; Exit;End; t:=t+1; a[t]:=s Div 10; t:=t+1; a[t]:=s Mod 10; End; begin

a[1]:=2; a[2]:=3; top:=0; t:=2; Repeat

Top:=top+1;

第3页 共7页

Do_with(a[top],a[top+1]); Until t>=Max; read (w1,w2);

For i:=W1 To w2 Do Write(a[i]:2); End. 输入:15 25 输出:_______________

3. program t3;

var a,x,y,z:Integer;

procedure p(x,y:integer;var z:integer);

begin z:=y-x-z;

writeln(x,' ' ,y,' ',z); end;

function q(m:integer):integer; begin z:=z+m; q:=succ(m);

end; begin

x:=2; y:=5; z:=9; p(5,x+y+z,x); writeln(x,' ',Y,' ',z); a:=q(2);

a:=a*q(z); writeln(a,' ',z); end.输出:___________

4.program t4;

const n=4;

type se=array[1..n*2]of char; var i,j,i1,j1,k,s,t,s1,L,swap:integer; temp:char; a:se; Begin

for i:=1 to n*2 do read(a[i]); readln; s:=0; t:=0; for i:=1 to n*2 do

if a[i]='1' then s:=s+1 else if a[i]='0' then t:=t+1; if(s<>n) or (t<>n) then writeln('error') else begin s1:=0;

for i:=1 to 2*n-1 do if a[i]<>a[i+1] then s1:=s1+1;

第4页 共7页

writeln('jamp=',s1); swap:=0;

for i:=1 to 2*n-1 do for j:=i+1 to 2*n do if a[i]<>a[j] then begin

temp:=a[i];a[i]:=a[j];a[j]:=temp; s:=0;

for L:=1 to 2*n-1 do

if a[L]<>a[L+1] then s:=s+1;

if s>swap then begin swap:=s; i1:=i; j1:=j; end; temp:=a[i]; a[i]:=a[j]; a[j]:=temp; end; if swap>0 then

writeln('maxswap=', swap-s1, 'i=', i1, 'j=', j1) end; End.

输入:00100111 输出:_________

五.完善程序 (前5空,每空2分,后6空,每空3分,共28分)

1.Fibonacci数列的规律是:前2个数均为1,从第3个数开始每个数等于它前面两个数之和,

即:1,1,2,3,5,8,13,21,34,55,89,144,233,377,?已知任意一个大于0的整数可以表示为若干个互不相同的Fibonacci之数和. 例如:121=89+21+8+3

下面的程序是由键盘输入一个正整数n,输出组成n的互不相同的fihonacci数. 输入样例:121

输H{样例:121=89+21+8+3 [算法设计](n=121为例)

(1)寻找小于或等于n的最大的fibonacci数a(例如89),并以a作为组成n的一个数输出. (2)若n≠a,则以n-a作为新的任意正整数(例如32),重复步骤1;

若n=a,则结束.程序中的函数find返回小于或等于n的最大的fibonacci数.

var n,t:integer;

data:array[1..10000] of integer;

procedure print(t); var I:integer; begin

write(data[1]);

for i:=2 to t do write(‘+’,data[i]); end;

第5页 共7页


初赛模拟试题(二)[1].doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:日语惯用语

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: