回 帖 发 新 帖 刷新版面

主题:第八届全国青少年信息学奥林匹克联赛(NOIP2002)试题

NOI要开始了,我在这里公布2002年的NOI初赛试题,请新手们来看看
       第八届全国青少年信息学奥林匹克联赛(NOIP2002)试题
             (普及组PASCAL语言二小时完成)


一.选择一个正确答案代码(A/B/C/D,填入每题的括号内(每题1.5分,多选无分,共30分)
1)微型计算机的问世是由于(    ) 的出现。
A) 中小规模集成电路    B) 晶体管电路    C) (超)大规模集成电路    D) 电子管电路
2)下列说法中正确的是(    ) 。
A) 计算机体积越大,其功能就越强
    B) CPU的主频越高,其运行速度越快
    C) 两个显示器屏幕大小相同,则它们的分辨率必定相同
D)点阵打印机的针数越多,则能打印的汉字字体越多
3)Windows98中,通过查找命令查找文件时,若输入F*.? , 则下列文件(    ) 可以被查到。
A) F.BAS     B) FABC.BAS     C) F.C     D) EF.
4)CPU处理数据的基本单位是字,一个字的字长(    ) 。
A) 为8个二进制位     B) 为16个二进制位
    C) 为32个二进制位    D) 与芯片的型号有关
5)资源管理器的目录前图标中增加"+"号,这个符号的意思是(    ) 。
A) 该目录下的子目录已经展开    B) 该目录下还有子目录未展开
    C) 该目录下没有子目录          D) 该目录为空目录,
6)下列哪一种程序设计语言是解释执行的(    ) 。
A) Pascal     B) GWBASIC     C) C++    D) FORTRAN
7)启动WORD的不正确方法是(    ) 。
A) 单击Office工具栏上的Word图标
    B) 单击"开始"→"程序"→Word
    C) 单击"开始"→"运行",并输入Word按回车
    D) 双击桌面上的"Word快捷图标"
8)多媒体计算机是指(    ) 计算机。
A) 专供家庭使用的    B) 装有CDROM的
    C) 连接在网络上的高级    D) 具有处理文字、图形、声音、影像等信息的
9)在树型目录结构中,不允许两个文件名相同主要是指(    ) 。
A) 同一个磁盘的不同目录下    B) 不同磁盘的同一个目录下
    C) 不同磁盘的不同目录下、    D) 同一个磁盘的同一个目录下
10)用画笔(Paintbrush)绘制图形并存储在文件中,该图形文件的文件名缺省的后缀为(    ) 。
A) .jpg     B) .bmp     C) .gif    D).tiff
t11)E-ml地址中用户名和邮件所在服务器名之间的分隔符号是(    ) 。
E A) #    B) @    C) &    D) $
12)(0.5)10=(    ) 16.
A) 0.1    B) 0.75    C) 0.8    D) 0.25
13)IP v4地址是由(    ) 位二进制数码表示的。
A) 16    B) 32    c) 24    D) 8
14)算式(2047)10一(3FF)16+(2000)8的结果是(    ) 。
A) (2048)10    B) (2049)10    C) (3746)8    D) (1AF7)16
15)下列叙述中,错误的是(    )
A) Excel中编辑的表格可以在Word中使用
    B) 用Word编辑的文本可以存成纯文本文件
    C) 用记事本(Notepa    D) 编辑文本时可以插入图片
    D) 用画笔(Paintbrush)绘图时可以输入文字
16)一个向量第一个元素的存储地址是100,每个元素的长度是2,则第5个元素的地址是(    )
A) 110    B) 108    C) 100    D) 109
17)在所有排序方法中,关键字比较的次数与记录的初始排列次序无关的是(    ) 。
A) 希尔排序    B) 起泡排序    C) 插入排序    D) 选择排序
18)在计算机网络中,Modem的功能是(    )
A) 将模拟信号转换为数字信号    B) 将数字信号转换为模拟信号
C) 实现模拟信号与数字信号的相互转换    D) 实现将模拟信号的数字信号
19)设有一个含有13个元素的Hash表(O~12),Hash函数是:H(key)=key % 13,其中%是求余数运算。用线性探查法解决冲突,则对于序列(2、8、31、20、19、18、53、27),18应放在第几号格中(    ) 。
A) 5    B) 9    C) 4    D) 0
20)要使1…8号格子的访问顺序为:82、63、73、1、4,则下图中的空格中应填人(    ) 。
1    2    3    4    5    6    7    8    
4    6    1    -1        7    3    2    
A) 6    B) O    C) 5    D) 3

二.问题求解:
如下图,有一个无穷大的的栈S,在栈的右边排列着1,2,3,4,5共五个车厢。其中每个车厢可以向左行走,也可以进入栈S让后面的车厢通过。现已知第一个到达出口的是3号车厢,请写出所有可能的到达出口的车厢排列总数(不必给出每种排列)。
出口←    ←     1    2    3    4    5     
      S↓        

2.将N个红球和M个黄球排成一行。例如:N=2,M=3可得到以下6种排法:
红红黄黄黄 红黄红黄黄 红黄黄红黄 黄红红黄黄 黄红黄红黄 黄黄黄红红
问题:当N=4,M=3时有多少种不同排法?(不用列出每种排法)

三.阅读程序:
program exp1;
var i,j,k,n,,L0,L1,LK:Integer;
a :array [0..20] of integer;
begin
readln(n,k);
for i:=0 to n-1 do a[i]:=i+1;
a[n]:=a[n-1];L0:=n-1; Lk:=n-1;
for I:=1 to n-1 do
begin
L1:=L0-k; if (l1<0) then L1:=L1+n;
If (l1=Lk) then begin
                 A[L0]:=a[n]; Lk:=Lk-1; a[n]:=a[Lk]; l0:=lk
                End;
