正在加载...
 
帐 号:  密 码:  保存密码     帮助
    • 主题
    • 文章
    • 用户
  2008宝安区信息学奥赛初中组试题  
 作者: maxh  | 浏览数(613) | 评论数(0) | 2008-12-08

    2008宝安区信息学奥赛试卷

    Pascal语言,初中组,考试时间:120分钟)

    ●●  全部试题答案均要求写在答题卷上,写在试卷上一律无效  ●●

     

    一、单选题(每题2分,共50分):

    1. IT 的含义是(  )。

    A)通信技术;(B)信息技术;(C)网络技术;(D)信息学。

    2. WindowsXP中,文件名不能是(     )

    A12%+3%;(B12$-3$;(C12*3;(D1&2-3

    3.下列说法:

    1)在同一文件夹里可以保存两个文件名字相同的文件;

    2)在同一文件夹里可以创建两个文件名字相同的文件夹;

    3)在Word2003中,三号字比四号字大;

    4)在Word2003中,8号字比7号字大;

    正确的个数是(  

    A1;(B2;(C3;(D4

    4. 在选定文件或文件夹后,将其彻底删除的操作是(   )。

    A)用Delete键删除;(B)用Shift+Delete键删除;(C)用鼠标直接将文件或文件夹拖放到"回收站"中;(D)用窗口中"文件"菜单中的"删除"命令。

    5. Excel2003中,在单元格中输入 =6^2+16+MIN(16,6)+AVERAGE(9,3),将显示(    )。

    A65;(B54;(C64;(D44

    6. Excel2003中,对单元格 "$E12" 的引用是(   )引用。

    A)一般引用;(B)相对引用;(C)绝对引用;(D)混合引用。

    7. Excel2003中,若单元格C1中公式为=A1+B2,将其复制到单元格E5,则E5中的公式是(    )。

    A=C3+A4;(B=C5+D6;(C=C3+D4;(D=A3+B4

    8. Photoshop中,用魔棒选取剩余部分的区域时,可按住下列哪个键来选取(   

    ACTRL;(BALT ;(CCTRL+SHIFT ;(DSHIFT

    9. PowerPoint2003"设计模板"包含(    )

    A)预定义的幻灯片样式和配色方案;(B)预定义的幻灯片版式;

    C)预定义的幻灯片背景颜色;(D)预定义的幻灯片配色方案。

    10.下列哪一个IP地址是错误的是(   

    A198.162.0.2;(B321.123.0.2;(C192.168.0.20;(D156.123.0.2

    11.目前所使用的IP地址是由(    )位构成的。

    A8;(B16;(C32;(D64

    12.在因特网电子邮件系统中,电子邮件应用程序(    )。

    A)发送邮件和接收邮件通常都使用SMTP协议;

    B)发送邮件通常使用SMTP协议,而接收邮件通常使用POP3协议;

    C)发送邮件通常使用POP3协议,而接收邮件通常使用SMTP协议;

    D)发送邮件和接收邮件通常都使用POP3协议。

    13.下列对程序解决问题的过程描述中,哪个是正确的(  

    A)编写程序→设计算法→分析问题→调试运行与检测结果;

    B)设计算法→分析问题→编写程序→调试运行与检测结果;

    C)设计算法→分析问题→调试运行与检测结果→编写程序;

    D)分析问题→设计算法→编写程序→调试运行与检测结果。

    14. FLASH时间轴上用小旗表示的帧是(   

    (A) 关键帧  (B) 空白关键帧  (C) 加动作  (D) 被命名

    15. 下列对于FLASH"铅笔工具"作用描述正确的是:(   

    A)用于自由圈选对象;(B)自由地创建和编辑矢量图形;(C)绘制各种椭圆图形;

    D)用于不规则形状任意圈选对象。

    16. 对计算机软件正确的认识是 (     )

    A)计算机软件受法律保护是多余的;

    B)正版软件太贵,软件能复制不必购买;

    C)受法律保护的软件不能随便复制;

    D)正版软件只要解密就能随意使用。

    17.已知在某进位制计数下,2*4=11,根据这个运算规则,5*16的结果是(      )

    A80 ;(B122;(C143;(D212

    18. 十进制数127转换成十六进制数是(    )

    AF7;(B7F;(CE7;(D715

    19.设A=trueB=falseC=trueD=false,以下逻辑运算表达式值为真的是(    )。

    A(AB)(CDA);(B((AB)C)D

    C(BCD)DA;(DA(DC)B

    20. 若要交换变量AB之值,则正确的语句组是(   ):

    AA:=B;B:=C;C:=A;BC:=A;A:=B;B:=C;CA:=B;B:=A;DC:=A;B:=A;B:=C;

    21.将数组{7, 21, 3, 15, 80, -2, 50, 90}中的元素按从大到小的顺序排列,每次可以交换任意两个元素,最少需要交换(    )次。

    A4;(B5;(C6;(D7

    22 对有序数组{5, 13, 19, 21, 37, 56, 64, 75, 8892100}进行二分查找,成功查找元素19的查找长度(比较次数)是(    )。

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

    23. 某车站呈狭长形,宽度只能容下一台车,并且只有一个出入口。已知某时该车站站台为空,从这一时刻开始出入记录为:“进出进进出进进进出出进出”。假设车辆入站的顺序为1,2,3……,则车辆出站的顺序为(    ):

    A12345;(B12457;(C13546;(D13657

    24. 二叉树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

    2516.一个高度为h的二叉树最小元素数目是(    )。

    A2h+l;(Bh ;(C2h-1;(D2h-l

     

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

    1 某校足球队有球衣30件,篮球队有球衣15件,排球队有球衣18件,三队队员总数为50人,其中有3人同时参加3个队,那么同时只参加2个对的队员有多少?

     

    2. 已知一列数如下:a(1)1a(2)2a(3)3a(4)=5a(5)=8a(4)=13,……,试写出a(n-2)a(n-1)a(n)之间的关系式。

     

    三、完善程序(每空4分,共20分)

    1. 计算 8

    program ex3_1;

    var

    s,i:longint;

    begin

    i:=1;

    s:=1;

    while i<=8 do begin

    s:=____;

    i:= ____;

    end;

    writeln(s);

    end.

     

     

    2.木材加工

    题目描述:木材厂有一些原木,现在想把这些木头切割成一些长度相同的小段木头(木头有可能有剩余),需要得到的小段的数目是给定的。当然,我们希望得到的小段越长越好,你的任务是计算能够得到的小段木头的最大长度。木头长度的单位是cm。原木的长度都是正整数,我们要求切割得到的小段木头的长度也是正整数。

    输入:

    第一行是两个正整数NK(1 N 100001 K 10000)N是原木的数目,

    K是需要得到的小段的数目。

    接下来的N行,每行有一个110000之间的正整数,表示一根原木的长度。

    输出:

    输出能够切割得到的小段的最大长度。如果连1cm长的小段都切不出来,输出”0”。

    输入样例:

    3 7

    232

    124

    456

    输出样例:

    114

    程序:

    var

           n, k : integer;

           len : array [1..10000] of integer;

           i, left, right, mid : integer;

           function isok(t : integer) : boolean;

           var

                  num, i : integer;

           begin

                  num := 0;

                  for i := 1 to n do begin

                         if num >= k then break;

                         num :=     ;

                         end;

                         if       then isok := true

                                else isok := false;

                         end;

                         begin

                                readln(n, k);

                                right:= 0;

                         for i := 1 to n do begin

                                readln(len[i]);

                                if right < len[i] then right:= len[i];

                                end;

                         inc(right); left := 0 ;

                         while left + 1 < right do begin

                         mid := (left + right) div 2;

                         if      then right := mid

                         else left := mid;

                         end;

           writeln(left);

    end.

     

     

    四、读程序写结果(每小题5分,共20分)

    1. 程序清单:

    program ex_1;

    function euc(a,b:longint):longint;

      begin

         if b=0 then euc:=a

         else euc:=euc(b,a mod b);

      end;

    var

      a,b:integer;

      begin

         readln(a,b);

         writeln(euc(a,b));

    end.

    输入:128  42,输出是______

     

     

    2. 程序清单:

    program ex_2;

    var i,a,b,c,x,y:integer;

           p:array[0..4] of integer;

    begin

           y:=20;

           for i:=0 to 4 do read(p[i]);

           readln;

           a:=(p[0]+p[1])+(p[2]+p[3]+p[4]) div 7;

           b:=p[0]+p[1] div ((p[2]+p[3])div p[4]);

           c:=p[0]*p[1] div p[2];

           x:=a+b-p[(p[3]+3)mod 4];

           if(x>10)

                  then y:=y+ (b*100-a) div(p[p[4] mod 3]*5)

           else

                  y:=y+20+(b*100-c)div (p[p[4] mod 3]*5);

           writeln(x,',',y);

    end.

    /*注:本例中,给定的输入数据可以避免分母为0 或数组元素下标越界。 */

    输入:6 5 1 2 3 输出:____

     

     

    3.程序清单:

    program ex4_5;

           var a1:array[1..30] of integer;

           var i,j,t,t2,n,n2:integer;

           begin

                 n:=30;

                 for i:=1 to n do a1[i]:=0;

                        n2:=round(sqrt(n));

                 for i:=2 to n2 do

                         if(a1[i]=0) then

                               begin

                                    t2:=n div i;

                                    for j:=2 to t2 do a1[i*j]:=1;

                               end;

                        t:=0;

                 for i:=2 to n do

                        if (a1[i]=0) then

                         begin

                               write(i:4); inc(t);

                               if(t mod 10=0) then writeln;

                         end;

           writeln;

    end.

    输出:________

     

     

    4. 程序清单:

    type

            TT= array[0..20]of integer;

    procedure func(var ary:TT; n:integer);

    var

            i,j,x:integer;

    begin

            i:=0;j:=n-1;

            while i<j do begin

                 while (i<j) and (ary[i]>0) do inc(i);

                 while (i<j) and (ary[j]<0) do dec(j);

                 if i<j then begin

                      x:=ary[i];

                      ary[i]:=ary[j];

                      ary[j]:=x;

                      inc(i);

                      dec(j);

                 end;

            end;

    end;

    var

            a:TT;

            i,m:integer;

    begin

            m:=10;

            for i:=0 to m-1 do

                    read(a[i]);

            func(a,m);

            for i:=0 to m-1 do

                    write(a[i], ' ');

            writeln;

    end.

    输入:5 4 -3 -11 6 7 8 1 2 10

    输出:________

     

     

    2008宝安区信息学奥赛试卷

    C语言,初中组,考试时间:120分钟)

    ●●  全部试题答案均要求写在答题卷上,写在试卷上一律无效  ●●

     

    一、单选题(每题2分,共50分):

    1. IT 的含义是(  )。

    A)通信技术;(B)信息技术;(C)网络技术;(D)信息学。

    2. WindowsXP中,文件名不能是(     )

    A12%+3%;(B12$-3$;(C12*3;(D1&2-3

    3.下列说法:

    1)在同一文件夹里可以保存两个文件名字相同的文件;

    2)在同一文件夹里可以创建两个文件名字相同的文件夹;

    3)在Word2003中,三号字比四号字大;

    4)在Word2003中,8号字比7号字大;

    正确的个数是(  

    A1;(B2;(C3;(D4

    4. 在选定文件或文件夹后,将其彻底删除的操作是(   )。

    A)用Delete键删除;(B)用Shift+Delete键删除;(C)用鼠标直接将文件或文件夹拖放到"回收站"中;(D)用窗口中"文件"菜单中的"删除"命令。

    5. Excel2003中,在单元格中输入 =6^2+16+MIN(16,6)+AVERAGE(9,3),将显示(    )。

    A65;(B54;(C64;(D44

    6. Excel2003中,对单元格 "$E12" 的引用是(   )引用。

    A)一般引用;(B)相对引用;(C)绝对引用;(D)混合引用。

    7. Excel2003中,若单元格C1中公式为=A1+B2,将其复制到单元格E5,则E5中的公式是(    )。

    A=C3+A4;(B=C5+D6;(C=C3+D4;(D=A3+B4

    8. Photoshop中,用魔棒选取剩余部分的区域时,可按住下列哪个键来选取(    

    ACTRL;(BALT ;(CCTRL+SHIFT ;(DSHIFT

    9. PowerPoint2003"设计模板"包含(    )

    A)预定义的幻灯片样式和配色方案;(B)预定义的幻灯片版式;

    C)预定义的幻灯片背景颜色;(D)预定义的幻灯片配色方案。

    10.下列哪一个IP地址是错误的是(   

    A198.162.0.2;(B321.123.0.2;(C192.168.0.20;(D156.123.0.2

    11.目前所使用的IP地址是由(    )位构成的。

    A8;(B16;(C32;(D64

    12.在因特网电子邮件系统中,电子邮件应用程序(     )。

    A)发送邮件和接收邮件通常都使用SMTP协议;

    B)发送邮件通常使用SMTP协议,而接收邮件通常使用POP3协议;

    C)发送邮件通常使用POP3协议,而接收邮件通常使用SMTP协议;

    D)发送邮件和接收邮件通常都使用POP3协议。

    13.下列对程序解决问题的过程描述中,哪个是正确的(  

    A)编写程序→设计算法→分析问题→调试运行与检测结果;

    B)设计算法→分析问题→编写程序→调试运行与检测结果;

    C)设计算法→分析问题→调试运行与检测结果→编写程序;

    D)分析问题→设计算法→编写程序→调试运行与检测结果。

    14. FLASH时间轴上用小旗表示的帧是(   

    (A) 关键帧  (B) 空白关键帧  (C) 加动作  (D) 被命名

    15. 下列对于FLASH"铅笔工具"作用描述正确的是:(   

    A)用于自由圈选对象;(B)自由地创建和编辑矢量图形;(C)绘制各种椭圆图形;

    D)用于不规则形状任意圈选对象。

    16. 对计算机软件正确的认识是 (     )

    A)计算机软件受法律保护是多余的;

    B)正版软件太贵,软件能复制不必购买;

    C)受法律保护的软件不能随便复制;

    D)正版软件只要解密就能随意使用。

    17.已知在某进位制计数下,2*4=11,根据这个运算规则,5*16的结果是(        )

    A80 ;(B122;(C143;(D212

    18. 十进制数127转换成十六进制数是(    )

    AF7;(B7F;(CE7;(D715

    19.设A=trueB=falseC=trueD=false,以下逻辑运算表达式值为真的是(     )。

    A(AB)(CDA);(B((AB)C)D

    C(BCD)DA;(DA(DC)B

    20. 若要交换变量AB之值,则正确的语句组是(   ):

    AA=B;B=C;C=A;BC=A;A=B;B=C;CA=B;B=A;DC=A;B=A;B=C;

    21.将数组{7, 21, 3, 15, 80, -2, 50, 90}中的元素按从大到小的顺序排列,每次可以交换任意两个元素,最少需要交换(   )次。

    A4;(B5;(C6;(D7

    22 对有序数组{5, 13, 19, 21, 37, 56, 64, 75, 8892100}进行二分查找,成功查找元素19的查找长度(比较次数)是(   )。

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

    23. 某车站呈狭长形,宽度只能容下一台车,并且只有一个出入口。已知某时该车站站台为空,从这一时刻开始出入记录为:“进出进进出进进进出出进出”。假设车辆入站的顺序为1,2,3……,则车辆出站的顺序为(    ):

    A12345;(B12457;(C13546;(D13657

    24. 二叉树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

    2516.一个高度为h的二叉树最小元素数目是(    )。

    A2h+l;(Bh ;(C2h-1;(D2h-l

     

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

    1 某校足球队有球衣30件,篮球队有球衣15件,排球队有球衣18件,三队队员总数为50人,其中有3人同时参加3个队,那么同时只参加2个对的队员有多少?

     

    2. 已知一列数如下:a(1)1a(2)2a(3)3a(4)=5a(5)=8a(4)=13,……,试写出a(n-2)a(n-1)a(n)之间的关系式。

     

    三、程序填空(20分)

    1. 计算 8

    #include "stdio.h"

    main()

    {int i,s;

         i=1;s=1;

         while(i<=8)

         {s=     ;

                ;

         }

    printf("%d",s);

    }

     

     

    2. 木材加工

    题目描述:木材厂有一些原木,现在想把这些木头切割成一些长度相同的小段木头,需要得到的小段的数目是给定的。当然,我们希望得到的小段越长越好,你的任务是计算能够得到的小段木头的最大长度。木头长度的单位是cm。原木的长度都是正整数,我们要求切割得到的小段木头的长度也是正整数。

    输入:

    第一行是两个正整数NK(1 N 100001 K 10000)N是原木的数目,

    K是需要得到的小段的数目。

    接下来的N行,每行有一个110000之间的正整数,表示一根原木的长度。

    输出:

    输出能够切割得到的小段的最大长度。如果连1cm长的小段都切不出来,输出”0”。

    输入样例:

    3 7

    232

    124

    456

    输出样例:

    114

    程序:

    #include <stdio.h>

    int n, k, len[10000];

    int isok(int t) {

    int num = 0, i;

           for (i = 0; i < n; i++) {

                  if (num >= k) break;

                  num =     ;

                         }

                  if (    ) return 1;

                  else return 0;

                         }

    int main() {

    int i, left, right, mid;

           scanf("%d%d", &n, &k);

           right = 0;

                  for (i = 0; i < n; i++) {

                  scanf("%d", &(len[i]));

                  if (right < len[i]) then right = len[i];

                                              }

                  right++;

                 left = 0;

                  while (left + 1 < right) {

                  mid = (left + right) / 2;

                  if (    ) right = mid;

                  else left = mid;

                  }

           printf ("%d\n", left);

    return 0;

     

    四、读程序写结果(每题5分,共20分)

    1. 程序清单:

    #include "stdio.h"

    int euc(int m, int n)

    {

        int r;

        do {

            r=m%n;

            m=n;

            n=r;

        } while(r);

        return m;

    }

    main()

    {

        int a,b;

        scanf("%d%d",&a,&b);

        printf("%d",euc(a,b));

    }

    输入:128  42,输出是______

     

    2. 程序清单:

    #include <stdio.h>

    int main()

    {int i,p[5],a,b,c,x,y=20;

        for(i=0;i<=4;i++)

           scanf("%d", &p[i]);

           a=(p[0]+p[1])+(p[2]+p[3]+p[4])/7;

           b=p[0]+p[1]/((p[2]+p[3])/p[4]);

           c=p[0]*p[1]/p[2];

           x=a+b-p[(p[3]+3)%4];

           if(x>10)

               y+= (b*100-a)/(p[p[4]%3]*5);

           else

               y+=20+(b*100-c)/(p[p[4]%3]*5);

        printf("%d,%d\n", x,y);

    return 0;

    }

    /*注:本例中,给定的输入数据可以避免分母为0 或数组元素下标越界。 */

    输入:6 5 1 2 3 输出:____

     

    3.程序清单:

    #include "math.h"

    #include "stdio.h"

    main()

    {int a1[31]={0};

        int i,j,t,t2,n=30;

        for (i=2;i<=sqrt(n);i++)

           if(a1[i]==0)

           {t2=n/i;

               for(j=2;j<=t2;j++) a1[i*j]=1;

           }

        t=0;

        for (i=2;i<=n;i++)

           if(a1[i]==0)

           {printf("%4d",i); t++;

               if(t%10==0) printf("\n");

           }

        printf("\n");

    }

    输出: ________

     

    4.程序清单:

    #include <stdio.h>

    void func(int ary[], int n )

    {

        int i=0, j, x;

        j=n-1;

        while(i<j)

        {

           while (i<j&&ary[i]>0) i++;

           while (i<j&&ary[j]<0) j--;

           if (i<j){

               x=ary[i];

               ary[i++]=ary[j];

               ary[j--]=x;

           }

        }

    }

    int main()

    {

           int a[20], i, m;

        m=10;

        for(i=0; i<m; i++)

           scanf("%d", &a[i]);

        func(a, m);

        for (i=0; i<m; i++)

           printf( "%d ", a[i] );

        printf("\n");

        return 0;

    }

    输入:5 4 -3 -11 6 7 8 1 2 10

    输出:________