第十届全国青少年信息学奥林匹克联赛初赛试题
一、选择一个正确答案代码(A/B/C/D/E)填入每题的挂号内<br>1.美籍匈牙利数学家 冯•诺依曼 对计算机科学发展所做出的贡献是:( )<br> A、提出理想计算机数学模型,成为计算机科学理论基础<br> B、是世界上第一个编写计算机程序的人<br> C、提出存储程序工作原理,并设计出第一台具有存储程序功能的计算机EDVAC<br> D、采用集成电路作为计算机的主要功能部件<br> E、指出计算机性能将以每两年翻一番的速度向前发展<br>2.下列哪个不是CPU(中央处理单元)( )<br> A、Intel Itanium<br> B、DDR SDRAM<br> C、AMD Athlon64<br> D、AMD Opteron<br> E、IBM Power 5<br>3、下列网络中常用的名字缩写对应的中文解释错误的是( )<br> A、WWW(World Wide Web):万维网<br> B、URL(Uinform Resource Locator):统一资源定位器<br> C、HTTP(Hypertext Transfer Protocol):超文本传输协议<br> D、FTP (File Transfer Protocol):快速传输协议<br> E、TCP (Transfer Control Protocol):传输控制协议<br>4、下面哪个部件对于个人桌面电脑的正常运行不是必需的( )<br> A、cpu<br> B、显卡(图形卡)<br> C、光驱<br> D、主板<br> E、内存<br>5、下列哪个软件属于操作系统软件( )<br> A、Microsoft Word<br> B、金山词霸<br> C、Foxmail<br> D、WinRAR<br> E、Red Hat Linux<br>6、下列哪个不是计算机存储设备( )、<br> A、文件管理器<br> B、内存<br> C、高速缓存<br> D、硬盘<br> E、U盘<br>7、下列说法中错误的是( )<br> A、CPU的基本功能就是执行指令<br> B、CPU访问内存的速度快于访问高速缓存的速度<br> C、CPU的主频是指CPU在1秒内完成的指令周期数<br> D、在一台计算机内部,一个内存地址编码对应唯一的一个内存单元<br> E、数据中线的宽度决定了一次传递数据量的大小<br>8、彩色显示器所显示的五彩斑斓的色彩,是由红色,蓝色和( )色混合而成的<br> A、紫色 B、白色 C、黑色 D、绿色 E、橙色<br>9、用静电吸附磨粉后转移到纸张上,是那种输出设备的工作方式( )<br> A、针式打印机<br> B、喷墨打印机<br> C、激光打印机<br> D、笔式绘图仪<br> E、喷墨绘图仪<br>10、一台计算机如果要利用电话线上网,就必须配置能够对数字信号和模拟信号进行互相转换的设备,这种设备是( )<br> A、调制解调器<br> B、路由器<br> C、网卡<br> D、网关<br> E、网桥<br>11、下列哪个不是数据库软件的名称( )<br> A、MYSQL<br> B、SQL Sever<br> C、Oracle<br> D、金山影霸<br>E、Foxpro<br>12、下列哪个程序设计语言不支持面向对象的程序设计方法( )<br> A、C++<br> B、Object Pascal<br> C、C<br> D、Smalltalk<br> E、Java<br>13、由3个a,1个b和2个c构成的所有字符串中,包含子串“abc”的共有( )个<br> A、20 B、8 C、16 D、12 E、24<br>14、某车站呈狭长形,宽度只能容下一台车,并且只有一个出入口。已知某时该车站站台为空,从这一时刻开始出入记录为:“进出进进出进进进出出进出”。假设车辆入站的顺序为1,2,3……,则车辆出站的顺序为( )<br> A、1,2,3,4,5<br> B、1,2,4,5,7<br> C、1,3,5,4,6<br> D、1,3,5,6,7<br> E、1,3,6,5,7<br>15、二叉树T,已知其前序遍历序列为1 2 4 3 5 7 6,中序遍历序列为4 2 1 5 7 3 6,其后序遍历序列为<br> A、4 2 5 7 6 3 1<br> B、4 2 7 5 6 3 1<br> C、4 2 7 5 3 6 1<br> D、4 7 2 3 5 6 1<br> E、4 5 2 6 3 7 1<br>16、满二叉树的叶节点为N,则它的节点总数为( )<br> A、N<br> B、2N<br> C、2N-1<br> D、2N+1<br> E、2^N-1<br>17、十进制2004等于八进制数( )<br> A、3077<br> B、3724<br> C、2766<br> D、4002<br> E、3755<br>18、(2004)10 +(32)16的结果是( )<br> A、(2036)10<br> B、(2054)16<br> C、(4006)10<br> D、(100000000110)2<br> E、(2036)16<br>19、在下图,从端点( )出发存在一条路径可以遍历图中的每条边一次,而且仅遍历一次<br><br><br><br><br><br><br><br><br><br><br><br>20、某大学计算机专业的必修课及期先修课程如下表所示:<br>课程<br>代号 C0 C1 C2 C3 C4 C5 C6 C7<br>课程<br>名称 高等<br>数学 程序<br>设计<br>语言 离散<br>数学 数据<br>结构 编译<br>技术 操作<br>系统 普通<br>物理 计算<br>机原<br>理<br>先修<br>课程 C0,C1 C1,C2 C3 C3,C7 C0 C6<br>请判断下列课程安排哪个是不合理的( )<br> A、C0,C6,C7,C1,C2,C3,C4,C5<br> B、C0,C1,C2,C3,C4,C6,C7,C5<br> C、C0,C1,C6,C7,C2,C3,C4,C5<br> D、C0,C1,C6,C7,C5,C2,C3,C4<br> E、C0,C1,C2,C3,C6,C7,C5,C4<br><br>二、问题求解(5分一题,共10分)<br>1、一个家具公司生产桌子和椅子。现有113个单位的木材。每张桌子要使用20个单位的木材,售价是30元;每张椅子要用16个单位的木材,售价是20元。使用已有的木材生产桌椅(不一定要用光木材)做多可以买_____元钱。<br>2、75名儿童去游乐场玩。他们可以骑旋转木马,坐滑行轨道,乘宇宙飞船。已知其中20人这三种东西都玩过,55人至少玩过其中两种。若每玩一样的费用为5元,游乐场总共收入700,可知有_____名儿童没有玩过其中任何一种。<br><br>三、阅读程序(8’一题,共32’)<br>1、------------------------------------------- <br>program program1;<br>Var<br> a,b,c,d,e:integer;<br> begin<br> a:=79 ; b:=34; c:=57;d:=0 ; e:=-1;<br> if (ac) then d:=d+e<br> else if (d+10 else d:=e-a;<br> writeln(d);<br> end.<br>输出:_____________________。<br>2、-------------------------------------------<br>program program2;<br>var<br> i,j:integer;<br> str1,str2:string;<br>begin<br> str1:=\'pig-is-stupid\';<br> str2:=\'clever\';<br> str1[1]:=\'d\'; str1[2]:=\'o\';<br> i:=8;<br> for j:=1 to 6 do begin<br> str1[i]:=str2[j];inc(i);<br> end;<br> writeln(str1);<br>end.<br>输出:_____________________。<br>3、-------------------------------------------<br>program program3;<br>var<br> u:array[0..3] of integer;<br> a,b,c,x,y,z:integer;<br>begin<br> read(u[0],u[1],u[2],u[3]);<br> a:=u[0]+u[1]+u[2]+u[3]-5;<br> b:=u[0]*(u[1]-u[2] div u[3]+8);<br> c:=u[0]*u[1] div u[2] * u[3];<br> x:=(a+b+2)*3-u[(c+3) mod 4];<br> y:=(c*100-13) div a div (u[b mod 3]*5);<br> if ((x+y) mod 2=0) then z:=(a+b+c+x+y) div 2;<br> z:=(a+b+c-x-y)*2;<br> writeln(x+y-z);<br> read(a);<br>end.<br>输出:_____________________。<br>4、-------------------------------------------<br>program program4 ;<br>var c:array[1..2] of string[200];<br> s:array[1..10] of integer;<br> m,n,i:integer ;<br>procedure numara;<br>var cod:boolean;<br> i,j,nr:integer;<br>begin<br> for j:=1 to n do begin<br> nr:=0;cod:=true;<br> for i:=1 to m do<br> if c[i,j]=\'1\' then begin<br> if not cod then begin<br> cod:=true;inc(s[nr]);nr:=0;<br> end<br> end<br> else begin<br> if cod then begin<br> nr:=1;cod:=false ;<br> end<br> else inc(nr);<br> end;<br> if not cod then inc(s[nr]);<br> end;<br> end;<br> begin<br> readln(m,n);<br> for i:=1 to m do readln(c[i]);<br> numara;<br> for i:=1 to m do<br> if s[i] <>0 then write(i,\' \',s[i],\' \');<br> read(i);<br> end.<br>输出:_____________________。<br><br>四、完善程序(共28分)<br>1、三角形内切圆的面积<br>题目描述:给出三角形三边的边长,求此三角形内切圆的面积。<br><br>输入:三个正实数a、b、c(满足三角形三边关系),表示三角形三边边长。<br>输出:三角形内切圆的面积,结果四舍五入到小数点后2位<br>输入样例: 3 4 5<br>输出样例: 3.14<br>程序:①②③④⑤<br>PROGRAM PROGRAM1;<br>VAR<br> A,B,C,R,S,T:REAL;<br>BEGIN<br> READ(A,B,C);<br> S :=( ① )/2;<br> T:= ② (S*(S-A)*(S-B)*(S-C));<br> R:=T/S;<br> WRITELN(3.1415927 * R * ③ :0: ④ ;<br>END.<br><br>2..Joseph<br>题目描述:<br>原始的Joseph问题的描述如下:有n个人围坐在一个圆桌周围,把这n个人依次编号为1,……,n。从编号是1 的人开始报数,数到m个人出列,然后从出列的下一个人重新开始报数,数到第m个人又出列,……,如此反复直到所有的人全部出列为止。比如当n=6,m=5的时候,出列的顺序依次是5,4,6,2,3,1。<br>现在的问题是:假设有k个好人和k个坏人。好人的编号是1到k,坏人的编号是k+1到2k。我们希望求出m的最小值,使得最先出列的k个人都是坏人。<br>输入:<br>仅有的一个数字是k (0输出:<br>使得最先出列的k个人都是坏人的m的最小值。<br>输入样例:<br>4<br>输出样例:<br>30<br>程序:<br>program progaram1;<br>var<br> i,k,m,start:longint;<br> find:boolean;<br>function check(remain:integer):boolean;<br>var result:integer;<br>begin<br> result:=____(1)____ mod remain;<br> if ____(2)____ then begin<br>start:=result; check:=true;<br> end<br> else check:=false;<br>end;<br>begin<br> find:=false;<br> read(k);<br> m:=k;<br> while ____(3)____ do begin<br>find:=true; start;=0;<br>for i:=0 to k-1 do <br> if (not check(____(4)____)) then begin<br> find:=false; break;<br> end;<br>inc(m);<br> end;<br> writeln(____(5)____);<br>end.<br>参考答案<br>一、1.C 2.B 3.D 4.C 5.E 6.A 7.B 8.D 9.C 10.A <br><br>11.D 12.C 13.D 14E 15.B 16.C 17.B 18.D 19.E 20.D <br><br>二、1.160元 2.10人 <br><br>三、 1.-80 2.Dog-is-clever <br><br> 3 . 263 4 . 1 12588 2 12337 3 12339 <br><br>四、 1 . a+b+c SQRT R 2 <br><br> 2 . start+m-1 result>=k not(find) 2*k-I m-1<br>页:
[1]