不是VIP会员,不能显示答案,请在后台“我的信息” 在线升级 VIP

一、单项选择题(共20题,每题1.5分,共计30分;每题且仅有一个正确选项)

1. 计算机如果缺少( ),将无法正常启动。

  • A.内存
  • B.鼠标
  • C.U盘
  • D.摄像头

2. ( )是一种先进先出的线性表。

  • A.栈
  • B.队列
  • C.哈希表(散列表)
  • D.二叉树

3. 目前计算机芯片(集成电路)制造的主要原料是( ),它是一种可以在沙子中提炼出的物质。

  • A.硅
  • B.铜
  • C.锗
  • D.铝

4. 十六进制数9A在( )进制下是232.

  • A.四
  • B.八
  • C.十
  • D.十二

5. ( )不属于操作系统。

  • A.Windows
  • B.DOS
  • C.Photoshop
  • D.NOI Linux

6. 如果一棵二叉树的中序遍历是BAC,那么它的先序遍历不可能是( )。

  • A.ABC
  • B.CBA
  • C.ACB
  • D.BAC

7. 目前个人电脑的( )市场占有率最靠前的厂商包括Intel、AMD等公司。

  • A.显示器
  • B.CPU
  • C.内存
  • D.鼠标

8. 使用冒泡排序对序列进行升序排列,每执行一次交换操作系统将会减少1个逆序对,因此序列5,4,3,2,1 需要执行( )次操作,才能完成冒泡排序。

  • A.0
  • B.5
  • C.10
  • D.15

9. 1946年诞生于美国宾夕法尼亚大学的ENIAC属于( )计算机。

  • A.电子管
  • B.晶体管
  • C.集成电路
  • D.超大规模集成电路

10. 无论是TCP/IP模型还是OSI模型,都可以视为网络的分层模型,每个网络协议都会被归入某一层中。如果用现实生活中的例子来比喻这些“层”,以下最恰当的是( )。

  • A.中国公司的经理与波兰公司的经理交互商业文件
  • B.军队发布命令
  • C.国际会议中,每个人都与他国地位对等的人直接进行会谈
  • D.体育比赛中,每一级比赛的优胜者晋级上一级比赛

11. 矢量图(Vector Image)图形文件所占的贮存空间比较小,并且无论如何放大、缩小或旋转等都不会失真,是因为它( )

  • A.记录了大量像素块的色彩值来表示图像
  • B.用点、直线或者多边形等基于数学方程的几何图元来表示图像
  • C.每个像素点的颜色信息均用矢量表示
  • D.把文件保存在互联网,采用在线浏览的方式查看图像

12. 如果一个栈初始时为空,且当前栈中的元素从栈顶到栈底依次为a,b,c,另有元素d已经出栈,则可能的入栈顺序是( )。

  • A.a, d, c, b
  • B.b, a, c, d
  • C.a, c, b, d
  • D.d, a, b, c

13. ( )是主要用于显示网页服务器或者文件系统的HTML文件的内容,并让用户与这些文件交互的一种软件。

  • A.资源管理器
  • B.浏览器
  • C.电子邮件
  • D.编译器

14. ( )是目前互联网上常用的E-mail服务协议。

  • A.HTTP
  • B.FTP
  • C.POP3
  • D.Telnet

15. ( )就是把一个复杂的问题分成两个或更多的相同类似的子问题,再把子问题分解成更小的子问题……直到最后的子问题可以简单地直接求解。而原问题的解就是子问题解的并。

  • A.动态规划
  • B.贪心
  • C.分治
  • D.搜索

16. 地址总线的位数决定了CPU可直接寻址的内存空间大小,例如地址总线为16位,其最大的可寻址空间为64KB。如果地址总线是32位,则理论上最大可寻址的内存空间为( )。

  • A.128KB
  • B.1MB
  • C.1GB
  • D.4GB

17. 蓝牙和Wi-Fi都是( )设备。

  • A.无线广域网
  • B.无线城域网
  • C.无线局域网
  • D.无线路由器

18. 在程序运行过程中,如果递归调用的层数过多,会因为( )引发错误。

  • A.系统分配的栈空间溢出
  • B.系统分配的堆空间溢出
  • C.系统分配的队列空间溢出
  • D.系统分配的链表空间溢出

19. 原字符串中任意一段连续的字符所组成的新字符串称为子串。则字符“AAABBBCCC”共有( )个不同的非空子串。

  • A.3
  • B.12
  • C.36
  • D.45

20. 仿生学的问世开辟了独特的科学技术发展道路。人们研究生物体的结构、功能和工作原理,并将这些原理移植于新兴的工程技术中。以下关于仿生学的叙述,错误的是( )

  • A.由研究蝙蝠,发明雷达
  • B.由研究蜘蛛网,发明因特网
  • C.由研究海豚,发明声纳
  • D.由研究电鱼,发明伏特电池

二、问题求解(共2题,每题5分,共计10分)