Else
Begin
     A[l0]:=a[l1];l0:=l1;
End;
End;
A[L0]:=a[n];
For I:=0 to n-1 do write(a[I]:40;
Writeln;
End.
输入:10   4
输出:

2)program exp2;
var n,jr,jw,jb:integer;
ch1:char;
ch:array[1..20]d char;
begin
readln(n);
for i:=1 to n do read(ch[i]):
jr:=1;jwz=n;jb:=n;:
while (jr<=jw)do
begin
if(ch[jw]='R')
then begin
ch1:=Ch[jr];Ch[jr]:=ch[jw];ch[jw]:=ch1:jr:=jr+13
end
else if ch[jw]='W'
then jw:=jw-1
else begin
ch1:=ch[jw];ch[jw]:=ch[jb];ch[jb]:=ch1;jw:=jw-1;jb:=jb-1;
end
end;
for i:=1 to n do write(ch[i]);
writeln;
end.
输入:10
RBRBWWRBBR
输出:

3)Pmgram exp3;
Var I,j,p,n,q,s:integer;
a :array[1..20]of integer;
begin
readln(p,n,q);j :=21;
while (n>0)do
begin
j:=j-1;a[j]:=n mod 10;n:=n div 10;
end;
s:=0;
for i:=j t0 20 do s:=s*p+a[i];
writeln(s);j :=21;
while (s>O)do
begin j:=j-1;a[j]:=s mod q;s:=s div q;end;
for i:=j to 20 do write(a[i]);readln;
end.
输入:7 3051 8
输出:

四.完善程序:
1.问题描述:将n个整数分成k组(k≤n,要求每组不能为空),显然这k个部分均可得到一个各自的和s1,s2,……sk,定义整数P为:
P=(S1-S2)2+(S1一S3)2+……+(S1-Sk)2+(s2-s3)2+……+(Sk-1-Sk)2
问题求解:求出一种分法,使P为最小(若有多种方案仅记一种〉
程序说明:
数组:a[1],a[2],...A[N]存放原数
s[1],s[2],...,s[K]存放每个部分的和
b[1],b[2],...,b[N]穷举用临时空间
d[1],d[2],...,d[N]存放最佳方案
程序:
program exp4;
Var i,j,n,k : integer;
a :array [1..100] of integer;
b,d:array [0..100] of integer;
s :array[1..30] of integer;
begin
readln(n,k);
for I:=1 to n do read(a[I]);
for I:=0 to n do b[I]:=1;
cmin:=1000000;
while (b[0]=1) do
begin
    for I:=1 to k do   ①    
for I:=1 to n do
     ②    
sum:=0;
for I:=1 to k-1 do
for j:=   ③   
sum:=sum+(s[I]-s[j])*(s[I]-s[j]);
if    ④     then
begin
cmin:=sum;
for I:=1 to n do d[I]:=b[I];
end;
j:=n;
while     ⑤      do j:=j-1;
b[j]:=b[j]+1;
for I:=j+1 to n do     ⑥     
end;
writeln(cmin);
for I:=1 to n do write(d[I]:40);
writeln;
end.
2. 问题描述:工厂在每天的生产中,需要一定数量的零件,同时也可以知道每天生产一个零件的生产单价。在N天的生产中,当天生产的零件可以满足当天的需要,若当天用不完,可以放到下一天去使用,但要收取每个零件的保管费,不同的天收取的费用也不相同。
问题求解:求得一个N天的生产计划(即N天中每天应生产零件个数),使总的费用最少。
输入:N(天数N<=29)
每天的需求量(N个整数)
每天生产零件的单价(N个整数)
每天保管零件的单价(N个整数)
输出:每天的生产零件个数(N个整数)
例如:当N=3时,其需要量与费用如下:
    第一天    第二天    第三天    
需要量    25    15    30    
生产单价    20    30    32    
保管单价    5    l0    0    
生产计划的安排可以有许多方案,如下面的三种:
第一天    第二天    第三天    总的费用    
25    15    30    25*2O+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    
程序说明:
b[n]:存放每天的需求量
c[n]:每天生产零件的单价
d[n]:每天保管零件的单价
e[n]:生产计划
程序:
Program exp5;
Var
i,j,n,yu,j0,j1,s:integer;
b,c,d,e: array[0..30]of integer;
begin
readln(n);
for i:=1 to n do readln(b[[i],c[I],d[i]];
fori:=1 to n do e[i]:=0;
   ①   :=10000;c[n+2]:=0;b[n+1]:=0;jO:=1;
while (jO<=n)do
begin
yu:=c[j0]; j1:=jO; s:=b[j0];
while    ②    do
begin
     ③    j1:=j1+1;s:=s+b[j1];
end;
   ④      jO:=j1+1;
end;
for i:=1 to n do      ⑤      
readln;
end.

回复列表 (共17个回复)

11 楼

能否提供第八届pascal提高组的试题?

12 楼

现在这种语言根本无人用的。

13 楼

我随便做做前10完全正确.(后面的没做了)

14 楼

我随便做做前10完全正确.(后面的没做了)

15 楼

后面的恩只怕是不晓得做吧!!!!

呵呵

16 楼

很好啊!!

17 楼

很好

我来回复

您尚未登录,请登录后再回复。点此登录或注册