| 网站首页 | 学校介绍 | 德育工作 | 家长学校 | 教学教研 | 信息技术 | 书香飘逸 | 资源下载 | 靓图欣赏 | 雁过留声 | 语文 | 
最新公告:     已所不欲,勿施于人,已之所欲,施之于人!  [adminit  2007年4月19日]            生命如流水,只有在他的急流与奔向前去的时候,才美丽,才有意义。 ——张闻天  [旗峰中学  2006年7月8日]            不要让忧愁压在你的心头,也不要让犹豫缠住你的脚步,满天的阴霾终会被风吹散,而晴朗的天空就是你无比辉煌的前程。只有在遭受痛苦经历时,仍然能笑,仍然能乐观的生活的人,才称得起是真正坚强的人。生活是一面镜子,你对它笑,他就对你笑;你对它哭,他也对你哭。  [旗峰中学  2006年7月8日]            勤学如春起之苗,不见其增,日有所长;辍学如磨刀之石,不见其损,日有所亏。  [旗峰中学  2005年11月3日]            志不强者智不达,言不信者行不果。  [旗峰中学  2005年11月3日]        
您现在的位置: 旗峰中学校园网 >> 信息技术 >> 信息奥赛 >> 奥赛题库 >> 文章正文
专题栏目
更多内容
最新推荐 更多内容
相关文章
关于举办信息技术新课程
第十四讲 循环语句
信息化建设“金”字工程
有多少健康可以重来
第十一届青少年信息学联
初赛综合练习题
计算机基础知识试题详解
基础知识练习题(二)
基础知识练习题(一)
初赛模拟试题(七)
更多内容
[组图]初赛模拟试题(三)         
初赛模拟试题(三)
作者:admin 文章来源:本站原创 点击数: 更新时间:2005-9-30 13:32:19

一、填空题(共20题,每题1.5分,共计30分。每题有5个备选答案,前10个题为单选题(即每题有且只有一个正确答案,选对得分),后10题为不定项选择题(即每题有1至5个正确答案,只有全部选对才得分)。
1.微型计算机的性能主要取决于( )。
A) 内存 
B) 主板 
C) 中央处理器 
D) 硬盘 
E) 显示器
2.能将高级语言程序转换为目标程序的是( ).
A)调试程序 B)解释程序C)编辑程序 D)编译程序E)连接程序
3.A=11001010B,B=00001111B,C=01011100B,则A∨B∧C=( )
A)01011110 B) 00001111
C)01011100 D) 11001110
E) 11001010
4.计算机设备,既是输入设备,又是输出设备的是( )。 
A)键盘 B)触摸屏 C)扫描仪 D)投影仪 E)数字化仪 
5.计算机病毒传染的必要条件是( ) 。
A) 在内存中运行病毒程序
B) 对磁盘进行读写操作
C) 在内存中运行含有病毒的可执行程序
D) 复制文件
E)删除文件
6.已知队列(13,2,11,34,4l,77,5,7,18,26,15),第一个进入队列的元素是13,则第五个出队列的元素是( )。 
A)5 B)41 C)77 D)13 E)18 
7.在使用E-mail前,需要对Outlook进行设置,其中ISP发送电子邮件的服务器称为( )服务器。
A)POP3 B)SMTP C)DNS D)FTP E)HTTP
8.对给定的整数序列(54,73,21,35,67,78,63,24,89)进行从小到大的排序时,采用快速排序的第一趟扫描的结果是( ).
A)(24,21,35,54,67, 78,63,73,89) 
B)(24,35,21,54,67, 78,63,73,89)
C)(24,21,35,54,67, 63,73,78,89)
D)(21,24,35,54,63, 67,73,78,89)
E)(24,21,35,54,67, 63,73,78,89)
9. 编号为1到13的纸牌顺时针排成一圈,有人从编号为1的牌从数字1开始顺时针数下去,1,2,3,……,一圈又一圈,问当数到数字n 
,所在的纸牌编号为多少?
A) n mod 13 B)1+(n-1) mod 13 C)(n+1) mod 13-1 D)(n+1) mod 13
E) (n-1) mod 13 
10.对下图进行广度优先拓朴排序得到的顶点序列正确的是( ).


