第十四届全国青少年信息学奥林匹克联赛提PC试题及答案Word文档格式.docx
- 文档编号:16721344
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:13
- 大小:21.76KB
第十四届全国青少年信息学奥林匹克联赛提PC试题及答案Word文档格式.docx
《第十四届全国青少年信息学奥林匹克联赛提PC试题及答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《第十四届全国青少年信息学奥林匹克联赛提PC试题及答案Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
C.传输层D.应用层E.会话层
10.对有序数组{5,13,19,21,37,56,64,75,88,92,100}进行二分查找,等概率情况下,查找成功的平均查找长度(平均比较次数)是()。
A.35/11
B.34/11
C.33/11
D.32/11
E.34/10
二、不定项选择题。
11.下列关于图灵的说法正确的有()
A.图灵奖是美国计算机协会与1966年设立的,专门鼓励那些对计算机做出重要贡献的个人
B.图灵奖有“计算机界诺贝尔奖”之称。
C.迄今为止,还没有华裔计算机科学家获此殊荣。
D.图灵奖的名称取自计算机科学先驱、英国科学家阿兰、图灵。
12.计算机在工作过程中,若突然停电,()中不会丢失信息不会丢失。
A.硬盘
B.CPU
C.ROM
D.RAM
13.若A=true,B=false,C=true,D=false,以下逻辑运算表达式真的有()
A.(A^B)V(C^DV¬
A)
B.((¬
A^B)VC)^¬
B
C.(BVCVD)VD^A
D.A^(DV¬
C)^B
14.Web2.0是近年来互联网热门概念之一,其核心是互动与分享。
下列网站中,()是典型的Web2.0的应用。
A.Sina
B.Flickr
C.Yahoo
D.GooGle
15.(2008)10+
(5B)16的结果是()。
A.(833)16
B.(2099)10C.(4063)8D.(100001100011)2
16.二叉树T,已知其先序遍历是1243576(数字为节点编号,以下同),后序遍历是4275631,则该二叉树的中根遍历是()
A.4217536
B.
2417536
C.4217564
D.2415736
17.面向对象的程序设计(Object-OrientedProgramming)是一种程序设计的方法论,它将对象作为程序设计的基本单元,将数据和程序封装在对象中,以提高软件的重用性、灵活性、和扩展性。
下面关于面向对象的程序设计说法中正确的是()。
A.面向对象的程序设计方法通常采用自顶向下的设计方法进行设计。
B.面向对象的程序设计方法具有继承性(inheritance)、封装性(encapsulation)、多态性(polymorphism)等几大特点。
C.支持面向对象特性称为面向对象的编程语言,目前较为流行的有C++,JAVA,C#等。
D.面向对象的程序设计的雏形来自于Simula语言,后来在Smalltalk语言的完善和标准化的过程中得到更多的扩展和对以前的思想的重新注解。
至今,Smalltalk语言任然被视为面向对象的基础。
18.设T是一棵有n个定点的树,以下说法正确的是()。
A.T是联通的,无环的B.T是联通的,有n-1条边C.T是无环的,有n-1条边D.以上都不对
19.NOIP竞赛推荐使用的语言环境有()。
A.Dev-C++
B.VisualC++
C.freepascal
D.lazarus
20.在下列防火墙(firewall)的说法中,正确的有()。
A.防火墙是一项协助确保信息安全的设备,其会依照特定的规则,允许或是限制数据通过。
B.防火墙可能是一台专属硬件或是安装在一般硬件上的一套软件。
C.网络层防火墙可以视为一种IP数据包过滤器,只允许符合特定规定的数据包通过,其余的一概禁止穿越防火墙。
D.应用层防火墙是在TCP/IP的“应用层”上工作,可以拦截进出某应用程序的所有数据包。
三、问题求解。
1.有6个城市,任何两个城市之间有一条道路连接,6个城市之间两两之间的距离如下表表示,则城市1到城市6的最短距离为
。
城市1
城市2
城市3
城市4
城市5
城市6
0
2
3
1
12
15
2
5
3
12
0
6
5
7
9
12
6
2
城市6
15
5
9
2.书架上有21本书,编号从1到21从中选4本,其中每两本的编号都不相邻的选法一共有
。
四、阅读程序。
Pascal语言
=================
1.var
i,a,b,c,d:
integer;
f:
array[0..3]ofinteger;
begin
fori:
=0to3do
read(F);
a:
=F[0]+F[1]+F[2]+F[3];
=adivF[0];
b:
=F[0]+F[2]+F[3];
c:
=(b*F[1]+a)divF[2];
d:
=F[(bdivc)mod4];
if(F(a+b+c+d)mod4]>
F[2])then
=a+b;
writeln(a)
end
else
=c+d;
writeln(c);
end;
end.
输入:
19
29
39
输出:
2.procedurefoo(a,b,c:
integer);
ifa>
bthenfoo(c,a,b)
writeln(a,'
'
b,'
c)
vara,b,c:
readln(a,b,c);
foo(a,b,c);
213
3.proceduref(a,b,c:
write(a,b,c,'
/'
);
if(a=3)and(b=2)and(c=1)thenexit;
if(b<
c)thenf(a,c,b)
ifa<
bthen
cthenf(c,a,b)elseF(b,c,a);
f(a,b,c);
132
4.var
s:
string;
i,j,len,k:
readln(s);
len:
=length(s);
=1tolendo
if(ord(s)>
=ord('
A'
))and(ord(s)<
Z'
))then
=chr(ord(s)-ord('
)+ord('
a'
));
if(ord(s)<
ord('
X'
))thens:
=chr(ord(s)+3)
=chr(ord(s)-23));
write(s):
write('
forj:
=1to3do
i:
=1;
whilei<
=len-jdo
=s[i+j];
i:
=i+j;
writeln(s);
ABCDEFGuvwxyz
C语言
1.#include<
iostream>
usingnamespacestd;
intmain()
{
inti,a,b,c,d,f[4];
for(i=0;
i<
4;
i++)cin>
>
f[i];
a=f[0]+f[1]+f[2]+f[3];
a=a/f[0];
b=f[0]+f[2]+f[3];
b=b/a;
c=(b*f[1]+a)/f[2];
d=f[(b/c)%4];
if(f[(a+b+c+d)%4]>
f[2])
cout<
<
a+b<
endl;
elsecout<
c+d<
return0;
}
9192939
_______________
2.#include<
usingnamespacestd;
voidfoo(inta,intb,intc)
{
if(a>
b)
foo(c,a,b);
else
cout<
a<
'
b<
c<
endl;
intmain()
inta,b,c;
cin>
a>
b>
c;
foo(a,b,c);
return0;
输出:
__________
3.#include<
voidf(inta,intb,intc)
cout<
a<
b<
c<
‘/’;
if(a==3&
&
b==2&
c==1)
return;
if(b<
c)
f(a,c,b);
elseif(a<
b)
if(a<
f(c,a,b);
else
f(b,c,a);
}
f(a,b,c);
输入:
132
________________________________________
4.#include<
#include<
cstring>
inti,j,len;
chars[50];
s;
len=strlen(s);
for(i=0;
i<
len;
++i)
if(s[i]>
='
&
s[i]<
)s[i]-='
-'
;
if(s[i]<
'
x'
)s[i]+=3;
elses[i]+=-23;
s<
for(j=1;
j<
j++)
for(i=0;
len-j;
i=i+j)
{
s[i]=s[i+j];
}
___________________________________________
五、完善程序
1、(找第K大的数)给定一个长度为1000000的无序正整数序列,以及另一个数n(1<
=n<
=1000000),接下来以类似快速排序的方法找到序列中第n大的数(关于第n大的数:
例如序列{1,2,3,4,5,6}中第3大的数是4)
vara:
array[1..1000000]ofinteger;
n,m,ans:
procedureswap(vara,b:
vart:
if
(a<
b)thenbegin
t:
=a;
=b;
=t;
functionfindkth(left,right,n:
integer):
vartmp,value,i,j:
ifleft=rightthenexit(left);
tmp:
=random(right-left)+left;
swap(a[tmp],a[left]);
value:
=______
=left;
j:
=right;
jdo
while(i<
j)and(_____)dodec(j);
ifi<
jthenbegin
a:
=a[j];
inc(i);
endelsebreak;
j)and(_____)doinc(i);
a[j]:
dec(j);
___________
nthenbegininc(i);
exit(findkth(______));
ifi>
nthenbegindec(j);
exit(_______________);
exit(i);
vari:
randomize;
ans:
=-1;
m:
=5;
=1tomdo
read(a);
read(n);
=findkth(1,m,n);
writeln(a[ans]);
2、(矩阵中的数字)有一个n*n(1<
=5000)的矩阵a,对于1<
=i<
n,1<
=j<
n,a[i,j]<
a[i+1,j],a[j,i]<
a[j,i+1]。
即矩阵中左右相邻的两个元素,右边的元素一定比左边的大。
上下相邻的两个元素,下面的元素一定比上面的大。
给定矩阵a中的一个数字k,找出k所在的行列(注意:
输入数据保证矩阵中的数各不相同)。
var
n,k,answerx,answery:
array[1..5000,1..5000]ofinteger;
ProcedureFindKPosition;
i,j:
=n;
whilej>
0do
ifa[n,j]<
kthenbreak;
dec(j);
---------
whilea[i,j]<
kdo
while(--------)and(i>
1)dodec(i);
while(--------)and(j<
=n)doinc(j);
---------
i,j:
=1tondo
read(a[i,j]);
read(k);
FindKPosition;
writeln(answerx,'
answery);
1.(找第k大的数)给定一个长度为1,000,000的无序正整数序列,以及另一个数n(1<
例如序列{1,2,3,4,5,6}中第3大的数是4)。
inta[1000001],n,ans=-1;
voidswap(int&
a,int&
b)
intc;
c=a;
a=b;
b=c;
intFindKth(intleft,intright,intn)
inttmp,value,i,j;
if(left==right)returnleft;
tmp=rand()%(right-left)+left;
swap(a[tmp],a[left]);
value=①
i=left;
j=right;
while(i<
j)
while(i<
j&
②)j--;
if(i<
j){a[i]=a[j];
i++;
}elsebreak;
③)i++;
j){a[j]=a[i];
j--;
④
if(i<
n)returnFindKth(⑤);
if(i>
n)return⑥
returni;
inti;
intm=1000000;
for(i=1;
=m;
i++)
cin>
a[i];
n;
ans=FindKth(1,m,n);
a[ans];
2.(矩阵中的数字)有一个n*n(1<
=5000)的矩阵a,对于1<
=i<
n,1<
=n,a[i,j]<
a[i+1,j]a[j,i]<
a[j,i+1]。
intn,k,answerx,answery;
inta[5001][5001];
voidFindKPosition()
inti=n,j=n;
while(j>
0)
if(a[n][j]<
k)break;
j--;
①
while(a[i][j]!
=k)
while(②&
i>
1)i--;
while(③&
j<
=n)j++;
⑤
inti,j;
=n;
for(j=1;
cin>
a[i][j];
k;
FindKPosition();
answerx<
"
<
answery<
第十四届全国青少年信息学奥林匹克联赛初赛提高组pasca&
C答案
一、单项选择题:
(每题1.5分)
1.C2.A3.B4.C5.B6.D7.D8.E9.B10.C
二、不定项选择题(共10题,每题1.5分,共计15分。
每题正确答案的个数大于或等于1。
多选或少选均不得分)。
11.ABD12.AC13.BC14.B15.ABC16.ABD17.BCD18.ABC19.ACD20.ABCD
三、问题求解:
(共2题,每题5分,共计10分)
1.72.3060
四、阅读程序写结果(共4题,每题8分,共计32分)
1.23(信心题)2.1,3,2(简单递归)3.132/213/231/312/321/(全排列)
4.defghijxyzabc/hfizxjaybcccc(字符串替换)
五.完善程序(前6空,每空3分,后5空,每空2分,共28分)
(说明:
以下各程序填空可能还有一些等价的写法)
1.①a[left]②a[j]<
value(或a[j]<
=value)
③a[i]>
value(或a[i]>
=value)④a[i]:
=value;
⑤i,r
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第十四 全国青少年 信息学 奥林匹克 联赛 PC 试题 答案