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

一、选择题(15*2=30分)

1. 下列著名人物中,没有在计算机相关技术和理论领域作出过杰出贡献的人是( )。

  • A.王选
  • B.图灵
  • C.冯•诺依曼
  • D.陈景润

2. “国际信息学奥林匹克竞赛”的英文缩写是( )。

  • A.GXA
  • B.NOI
  • C.IOI
  • D.NOIP

3. 味子利用WORD软件在写作文,当她一开始启动WORD,然后输入文字“信息学奥林匹克竞赛”,在系统没有自动存盘和手工保存这个WORD文件之前,“信息学奥林匹克竞赛”这几个文字存在于该计算机系统的( )中。

  • A.ROM
  • B.RAM
  • C.光盘
  • D.硬盘

4. 在计算机内部,本质上只存在高电压和低电压,一般高电压用1表示,低电压用0表示(注意,某个1或者0表示的区间长度必须是相同的),下面是味子用示波器测得的某次电压波动曲线,如果用一般二进制数表示,则应该是( )。

  • A.010011010
  • B.0101010
  • C.1010101
  • D.101100101

5. 在计算机内部,所有的计算都是以二进制方式进行的。比如,我们要计算机12+7=?,那么计算机首先会将12和7转化成二进制数,然后进行二进制加法运算,那么12加7的计算结果用二进制表示是( )。

  • A.1100
  • B.1111
  • C.10011
  • D.11001

6. 为了有效地预防计算机感染计算机病毒,下列措施中,正确的是( )。

  • A.安装病毒防火墙并开启所有实时监视功能,同时注意及时升级
  • B.保护计算机所在房间的干净整洁即可。
  • C.只要安装了杀毒软件后就万事大吉了。
  • D.定期让专业人员打开主机机箱,然后进行除尘处理即可。

7. 下列软件中,不是操作系统的是( )。

  • A.Windows XP
  • B.OS/2
  • C.Linux
  • D.Flash

8. 应用软件可以帮助我们完成各种具体工作的任务,因此,现实中我们总需要根据任务来选择合适的应用软件,现在有下列应用软件: ①Microsoft Word ② Micromedia Flash ③ Microsoft Frontpage ④ 金山画王 ⑤ 金山影霸 味子想从中选择部分软件依次来完成有关画画、动画制作、网页制作和写作文这4个任务,你认为按照上述任务的顺序,应用软件的选择依次应该为( )

  • A.②①④③
  • B.④②③①
  • C.④②①③
  • D.④②①⑤

9. 一般我们可以通过电子邮件中的附件来向朋友发送一些邮件正文以外的资料,但今天味子在发送邮件时系统却提示“对不起,您的附件太大,系统无法发送!”。味子今天想把一个word文件、一个ppt文件和2张照片发给朋友,为了解决上面出现的问题,下列方法中,味子可以尝试的最合适方法是( )。

  • A.把上述所有文件添加到邮件标题中发送
  • B.反PPT文件、照片文件全部“插入”到WORD文件中,然后发送word文件。
  • C.把上述文件添加到邮件正文中发送
  • D.把所有需要发送的文件用压缩软件压缩成一个文件,然后作为附件发送。

10. 味子的爸爸刚刚给味子购买了一台联想ThinkPad笔记本电脑(没有安装任何软件),味子想在这台计算机上安装一个pascal编程系统,下列方法中,最合适的是( )。

  • A.先安装windows2000操作系统,然后安装pascal编程系统。
  • B.先插上网线上网,然后下载pascal编程系统并安装。
  • C.先安装Microsoft Word,然后安装Pascal编程系统。
  • D.先插上网线上网,然后依次下载windows2000操作系统并安装,最后安装Pascal编程系统。

11. 下列图中,能用“一笔画”画出(经过每条边一次且只经过一次)的图是( )。

  • A.图1
  • B.图4
  • C.图2
  • D.图3

12. 如果一棵二叉树的前序遍历序列和后序遍历序列正好相反,那么该二叉树必定具有的特征是( )。

  • A.所有结点都只有儿子
  • B.只有一个叶子结点
  • C.任意一棵二叉树
  • D.所有结点都只有右儿子