A) 1,2,3,4,5,6    B) 1,3,2,4,5,6    C) 1,3,2,4,6,5    D) 1,2,3,4,6,5   E) 1,3,2,4,5,6
11.下列属于冯.诺依曼计算机模型的核心思想是( ).
A) 采用二进制表示数据和指令;
B) 采用”存储程序”工作方式
C) 计算机硬件有五大部件(运算器、控制器、存储器、输入和输出设备)
D) 结构化程序设计方法
E) 计算机软件只有系统软件
12.CPU访问内存的速度比访问下列哪个(些)存储设备要慢( )。   
A)寄存器 B)硬盘 C)软盘 D)高速缓存 E)光盘 
13.下列电子邮件地址,哪个(些)是正确的( )。 A)wang@hotmail.com
B)cai@jcc.pc.too1.rf.edu.jp
C)162.105.111. 22
D)ccf.edu.cn 
E) http://www.sina.com 
14.数字图像文件可以用下列哪个(些)软件来编辑( )。 
A)画笔(Paintbrush) B)记事簿(Notepad) C)Photoshop D)WmRAR E)MidiSoft 
15.下列哪个(些)软件不是操作系统软件的名字( )。 
A)Windows XP B)DOS C)Linux D)OS/2 E)Arch/Info 
16.下面关于算法的正确的说法是( )
A)算法必须有输出 
B)算法必须在计算机上用某种语言实现
C)算法不一定有输入 
D)算法必须在有限步执行后能结束
E)算法的每一步骤必须有确切的定义
17.下列逻辑运算正确的是( )。
A) A·(A + B )= A
B) A +(A·B)= A  
C) A·(B + C )= A·B + A·C 
D)A +(B·C)=(A + B)·(A + C)
E) A+1=A
18.下列关于排序说法正确的是( ).
A) 插入排序、冒泡排序是稳定的
B) 选择排序的时间复杂性为O(n2)
C) 选择排序、希尔排序、快速排序、堆排序是不稳定的
D) 希尔排序、快速排序、堆排序的时间复杂性为O(nlog2n)
E) 快速排序是速度最快的排序
19.对于一个大小为3的栈,若输入队列为123456,则下列输出队列有可能的是( )。
A) 123456 B)654321 C)432165 D)431256 E)321654
20. 设有一个含有13个元素的Hash表(0~12),Hash函数是:H(key)=key % 13,其中% 是求余数运算。用二次探查法解决冲突,则对于序列(8、31、20、33、18、53、27),则下列说法正确的是( ) 。
A) 27在1号格子中
B) 33在6号格子中 
C) 31在5号格子中
D) 20在7号格子中
E) 18在4号格子中

二.问题求解(5分*2=10分)
1.某年级学生共选修6门课程,期末考试前,必须提前将这6门课程考完,每人每天只在下午至多考一门课程,设6门课程分别为c1,c2,c3,c4,c5,c6,S(ci)为学习ci的学生集合。已知S(ci)∩S(c6)≠Ø,i=l,2,...,5,S(ci)∩S(ci+1)≠Ø,i=1,2,3,4,S(c5)∩S(c1)≠Ø ,问至少安排    天才能考完这6门课程。
2.设有一棵k叉树,其中只有度为0和k两种结点,设n0,nk分别表示度为0和度为k的结点个数,试求出n0和nk之间的关系(n0=数学表达式,数学表达式仅含nk、k和数字)。

三.阅读程序写出正确的程序运行结果(4 *8分=32分)

1 program t1;
var  n,k,s:longint;
begin
 readln(n);
  k:=0;
  s:=1;
  while s <= n do
  begin
    k:=k+1;
    n:=n-s;
    s:=s+6*k
  end;
  writeln (k)
end.
输入:1000000 
输出:
2. program t2;
var x,y1,y2,y3:integer;
 begin
  readln(x);
  y1:=0;y2:=1;y3:=1;
  while y2<=x do
    begin
      y1:=y1+1;y3:=y3+2;y2:=y2+y3;
    end;
  writeln(y1);
