初赛试题及答案普及组.docx
《初赛试题及答案普及组.docx》由会员分享,可在线阅读,更多相关《初赛试题及答案普及组.docx(10页珍藏版)》请在冰豆网上搜索。
![初赛试题及答案普及组.docx](https://file1.bdocx.com/fileroot1/2023-1/6/b1feea9b-d76d-48c4-ac43-0a63f9e7ede4/b1feea9b-d76d-48c4-ac43-0a63f9e7ede41.gif)
初赛试题及答案普及组
第八届全国青少年信息学奥林匹克联赛(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地址中用户名和邮件所在服务器名之间的分隔符号是( )。
EA)# B)@ C)& D)$
12)(0.5)10=( )16.
A)0.1 B)0.75 C)0.8 D)0.25
13)IPv4地址是由( )位二进制数码表示的。
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
二.问题求解:
1. 如下图,有一个无穷大的的栈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时有多少种不同排法?
(不用列出每种排法)
三.阅读程序:
programexp1;
vari,j,k,n,,L0,L1,LK:
Integer;
a:
array[0..20]ofinteger;
begin
readln(n,k);
fori:
=0ton-1doa[i]:
=i+1;
a[n]:
=a[n-1];L0:
=n-1;Lk:
=n-1;
forI:
=1ton-1do
begin
L1:
=L0-k;if(l1<0)thenL1:
=L1+n;
If(l1=Lk)thenbegin
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];
ForI:
=0ton-1dowrite(a[I]:
40;
Writeln;
End.
输入:
10 4
输出:
2)programexp2;
varn,jr,jw,jb:
integer;
ch1:
char;
ch:
array[1..20]dchar;
begin
readln(n);
fori:
=1tondoread(ch[i]):
jr:
=1;jwz=n;jb:
=n;:
while(jr<=jw)do
begin
if(ch[jw]='R')
thenbegin
ch1:
=Ch[jr];Ch[jr]:
=ch[jw];ch[jw]:
=ch1:
jr:
=jr+13
end
elseifch[jw]='W'
thenjw:
=jw-1
elsebegin
ch1:
=ch[jw];ch[jw]:
=ch[jb];ch[jb]:
=ch1;jw:
=jw-1;jb:
=jb-1;
end
end;
fori:
=1tondowrite(ch[i]);
writeln;
end.
输入:
10
RBRBWWRBBR
输出:
3)Pmgramexp3;
VarI,j,p,n,q,s:
integer;
a:
array[1..20]ofinteger;
begin
readln(p,n,q);j:
=21;
while(n>0)do
begin
j:
=j-1;a[j]:
=nmod10;n:
=ndiv10;
end;
s:
=0;
fori:
=jt020dos:
=s*p+a[i];
writeln(s);j:
=21;
while(s>O)do
beginj:
=j-1;a[j]:
=smodq;s:
=sdivq;end;
fori:
=jto20dowrite(a[i]);readln;
end.
输入:
730518
输出:
四.完善程序:
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]存放最佳方案
程序:
programexp4;
Vari,j,n,k:
integer;
a:
array[1..100]ofinteger;
b,d:
array[0..100]ofinteger;
s:
array[1..30]ofinteger;
begin
readln(n,k);
forI:
=1tondoread(a[I]);
forI:
=0tondob[I]:
=1;
cmin:
=1000000;
while(b[0]=1)do
begin
forI:
=1tokdo ①
forI:
=1tondo
②
sum:
=0;
forI:
=1tok-1do
forj:
= ③
sum:
=sum+(s[I]-s[j])*(s[I]-s[j]);
if ④ then
begin
cmin:
=sum;
forI:
=1tondod[I]:
=b[I];
end;
j:
=n;
while ⑤ doj:
=j-1;
b[j]:
=b[j]+1;
forI:
=j+1tondo ⑥
end;
writeln(cmin);
forI:
=1tondowrite(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]:
生产计划
程序:
Programexp5;
Var
i,j,n,yu,j0,j1,s:
integer;
b,c,d,e:
array[0..30]ofinteger;
begin
readln(n);
fori:
=1tondoreadln(b[[i],c[I],d[i]];
fori:
=1tondoe[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;
fori:
=1tondo ⑤
readln;
end.
NOI2002初赛试题参考答案
普及组
一、选择题
题号
1
2
3
4
5
6
7
8
9
10
答案
C
B
C
D
B
B
C
D
D
B
题号
11
12
13
14
15
16
17
18
19
20
答案
B
C
B
A
C
B
D
C
B
C
二、问题解答
1、 8
2、 35
三、读程序写结果
1、7 8 9 10 1 2 3 4 5 6
2、RRRRWWBBBB
3、1065
2051
四、补充程序
题一:
1、 S[I]:
=0;
2、 S[b[I]]:
=s[bi]]+a[I];
3、 I+1tokdo
4、 (cmin>sum)
5、 (bj)=k)
6、 b[I]:
=1;
题二:
1、 c[n+1]
2、 (yu+d[j1]3、 yu:
=yu+d[j1];
4、 e[j0]:
=s;
5、 write(e[I]:
4);
;