13. 已知队列{13,2,11,34,41,77,5,7,18,26,15},第一个进入队形的元素是13,后面的元素按照上述顺序依次入队然后依次出队,那么第5个出队的元素是( )。

  • A.13
  • B.5
  • C.77
  • D.41

14. 下列关于堆栈的操作中,不属于堆栈基本操作的描述是( )。

  • A.将堆栈置空
  • B.删除栈顶元素
  • C.删除栈底元素
  • D.判断堆栈是否为空

15. 下列不属于PASCAL语言特点的是( )。

  • A.PASCAL程序的运行速度是所有程序中运行速度最快的。
  • B.是一种结构化编程语言
  • C.可以使用的数据类型比较丰富
  • D.符合模块程序设计的要求

二、问题求解:(5+5=10分)

1. 有一堆火柴,一共有n根。现在让第一个人取走总数的一半多一根火柴,让第二个人在剩余的火柴中取走一半多一根火柴,以此类推,以后的参与者都取走前一次剩余的一半多一根,到第4个人来取时,他刚好把剩余的火柴全部取完。问初始时火柴总的数量n是多少?
答案:30

2. 假设时钟到了午夜12(注意时针和分针重叠在一起),现在让时钟继续运行,直到时钟到了凌晨4点整。那么在午夜12点到凌晨4点这段时间中,时针和分针共重叠多少次(包含开始的12点)?继续让时钟运行下去,直到再次到达中午12点,那么从午夜12到次日的中午12点,这个期间时针和分针一共重叠多少次?(包含一开始的12点和最后结束时刻的12点)?
答案:4 12

三、阅读程序并写出运行结果(8+8+8+8=32分)

1.

Program test1;
   Var a,b,c,d:integer;
   Begin
A:=1234;
B:=4321;
C:=a div 100;
D:=b mod 100;
Writeln(c+d);
End.
输出:33

2.

program test2;
   var  a:array[1..8,1..8]of integer;
   i,j,sum:integer;
begin
   for i:=1 to 8 do 
begin
for j:=1 to 8 do read(a[i,j]);
readln;
end;
sum:=0;
for i:=1 to 8 do
for j:=1 to 8 do
if (i=j) or (i+j=9) then sum:=sum+a[i,j];
writeln(sum);
end.
输入:2 3 4 5 6 1 0 9
      4 5 6 2 1 4 9 4
      9 8 7 6 4 5 2 3
     5 6 7 8 2 1 2 3
      8 9 0 0 3 4 5 2 
      9 8 5 6 7 8 9 0
      2 3 2 2 2 1 2 3
      6 6 6 6 6 6 6 6 
输出:80

3.

program test3;
  function a(m,n:integer):integer;
  var x:integer;
  begin
    if m=0 then x:=n+1
            else if n=0 then x:=a(m-1,1)
                         else x:=a(m-1,a(m,n-1));
    a:=x;
  end;
begin{main}
  writeln(a(1,2));
end.
输出:4

4.

【知识链接】字符串变量用标识符string说明,string类型的每个变量最多能保存255个字符。
program test4;
var s:array[1..20] of string;{每个s[i]都能保存最多255个字符}
t:string;
i,j,k,n:integer;
begin
readln(n);
for i:=1 to n do
begin
read(k);str(k,s[i]);{str()函数能把k中的整数转化成字符串并保存到字符串下标变量s[i]中}
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if s[i]+s[j]<s[j]+s[i] then
  begin
t:=s[i];s[i]:=s[j];s[j]:=t;
end;
for i:=1 to n do write(s[i]);
end.
输入:6
     7 5 2 434 365 343
输出:754343653432

四、完善程序:(共28分)

1. 【味子的数学棋盘】(3+3+3+3=12分)
味子就读的小学目前正在教授数学棋盘的使用,所谓数学棋盘,当然是由一格格的方格组成的棋盘,每个方格内有一个1位非负整数(0—9)。味子要做的事情就是在棋盘的某行或者某列上(不能是斜的选取)选取固定数量的数字,然后把这些数字加起来,要求这些数字之和是所方方案中最大的。
味子是个聪明的孩子,她正在学习编程,于是她把问题简化,简化后的问题如下:
(1)只有一行方格,每个方格内只有一个非负整数(所有数字都在0—9之间)。
(2)现在有一个固定长度的尺子,尺子长度为k.。
(3)味子想用这个尺子去套取这行中的k个数字,使得这些数字之和是所有k个数字之和中最大的。