end.
输人:x=400
输出:
3. program  t3;
  var m,n,i,j:integer;
    p,w,a,b:array[0..19] of integer;
  begin
   read(n); m:= 0;
   for i:= 0 to n-1 do
   begin read (p[i]); b[i] :=1; end;
   for i := 0 to n-1 do
    begin
     if (i>0) then
     a[m]:= p[i]-p[i-1]
     else 
     a[m]:= p[i];
     m:= m+1:
     while ((m>1) and (a[rn-1]=0)) do
     begin m ;= m-1; b[m] := l; end;
     if (m>0) then
      w[i]:=b[m-1]
     else
      w[i]:=b[0];
      a[m-1] := a[m-1]-1;
      for j := 0 to m-1 do b[j] ;= b[j]+1;
      while ((m>1) and (a[m-1]=0)) do
      begin
       m := m-1; b[m] :=1;
      end;
    end;
    for i := 0 to n-1 do
     begin
      write(w[i]); write(' ');
     end;
    writeln(' ');
end. 
输入:4
  4 6 6 6
输出:  
4. program t4;
  const
   u:array[1..4] of integer = (0,5,3,1);
   v:array[1..4] 0f integer = (0,7,6,5);
  var a,b,c,d,e,f,x,y,z: integer; 
  begin
   read (a,b,c,d,e,f);
   z := f + e + d + (c+3) div 4; y := 5 * d + u [ c mod 4 ];
   if (b>y) then
    begin
     z := z+ (b-y+8) div 9;
     x := ((b-y+8) div 9 * 9- (b-y)) * 4+11*e+V[c mod 4];
     end
    else
     x := (y-b) *4+11*e+v[c mod 4];
    if (a>x) then
     z := z + (a-x+35) div 36;
   writeln(z);
  end.
输入: 4 7 9 20 56 47
输出: 
四.完善程序题(2分+3*4分+2分+4*3分=28分)
1.问题描述:工厂在每天的生产中,需要一定数量的零件,同时也可以知道每天生产
一个零件的生产单价。在N天的生产中,当天生产的零件可以满足当天的需要,若当天用不完,
可以放到下一天去使用,但要收取每个零件的保管费,不同的天收取的费用也不相同。
    问题求解:求得一个N天的生产计划(即N天中每天应生产零件个数),使总的费用最少。
    输入:N(天数    N<=29)   
    每天的需求量    (N个整数)
    每天生产零件的单价(N个整数)
    每天保管零件的单价(N个整数)
    输出:每天的生产零件个数(N个整数)
  例如:当N=3时,其需要与费用如下:
       ┌────┬────┬────┬────┐
       │        │ 第一天 │ 第二天 │ 第三天 │
       ├────┼────┼────┼────┤
       │ 需要量 │   25   │   15   │   30   │
       ├────┼────┼────┼────┤
       │生产单价│   20   │   30   │   32   │
       ├────┼────┼────┼────┤
       │保管单价│    5   │   10   │    0   │
       └────┴────┴────┴────┘
生产计划的安排可以有许多方案,如下面的三种:
       ┌────┬────┬────┬───────────┐
       │ 第一天 │ 第二天 │ 第三天 │  总的费用            │
       ├────┼────┼────┼───────────┤
       │   25   │   15   │   30   │25*20+15*30+30*32=1910│
       ├────┼────┼────┼───────────┤
       │   40   │    0   │   30   │40*20+15*5+30*32=1835 │
       ├────┼────┼────┼───────────┤
       │   70   │    0   │    0   │70*20+45*5+30*10=1925 │
       └────┴────┴────┴───────────┘
程序说明:
  bln]:存放每天的需求量
  cln]:每天生产零件的单价
  d[n]:每天保管零件的单价
  e[n]:生产计划
程序:
program exp5;
var
i,j,n,yu,jO,j1,s  :integer;
b, c, d, e        : array[O..30] of integer;
begin
  readln(n);
  for i:=1 to n do readln(b[i] ,c[i] ,d[i]);
  for i:=1 to n do e[i]:=0;
____(1)____:=10000;    c[n+2]:=0;    b[n+1]:=0;    jO:=1;
while (jO<=n) do
   begin
     yu:=c[jO];    j1:=jO;    s:=b[jO];
     while ____(2)____  do
      begin
         ____(3)____    j1:=j1+1;s:=s+b[j1];
      end;
     ____(4)____  j0:=j1+1:
  end;