1. 如果平面上任取n个整点(横纵坐标都是整数),其中一定存在两个点,它们连线的中点也是整点,那么n至少是__________。
答案:5

2. 在NOI期间,主办单位为了欢迎来自各国的选手,举行了盛大的晚宴。在第十八桌,有5名大陆选手和5名港澳选手共同进膳。为了增进交流,他们决定相隔就坐,即每个大陆选手左右旁都是港澳选手,每个港澳选手左右旁都是大陆选手。那么,这一桌一共有_______种不同的就坐方案。注:如果在两个方案中,每个选手左右相邻的选手相同,则视为同一种方案。
答案:2880

三、阅读程序写结果。(共4题,每题8分,共计32分)

1.

var 
a,b,c,d,e,ans: integer; 
begin readln(a,b,c); 
d:=a+b; 
e:=b+c; 
ans:=d+e; 
writeln(ans); 
end. 

输入:1 2 5
输出:10

2.

var n,i,ans: integer; 
begin readln(n); 
ans:= 0; 
for i:= 1 to n do 
if (n mod i)= 0 then 
ans := ans+1; 
writeln(ans); 
end. 

输入:18 
输出:6

3.

var 
n,i,j: integer; 
a: array[1..100,1..100] of integer; 
function solve(x,y:integer): integer; 
var u,v: integer; 
begin if x = n then 
begin solve:= a[x,y]; 
exit; 
end; 
u:= solve(x+1,y); 
v:= solve(x+1,y+1); 
if u>v then 
solve := a[x,y] + u 
else 
solve := a[x,y] + v; 
end; 

begin 
read(n); 
for i:= 1 to n do 
for j:=1 to i do 
read(a[i,j]); 
writeln(solve(1,1)); 
end. 

输入: 
5 
2 
-1 4 
2 -1 -2 
-1 6 4 0 
3 2 -1 5 8 
输出:14

4.

var 
n,ans,i,j: integer; 
S: string; 
Function get(i: integer) : char; 
begin 
if i<= n then 
get:= s[i] 
else get:=s[i-n]; 
end; 

begin readln(s); 
n:= length (s); 
ans:= 1; 
for i:= 2 to n do 
begin for j:=0 to n-1 do 
if get(i+j) < get(ans+j) then 
begin ans:=i; 
break; 
end 
else if get(i+j)> get(ans+j) then 
break; 
end; 
for j:=0 to n-1 do 
write(get(ans+j)); 
writeln; 
end. 

输入:CBBADADA
输出:ACBBADAD

四、完善程序(前2空每空2分,后8空每空3分,共计28分)

1. (坐标统计)输入n个整点在平面上的坐标。对于每个点,可以控制所有位于它左下方的点(即x、y坐标都比它小),它可以控制的点的数目称为“战斗力”。依次输出每个点的战斗力,最后输出战斗力最高的点的编号(如果若干个点的战斗力并列最高,输出其中最大的编号)。

Const 
SIZE= 100; 
Var 
X,y,f:array[1..SIZE] of integer; 
N,i,j,max_f,ans: integer; 

Begin readln(n); 
For i:=1 to n do 
Readln (x[i],y[i]]); 
Max_f :=0; 
For i:=1 to n do 
Begin f[i]:= 0 ; 
For j:= 1 to n do 
Begin if(x[j]< x[i]) and ( y[j]<y[i] ) then 
f[i]:=f[i]+1 ; 
End; 
If (i>1)and (f[i]>f[i-1]) then 
Begin max_f:= f[i]; 
ans:=max_f ; 
End; 
End; 
For i:= 1 to n do 
Writeln(f[i]); 
Writeln(ans); 
End.

2. (排列数)输入两个正整数n,m(1<n<20,1<m<n),在1~n中任取m个数,按字典序从小到大输出所有这样的排列。例如:

输入:3 2 
输出:1 2 
1 3 
2 1 
2 3 
3 1 
3 2 

const 
SIZE:=25; 
var 
used: array[1.. SIZE] of boolean; 
data: array[1.. SIZE] or integer; 
n,m,i,j,k : integer; 
flag: boolean; 
begin readln(n,m); 
fillchar (used,sizeof(used), false); 
for i:=1 to m do 
begin data[i]:=i; 
used[i]:= true; 
end; 
flag:= true; 
While flag do 
begin for i:= 1 to m-1 do write(data[i],’ ‘); 
writeln(data[m]); 
flag:= false ; 
for i:=m downto 1 do 
begin used[data[i]]:=flase ; 
for j:= data[i]+1 to n do if used[j]= false then 
begin used[j]:= true; 
data[i]:= j ; 
flag:= true; 
Break; 
end; 
if flag then 
begin for k:=i+1 to m do 
for j:=1 to n do if used[j]= false then 
begin data[k]:= j; 
used[j]:= true; 
Break; 
end; 
break ; 
end; 
end; 
end; 
end.