以下是味子套取4个数字(尺子长度为4)的三种方案,显然方案2、3是最佳方案。

味子想试着编写一个程序来解决这个问题,请你帮助味子完成下面的程序。程序首先会读入n和k,其中n表示总共的格子数,k表示尺子的长度,程序最后会输出求得的最大的k个数字之和。

输入样例:
10 4
1 2 3 4 9 8 0 7 6 5
输出样例:
24

Program test5;
Var a:array[1..100]of integer;
Max,n,i,j,s,k:integer;
Begin
Readln(n,k);
For i:=1 to n do read( a[i] );
S:=0;max:=0;
For i:=1 to n-k+1 do
Begin
S:=0;
For j:=i to k   do s:=s+ a[i] ;
If s>max  then max:= s ;
End;
Write(max);
End.

2. 【味子圣诞礼物】(3+3+3+4+3=16分)
圣诞节到了,妈妈在味子的圣诞树上挂满了礼物(一共有n个),妈妈挂礼物的方法很独特,那就是每个礼物都是挂在某个礼物的下面(最上面的礼物除外),这样,所有的礼物挂在圣诞树上就形成了一个树型结构(如下图所示)。
味子当然很高兴,可以高兴之余,味子又担心了,因为妈妈告诉她“我给生日礼物都编了号,你要从上往下逐层往下数,最后要告诉妈妈,你按照这个顺序数礼物,得到的礼物的编号序列是什么。如果你答对了,今年春节我会在圣诞树上给你挂更多的礼物,否则,春节的礼物就会比圣诞节礼物要少。”
可是味子很聪明,她略加思索就说出了所有礼物从上下排序的顺序是如下序列:
1 2 3 4 5 9 11 12 6 7 8 10 13
但味子不满足于现在的成绩,她想到了用程序来解决这个问题的所有情况。就是告诉程序一共有多少礼物,以及礼物挂在圣诞树上的顺序,程序应能输出从上往下逐层(每层中的礼物从左到右排列)排列的结果。
味子的程序首先能读入一个整数n,表示所有圣诞礼物的总数,然后能读入n行(该n行数据表示礼物挂在圣诞树上的位置顺序),每行的第一个编号表示某个礼物的本身编号i,该行后面的编号依次表示挂在礼物i下面的其他礼物,(按从左到右的顺序给出)。比如,输入样例第二行中的“1 2 3 4 5 0 ”,2、3、4、5分别表示挂在礼物1下面的其他礼物编号分别是2、3、4、5,最后的表示挂在礼物1下面没有其他礼物了。
味子编写了以下程序来达到上面的目的,该程序运行后能用一行输出数据来表示礼物从上入下逐层排列的顺序序列,每个编号之间用一个空格分隔,请帮助味子完成程序。
输入样例:
13
1 2 3 4 5 0
2 9 0
3 11 12 0
4 0
5 6 7 8 0
6 0
7 0
8 0
9 10 0
10 0
11 0
12 13 0
13 0
输出样例:1 2 3 4 5 9 11 12 6 7 8 10 13

program test6;
var first,tail,i,j,n:interer;
a:array[1..20,1..20] of integer;
list:array[1..1000]of integer;
begin
for i:=1 to 20 do
   for j:=1 to 20 do a[i,j]:=0;
reaaln(  n );
for i:=1 to n do
begin
j:=1;
read(a[i,j]);
while a[i,j]<>0 do 
begin  inc(j)  ;readln(a[i,j]);end;
readln;
end;
first:=1;tail:=1; list[1]:=a[1,1];
while first<=tail do
begin
j:= list[tail] ;i:=list[first];
while  a[i,j]<>0 do
begin
     inc(tail) ;list[tail];=a[i,j];j:=j+1;
end;
first:=first+1;
end;
for i:=1 to n do write(  list[i] ,’ ‘);
end.