2004年第十届全国青少年信息学奥林匹克联赛初赛试题
(普及组 Pascal语言 二小时完成)
一、选择一个正确答案代码(A/B/C/D/E)填入每题的挂号内
1.美籍匈牙利数学家 冯·诺依曼 对计算机科学发展所做出的贡献是:(
  A、提出理想计算机数学模型,成为计算机科学理论基础
  B、是世界上第一个编写计算机程序的人
  C、提出存储程序工作原理,并设计出第一台具有存储程序功能的计算机EDVAC
  D、采用集成电路作为计算机的主要功能部件
  E、指出计算机性能将以每两年翻一番的速度向前发展
2.下列哪个不是CPU(中央处理单元)( 
  AIntel Itanium
  BDDR SDRAM
  CAMD Athlon64
  DAMD Opteron
  EIBM Power 5
3、下列网络中常用的名字缩写对应的中文解释错误的是(
  AWWW(World Wide Web):万维网
  BURLUinform Resource Locator):统一资源定位器
  CHTTPHypertext Transfer Protocol):超文本传输协议
  DFTP  (File Transfer Protocol):快速传输协议
  ETCP Transfer Control Protocol):传输控制协议
4、下面哪个部件对于个人桌面电脑的正常运行不是必需的(
  Acpu
  B、显卡(图形卡)
  C、光驱
  D、主板
  E、内存
5、下列哪个软件属于操作系统软件(
  AMicrosoft Word
  B、金山词霸
  CFoxmail
  DWinRAR
  ERed Hat Linux
6、下列哪个不是计算机存储设备( )、
  A、文件管理器
  B、内存
  C、高速缓存
  D、硬盘
  EU
7、下列说法中错误的是(
  ACPU的基本功能就是执行指令
  BCPU访问内存的速度快于访问高速缓存的速度
  CCPU的主频是指CPU1秒内完成的指令周期数
  D、在一台计算机内部,一个内存地址编码对应唯一的一个内存单元
  E、数据中线的宽度决定了一次传递数据量的大小
8、彩显示器所显示的五彩斑斓的彩,是由红,蓝和( )混合而成的
  A、紫    B、白  C、黑  D、绿  E、橙
9、用静电吸附磨粉后转移到纸张上,是那种输出设备的工作方式(
  A、针式打印机
  B、喷墨打印机
  C、激光打印机
  D、笔式绘图仪
  E、喷墨绘图仪
10、一台计算机如果要利用电话线上网,就必须配置能够对数字信号和模拟信号进行互相转换的设备,这种设备是(
  A、调制解调器
  B、路由器
  C、网卡
  D、网关
  E、网桥
11、下列哪个不是数据库软件的名称(
  AMYSQL
  BSQL Sever
  COracle
  D、金山影霸
EFoxpro
12、下列哪个程序设计语言不支持面向对象的程序设计方法(
  AC++
  BObject Pascal
  CC
  DSmalltalk
  EJava
13、由3a1b2c构成的所有字符串中,包含子串“abc”的共有( )个
  A20  B8  C16  D12  E24
14、某车站呈狭长形,宽度只能容下一台车,并且只有一个出入口。已知某时该车站站台为空,从这一时刻开始出入记录为:“进出进进出进进进出出进出”。假设车辆入站的顺序为1,2,3……,则车辆出站的顺序为(
  A12345
  B12457
  C13546
  D13567
  E13657
15、二叉树T,已知其前序遍历序列为1 2 4 3 5 7 6,中序遍历序列为4 2 1 5 7 3 6,其后序遍历序列为
  A4 2 5 7 6 3 1
  B4 2 7 5 6 3 1
  C4 2 7 5 3 6 1
  D4 7 2 3 5 6 1
  E4 5 2 6 3 7 1
16、满二叉树的叶节点为N,则它的节点总数为(
  AN
  B2N
  C2N-1
  D2N+1
  E2^N-1
17、十进制2004等于八进制数(
  A3077
  B3724
  C2766
  D4002
  E3755
18、(200410 +3216的结果是(
  A、(203610
  B、(205416
  C、(400610
  D、(1000000001102
  E、(203616
19、在下图,从端点( )出发存在一条路径可以遍历图中的每条边一次,而且仅遍历一次
20、某大学计算机专业的必修课及期先修课程如下表所示:
课程
代号
C0
C1
C2
C3
C4
C5
C6
C7
课程
名称
高等
数学
程序
设计
语言
离散
数学
数据
结构
编译
技术
操作
系统
普通
物理
计算
机原
先修
课程
C0,C1
C1,C2
C3
C3,C7
C0
C6
请判断下列课程安排哪个是不合理的(
  AC0,C6,C7,C1,C2,C3,C4,C5
  Bpascal语言面向对象吗、C0,C1,C2,C3,C4,C6,C7,C5
  CC0,C1,C6,C7,C2,C3,C4,C5
  DC0,C1,C6,C7,C5,C2,C3,C4
  EC0,C1,C2,C3,C6,C7,C5,C4
二、问题求解(5分一题,共10分)
1、一个家具公司生产桌子和椅子。现有113个单位的木材。每张桌子要使用20个单位的木材,售价是30元;每张椅子要用16个单位的木材,售价是20元。使用已有的木材生产桌椅(不一定要用光木材)做多可以买_____元钱。
275名儿童去游乐场玩。他们可以骑旋转木马,坐滑行轨道,乘宇宙飞船。已知其中20人这三种东西都玩过,55人至少玩过其中两种。若每玩一样的费用为5元,游乐场总共收入700,可知有_____名儿童没有玩过其中任何一种。
三、阅读程序(8’一题,共32’
1-------------------------------------------
program program1;
Var
  a,b,c,d,e:integer;
  begin
    a:=79 ; b:=34; c:=57;d:=0 ; e:=-1;
    if (a<c) or (b>c) then d:=d+e
    else if (d+10<e) then d:=e+10
    else d:=e-a;
    writeln(d);
  end.
输出:_____________________
2-------------------------------------------
program program2;
var
  i,j:integer;
  str1,str2:string;
begin
  str1:='pig-is-stupid';
  str2:='clever';
  str1[1]:='d'; str1[2]:='o';
  i:=8;
  for j:=1 to 6 do begin
      str1[i]:=str2[j];inc(i);
  end;
  writeln(str1);
end.
输出:_____________________
3-------------------------------------------
program program3;
var
  u:array[0..3] of integer;
  a,b,c,x,y,z:integer;
begin
  read(u[0],u[1],u[2],u[3]);
  a:=u[0]+u[1]+u[2]+u[3]-5;
  b:=u[0]*(u[1]-u[2] div u[3]+8);
  c:=u[0]*u[1] div u[2] * u[3];
  x:=(a+b+2)*3-u[(c+3) mod 4];
  y:=(c*100-13) div a div (u[b mod 3]*5);
  if ((x+y) mod 2=0) then z:=(a+b+c+x+y) div 2;
  z:=(a+b+c-x-y)*2;
  writeln(x+y-z);
  read(a);
end.
输出:_____________________
4-------------------------------------------
program program4              ;
var c:array[1..2] of string[200];
    s:array[1..10] of integer;
    m,n,i:integer  ;
procedure numara;
var cod:boolean;
  i,j,nr:integer;
begin
  for j:=1 to n do begin
        nr:=0;cod:=true;
        for i:=1 to m do
          if c[i,j]='1' then begin
                if not cod then begin
                    cod:=true;inc(s[nr]);nr:=0;
                end
          end
          else begin
                if  cod then begin
                    nr:=1;cod:=false ;
                end
                else inc(nr);
          end;
          if not cod then inc(s[nr]);
        end;