第1页第八届全国青少年信息学奥林匹克联赛(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.BASB)FABC.BASC)F.CD)EF.4)CPU处理数据的基本单位是字,一个字的字长()。A)为8个二进制位B)为16个二进制位C)为32个二进制位D)与芯片的型号有关5)资源管理器的目录前图标中增加+号,这个符号的意思是()。A)该目录下的子目录已经展开B)该目录下还有子目录未展开C)该目录下没有子目录D)该目录为空目录,6)下列哪一种程序设计语言是解释执行的()。A)PascalB)GWBASICC)C++D)FORTRAN7)启动WORD的不正确方法是()。A)单击Office工具栏上的Word图标B)单击开始→程序→WordC)单击开始→运行,并输入Word按回车D)双击桌面上的Word快捷图标8)多媒体计算机是指()计算机。A)专供家庭使用的B)装有CDROM的C)连接在网络上的高级D)具有处理文字、图形、声音、影像等信息的9)在树型目录结构中,不允许两个文件名相同主要是指()。A)同一个磁盘的不同目录下B)不同磁盘的同一个目录下C)不同磁盘的不同目录下、D)同一个磁盘的同一个目录下10)用画笔(Paintbrush)绘制图形并存储在文件中,该图形文件的文件名缺省的后缀为()。A).jpgB).bmpC).gifD).tifft11)E-ml地址中用户名和邮件所在服务器名之间的分隔符号是()。EA)#B)@C)&D)$12)(0.5)10=()16.A)0.1B)0.75C)0.8D)0.25第2页13)IPv4地址是由()位二进制数码表示的。A)16B)32c)24D)814)算式(2047)10一(3FF)16+(2000)8的结果是()。A)(2048)10B)(2049)10C)(3746)8D)(1AF7)1615)下列叙述中,错误的是()A)Excel中编辑的表格可以在Word中使用B)用Word编辑的文本可以存成纯文本文件C)用记事本(NotepaD)编辑文本时可以插入图片D)用画笔(Paintbrush)绘图时可以输入文字16)一个向量第一个元素的存储地址是100,每个元素的长度是2,则第5个元素的地址是()A)110B)108C)100D)10917)在所有排序方法中,关键字比较的次数与记录的初始排列次序无关的是()。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)5B)9C)4D)020)要使1…8号格子的访问顺序为:82、63、73、1、4,则下图中的空格中应填人()。12345678461-1732A)6B)OC)5D)3二.问题求解:1.如下图,有一个无穷大的的栈S,在栈的右边排列着1,2,3,4,5共五个车厢。其中每个车厢可以向左行走,也可以进入栈S让后面的车厢通过。现已知第一个到达出口的是3号车厢,请写出所有可能的到达出口的车厢排列总数(不必给出每种排列)。出口←←12345S↓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;第3页beginreadln(n,k);fori:=0ton-1doa[i]:=i+1;a[n]:=a[n-1];L0:=n-1;Lk:=n-1;forI:=1ton-1dobeginL1:=L0-k;if(l10)thenL1:=L1+n;If(l1=Lk)thenbeginA[L0]:=a[n];Lk:=Lk-1;a[n]:=a[Lk];l0:=lkEnd;ElseBeginA[l0]:=a[l1];l0:=l1;End;End;A[L0]:=a[n];ForI:=0ton-1dowrite(a[I]:40;Writeln;End.输入:104输出:2)programexp2;varn,jr,jw,jb:integer;ch1:char;ch:array[1..20]dchar;beginreadln(n);fori:=1tondoread(ch[i]):jr:=1;jwz=n;jb:=n;:while(jr=jw)dobeginif(ch[jw]='R')thenbeginch1:=Ch[jr];Ch[jr]:=ch[jw];ch[jw]:=ch1:jr:=jr+13endelseifch[jw]='W'thenjw:=jw-1elsebeginch1:=ch[jw];ch[jw]:=ch[jb];ch[jb]:=ch1;jw:=jw-1;jb:=jb-1;第4页endend;fori:=1tondowrite(ch[i]);writeln;end.输入:10RBRBWWRBBR输出:3)Pmgramexp3;VarI,j,p,n,q,s:integer;a:array[1..20]ofinteger;beginreadln(p,n,q);j:=21;while(n0)dobeginj:=j-1;a[j]:=nmod10;n:=ndiv10;end;s:=0;fori:=jt020dos:=s*p+a[i];writeln(s);j:=21;while(sO)dobeginj:=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;var第5页i,j,n,k:integer;a:array[1..100]ofinteger;b,d:array[0..100]ofinteger;s:array[1..30]ofinteger;beginreadln(n,k);fori:=1tondoread(a[i]);fori:=0tondob[i]:=1;cmin:=1000000;while(b[0]=1)dobeginfori:=1tokdo①fori:=1tondo②sum:=0;fori:=1tok-1doforj:=③sum:=sum+(s[i]-s[j])*(s[i]-s[j]);if④thenbegincmin:=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时,其需要量与费用如下:第一天第二天第三天需要量251530生产单价203032第6页保管单价5l00生产计划的安排可以有许多方案,如下面的三种:第一天第二天第三天总的费用25153025*2O+15*30+30*32=19104003040*20+15*5+30*32=1835700070*20+45*5+30*10=1925程序说明:b[n]:存放每天的需求量c[n]:每天生产零件的单价d[n]:每天保管零件的单价e[n]:生产计划程序:programexp5;vari,j,n,yu,j0,j1,s:integer;b,c,d,e:array[0..30]ofinteger;beginreadln(n);fori:=1tondoreadln(b[[i],c[I],d[i]];fori:=1tondoe[i]:=0;①:=10000;c[n+2]:=0;b[n+1]:=0;j0:=1;while(j0=n)dobeginyu:=c[j0];j1:=j0;s:=b[j0];while②dobegin③j1:=j1+1;s:=s+b[j1];end;④j0:=j1+1;end;fori:=1tondo⑤readln;end.第八届全国青少年信息学奥林匹克联赛(NOIP2002)初赛试题(普及组参考答案)五、选择一个正确答案代码(A/B/C/D),填入每题的括号内(每题材1.5分,多选无分,共30分)。第7页题号12345678910选择CBCDBBCDDB题号11121314151617181920选择BCBACBDCBC六、问题解答(6+8=14分)⒈答:所有可能到达出口的车厢排列总数为8。⒉答:当N=4,M=3时有35种不同排列。七、阅读程序,并写出程序的正确运行结果:(8+9+9分,共26分)⑴程序的运行结果是:78910123456⑵程序的运行结果是:RRRRWWBBBB⑶程序的运行结果是:10652051八、根据题意,将程序补充完整(共30分)PASCAL语言BASIC语言题一(每个点3分共15分)⑴s[i]:=070S(I)=0⑵s[b[i]]:=s[b[i]]+a[i];90S(B(I))=S(B(I)+A(I)⑶i+1tokdo130I+1TON⑷(cminsum)160CMINSUM⑸(b[j]=k)200B(J)K⑹b[i]:=1;240B(I)=1题二(每个点3分共15分)⑴c[n+1]50C(N+1)⑵(yu+d[j1]c[j1+1])80YU+D(J1)=C(J1+1)⑶yu:=yu+d[j1];90YU=YU+D(J1)⑷e[j0]:=s;110E(J0)=S⑸write(e[i]:4);140PRINTE(I);