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