for i:=1 to n do write(e[I]:4);
readln;
end.
2. 问题描述]
将一个含有运算符为:(、)、+、-、*、/、^(乘幂运算)、~(求负运算)的中缀表达式,
如:((1+2)*5)^2-(3+5)/2转化为后缀表达式,如:12+5*2^35+2/-.

[解题思路]将中缀表达式转化为后缀表达式,首先规定运算符的优先数如下:
┌───┬───┬───┬─────┬──────┬───┬───┐
│运算符│    ( │    ) │    +,- │    *  ,/  │   ~  │   ~  │
├───┼───┼───┼─────┼──────┼───┼───┤
│优先数│    0 │    1 │    2     │    3       │   4  │   5  │
└───┴───┴───┴─────┴──────┴───┴───┘
1.若输入是运算量,则将该运算量输出;

2.若是左括号“(”,则将该符号的优先数压入设置的运算符堆栈e[p]中去;

3.输入运算符优先数是2,3,4,5时,如果栈空,则将运算符的优先数进栈。如果栈不空,
则将它与栈顶元素进行比较,倘若优先数大于栈顶元素的优先数,则进栈;小于顶元的,则
顶元退栈并输出该运算符,然后再继续比较,直到大于顶元或栈空时进栈;

4.若是右括号“)”,同时栈顶元又为左括号“(”,则栈顶元退栈,并抹去右括号“)”.
否则转3处理;

5.输入完而栈非空,则将栈内内容逐一退栈并输出。所有输出的结果就为后缀表达式。

过程中用到的相关数据结构如下:
type arraydata = array[1..100] of string[20];
const fh:array[1..8] of string[1]
        =('(',')','+','-','*','/','~','^');
      b:array[1..8] of byte =(0,1,2,2,3,3,4,5);
var d: arraydata; {存储运算量及运算符号}
    i,j,m,k: byte;
[过程程序]
procedure hzbds(var d: arraydata; var m: byte );
  var: array [ 1.. 100 ] of byte;
     i,p,k ,bi:byte;
     bl: boolean;
  begin
    p:=O;k:=1;bj:=0;
    while k<=m do
    begin
      if  d[k]=’(‘ then
      begin
        p:=p+1;e[p]:=1
      end
      else begin
           for i:=2 to 8 do
           if ___(1)___ then
           begin
             b1:= true;
             repeat
               if ___(2)___ then
               begin
                 p:= p+1 ;e[p]:=i;bj:= 1 ;b1:= false
               end
               else if ____(3)___ then
                 if e[p] < >1 then
                 begin
                   p:=p+1;e[p]:=i;bj:=1;b1:=false
                 end
                 else if d[k] < >')' then
                   begin
                     p:=p+1;e[p]:=i;bj:=1;b1:=false
                   end
                   else begin
                      ___(4)___;bj:= 1 ;b1:= false;
                        end
                 else begin
                        write(fh[e[p]] ,' ') ;p:=p-1
                      end;
             until b1 = false;
           end
           if ___(5)___ then write(d[k] ,' ') else bj:=0;
           end;
       k:=k+1
    end
    b1:= true;
    repeat
      if p=0 then b1:= false
      else begin
         write(fh[e[p]],’’);p:=p-1;
           end
    until b1 = false;
    writeln;
  end;
  

20041初赛模拟题参考答案
一.选择题
   1-10:CDDBB BBBBC
11.ABC  12. AD 13.AB 14.AC 15.E 16.ABCDE        17.ABCD 18.ABCD 19.AE 20. BCDE
二.1.4
    2.(k-1)nk+1
三.1.100
 2.20
 3.1  1  2  4
 4.126
四.1.(1)c[n+1]
  (2)yu+d[j0] < c[j1+1]
  (3)yu:=yu+d[j1]
  (4)e[j0]:=s
 2.(1)d[k]=fh[I]
   (2)p=0
   (3)b[e[p]] < b[I]
   (4)p:=p-1
   (5)bj=0 或 bj <> 1

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 |