信息竞赛初赛3
文章作者:admin 发布日期:2013-11-11 文章录入:admin 点击:602


    2012年宁波市第27届中小学生程序设计竞赛 小学组 初赛试题

    宁波市第27届中小学生程序设计竞赛

    小学组 初赛试题

    ●●所有答案都必须写在答题纸上,写在试卷上无效●●

    一.选择题(每题2分,共30分。每小题只有唯一一个正确答案)

    1)乐乐在记事本里打了“Happy Birthday!”,则它们在计算机内存储时采用的编码是:(   )。

    A)区位码        B)ASCII码         C)字形码                       D)条形码

     

    2)乐乐经常听MP3,由此他也学到了一些有关MP3的知识。下列有关MP3的信息中不正确的是:(   )。

    A)表达同一首乐曲时,MP3格式的文件大小比 WAVE 格式要小得多 。

    B)MP3 声音是一种声音数字化之后经过压缩和编码9万彩票处理得到的声音格式。

    C)MP3 音乐所采用的声音数据压缩编码的标准是 JPEG 。

    D)MP3 之所以得以流行,是因为 MP3 声音的质量好,存储容量小,便于传输与存储。

     

    
123
3)下图所示是一个16×16点阵的发光LED字幕模块,假如使用1表示点发光、0表示点熄灭,那么这个发光LED字幕模块如果要在计算机内部完整地保存,在不进行压缩的前提下,最少需要的存储空间是:(   )。

    A)8Byte

    B)32Byte

    C)8KB

    D)32KB

     

     

    4)在计算机系统中,数值一律用补码来表示(存储)。 主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。那么在PASCAL系统中,-15用byte变量类型存储在计算机内,其二进制编码为:(   )。

    A)10001111        B)00001111        C)11110000        D)11110001

     

    5)十进制数2012.25用二进制数表示的结果是:(   )。

    A)(11111010101.1)2         B)(11111011100.01)2

    C)(1111001000.01)2         D)(11111001000.1)2

     

    6)乐乐在参加信息学奥赛的学习过程中,想在因特网上与他人进行即时讨论、交流,则下列工具中最适合的是:(   )。

    A)E-mail(电子邮件)   B)BBS(电子公告栏)  C)QQ                     D)博客(Weblog)

     

    7)下列不属于程序设计三种基本控制结构的是:(   )。

    A)顺序结构              B)递归结构            C)分支结构   D)循环结构

     

    8)胡老师发送电子邮件时失败了,根据下图所示信息,导致发送失败最有可能的原因是:(   )。

    A)主题错误         B)没有附件       C)收件人地址错误      D)邮件正文太少

    

     

    9)下面是乐乐对计算机的一些操作,能有效预防计算机病毒侵入的是:(   )。

    ①对下载的文件马上杀毒          ②打开QQ上陌生人信息中的链接补丁  

    ③及时升级杀毒软件和病毒防火墙   ④及时修复系统漏洞   ⑤随意打开来历不明的邮件

    A)①②③        B)①③④        C)②③⑤        D)③④⑤

     

    10)设A=B=D=true,C=false,以下逻辑运算表达式值为真的是:(   )。

    A)( not A and B ) or ( C and D )           B)( A or B or D ) and C

    C)not A and ( B or C or D )                D)( A and B and C ) or D

     

    11)下列文件扩展名为图片格式的是:(   )。

    A).doc                B).jpg             C).txt              D).swf

     

    12)高度为n的均衡二叉树是指:如果去掉最低层叶结点及相应的树枝,它的每一层都将达到“满”的状态,即除了最底下一层的节点,其它各层所有节点都有两个儿子。在这里,树高等于叶结点的最大深度(根结点的深度为0)。 下图为一棵深度为2的均衡二叉树。

    123

    如果某均衡的二叉树共有256个结点,则该树的树高为:(   )。

    A) 6               B) 7               C)8              D) 9

     

    13)已知队列中依次存在下列元素(13,2,11,34,41,77,5,7,18,26,15),若第一个出队列的元素是13,则第五个出队列的元素是:(   )。

    A) 5           B) 41          C) 77          D) 13

     

    14)在一次运动会上,某组 6 位选手的百米成绩 (单位:秒 ) 分别是 “ 14.1 、 12.3 、 11.2 、 14.8 、 13.9 、 11.0 ”,若使用冒泡排序法将该组的成绩按第一名、第二名、第三名……的顺序排序,则第一趟冒泡后的顺序是:(   )。

    A) 12.3   11.2    14.1   11.0    13.9   14.8

    B) 12.3   11.2    14.8   13.9    11.0   14.1

    C) 14.1   12.3    11.2   14.8    13.9   11.0

    D) 11.0   14.1   12.3  11.2   14.8  13.9

     

    15)上题中的六位选手成绩,通过纯粹的冒泡排序进行处理,则6个成绩排序结束,数据进行两两交换的总次数为(   )次。

    A) 8           B) 10         C)12         D)14

     

    二.问题求解(每题5分,共10分)

    1、乐乐邀请了班上15位同学参加他的生日派对,他买了一些棒棒糖分给同学吃,这些棒棒糖正好平分给15位同学。生日那天有3位同学临时有事没来。这样,这些棒棒糖就被12位同学平分了,因此这些同学比原来计划多分了1颗棒棒糖。问:乐乐买的棒棒糖数量是          颗。

     

    2、有一次,韩信带领1500名将士与楚王大将李锋交战。苦战一场,楚军不敌,败退回营,韩信部下也死伤将近五百人。在韩信整顿兵马返回大本营路上,忽有后军来报,说有楚军骑兵追来。韩信见来敌不足五百骑,便急速点兵迎敌。他命令将士3人一排,结果多出2名;接着命令将士5人一排,结果多出4名;他又命令将士7人一排,结果又多出5名。韩信马上向将士们宣布:我军至少有             名勇士,以众击寡,一定能打败敌人。

     

     

    三.阅读程序并写出运行结果(6+8+8+10=32分):

    1.program test1;

    var a,b,n:longint;

    begin

        readln(n);

        a:=0;

        b:=0;

        repeat

          a:=a+1;

          b:=b+a;

        until b>=n;

        writeln(a);

    end.

    输入1:

    5

    输出1:

                            

     

    输入2:

    50

    输出2:

                            

     

    2.program test2;

    var a,b,f:integer;

    function  gd(m,n:integer):integer;

      begin

        if n=0 then gd:=m

               else gd:=gd(n,m mod n);

      end;

    begin

      readln(a,b);

      f:=gd(a,b);

      writeln(f)

    end.

    输入1:

    6 27

    输出1:

                               

     

    输入2:

    56 72

    输出2:

                               

     

    3.program test3;

    var

      i,j,k,n:integer;

      a:array[1..100]of boolean;

    begin

      read(n);

      for i:=1 to n do a[i]:=true;

      for i:=1 to n do

        begin

          j:=i;

          while j<=n do

            begin

              a[j]:=not(a[j]);

              j:=j+i;

            end;

        end;

      for i:=1 to n do

        if a[i]=true then write('0',' ')

                     else write('1',' ');

    end.

    输入:8

    输出:                            

     

    4.program test4;

    var a,b:array[1..1000] of integer;

        i,j,t,h,n,e:integer;

    begin

      readln(n);

      for i:=1 to n do a[i]:=i;

      a[1]:=1;h:=2;t:=n;b[1]:=1;e:=n;

      for i:=2 to n do

        begin

          for j:=1 to 2 do

           begin

              if h=e+1 then

              begin

               e:=e-i+1;

                break

              end;

              inc(t);

              a[t]:=a[h];

              inc(h);

            end;

          b[a[h]]:=i;inc(h);

        end;

      for i:=1 to n do

        write(b[i],' ');

    end.

     

    输入:10

    输出:                         

     

    四.程序填空(前5空每空2分,后6空每空3分,共28分)

    神舟九号飞船(以下简称神九)(计划发射中)是一艘载人宇宙飞船,是中国“神舟”号系列飞船之一。担负此次任务的飞行乘组将由3名航天员组成。神舟九号是中国的第一个宇宙实验室项目921-2计划的组成部分。根据任务计划,神舟九号飞船将于今年6月至8月择机发射,与在轨运行的天宫一号目标飞行器进行载人交会对接。航天员将进入天宫一号工作和生活,开展相关空间科学实验,在完成预定任务后返回地面。对接过程中,将实现航天员手控交会对接,全面验证交会对接9万彩票。

    神舟九号主要有以下职能:

    第1,            用做货运飞船。用于搭载水,食物,推进剂和试验设备。

    第2,            用做紧急逃生飞船(救生船)。

    第3,            进行载人空间对接。

    神舟九号将搭载大量的物品进入太空进行空间实验,其中有两大问题需要同学们帮忙解决。

     

    1.【物品身份识别】

    为了提高装载物品的效率与准确性,科学家们采用了人工智能装载9万彩票——机器通过对物品上的条码扫描来确定物品的身份,然后来确定是否需要装载。为了确保读入条码的无误,在条码后面增设了一位作为校验位。通过一系列计算之后若计算结果与末尾校验位上的数值相同即为读入条码准确,反之重读。

    校验位计算公式方法如下:

    

    (1)代码位置序号

    代码位置序号是指包括校验码在内的,由右至左的顺序号(校验码的代码位置序号为1)。 

    (2)计算步骤

    校验码的计算步骤如下:

    a、从代码位置序号2开始,所有偶数位上的数字代码求和。

    b、将步骤a的和乘以3。

    c、从代码位置序号3开始,所有奇数位的数字代码求和。

    d、将步骤b与步骤c的结果相加。

    e、用大于或等于步骤d所得结果且为10的最小整数倍的数减去步骤d所得结果即为所求校验码的值。

    步 骤                         举 例 说 明(其中的x表示校验位数字)

    (1)自右向左顺序编号    位置序号 13               12               11               10               9  8  7  6  5  4  3  2  1

                             代码     9               7                8                7                5  6  4  0  0  1  4  5  X

    (2)从序号2开始求出偶数位数字之和                               5+1+0+6+7+7=26                                ①

    (3)①式中的结果26乘以3                             26×3=78                          ②

    (4)从序号3开始求出奇数位数字之和                   4+0+4+5+8+9=30                     ③

    (5)将②式和③式中的结果相加              78+30=108                         ④

    (6)用大于或等于④式中108且为10最小整数倍的数减去④式结果。即:110-108=2,其差即为所求校验码的值       校验码X=2

    输入说明,输入13个数,为商品扫描器读入值,中间用空格隔开。

    输出说明,第一行包含一个整数,表示校验位计算值。第二行输出true或false,表示商品扫描器读入是否正确。

    【输入样例1】

    9 7 8 7 5 6 4 0 0 1 4 5 2

    【输出样例1】

    2

    true

    【输入样例2】

    9 7 8 7 5 6 4 0 0 1 4 5 3

    【输出样例2】

    2

    false

        请按上述说明将下列程序补充完整。

    var d:array[1..13] of 0..9;

    i,s:integer;

    begin

    for i:=13 downto 1 do read(d[i]);

    readln;

    for ①          do

    if i mod 2=0 then s:=②            ;

    s:= ③                ;

    for i:=3 to 13 do if ④              then s:=s+d[i];

    s:=s mod 10;

    if s<>0 then s:=10-s;

    writeln(s);

    if ⑤            then write('true')

    else  write('false');

    end.

     

    2.【物品选择】

    神舟九号将搭载三名航天员进入天宫一号进行为期十几天的空间科学实验和生活,这在我国航天史上是前所未有的。它需要搭载水,食物,推进剂和试验设备等进入太空。由于火箭燃料费用很高,飞船的空间与载重能力又有限。所以科学家必须选择最有必要带入太空进行本次试验的物品进行装载。科学家通过一段时间的研究分析,对带入太空的物品测定了三个参数:体积V、重量W、必要度K。如甲物品必要度为50,乙物品的必要度为30,那么火箭搭载甲、乙物品所取得的必要度为80。现在科学家需要设计一个程序,在给定飞船所能搭载物品最大体积与最大重量的情况下,选择合适的物品进行搭载以取得最大搭载必要度总和。(注:物品不能进行分割。所搭载物品体积之和、重量之和分别不能超过飞船所能搭载物品最大体积与最大重量)

    输入说明,第一行包含两个数,依次表示飞船所能搭载物品的最大体积和最大载重量,第二行包含一个整数,表示可供选择的物品数量N(不超过99),第三行至第2+N行每行三个整数,依次表示每个物品的体积(<50000)、重量(<50000) 和必要度(<50000)。              

    输出说明,包含一个整数,表示所能达到的最大必要度总和。

    【样例输入】

    320 350

    4

    160 40 120

    80 110 240

    220 70 310

    40 400 220

    【样例输出】

    550

    请按上述说明将下列程序补充完整。

      var

      i,j,n:integer;

      tw,tv,maxk,temp_v,temp_w,temp_k:real;

      b,temp:array[1..100]of integer;

      v,w,k:array[1..100]of real;

    begin

      readln(tv,tw);

    ①                ;

      for i:=1 to n do readln(v[i],w[i],k[i]);

      maxk:=0;

      for i:=1 to 100 do b[i]:=0;

      while ②            do

      begin

        i:=1;

        while b[i]=1 do inc(i);

        b[i]:=1;

        for ③         do b[j]:=0;

        temp_v:=0;temp_w:=0; ④           ; 

       for j:=1 to n do

        if ⑤         then

          begin

                         temp_w:=temp_w+w[j];

                         temp_v:=temp_v+v[j];

            temp_k:=temp_k+k[j]

          end;

                  if (temp_v <tv) and (temp_w<tw)and(temp_k>maxk) then

                    begin

                      ⑥                ;

                      for j:=1 to n do

                        temp[j]:=b[j];

                    end;

      end;

      writeln(maxk:0:0);

    end.

     

    第 1 页   共 8 页