noip2008普及组pascal语言试题

急急急急急急急急急急急急急急急急急急急急急急急急急急急!!!!!!!!!!!!!!!!!!!!!!!!!!重金悬赏20分!刚考完,想对答案!答案就不用了,只要试题!普及组的!PASCAL语言!

.微型计算机中,控制器的基本功能是:
A.控制机器各个部件协调工作
B.实现算术运算和逻辑运算
C.获取外部信息
D.存放程序和数据
2.设A=TRUE B=fALSE C=TRUE D=fALSE 以下逻辑运算中表达式值为真的是:
A.(A∧B)∨(C∧D∨┐A)
B. ((┐A∧B)∨C)∧┐D)
C. (B∨C∨D)∧D∧A
D. A∧(D∨┐C)∧Bliyilong.net
3.在下列关于图灵奖的说法中,不正确的是:
A. 图灵奖是美国计算机协会于1966年设立的,专门奖励那些对计算机事业做出重要贡献的个人
B. 图灵奖有计算机界诺贝尔奖的称号
C. 迄今为止,还没有华裔计算机科学家获此殊荣
D. 图灵奖的名称曲子计算机科学的先驱、英国科学家阿兰·图灵
4.计算机在工作过程中,若突然停电,( )中的信息不会丢失。liyilong.net
A.ROM 和 RAM B.CPU
C.ROM D.RAM
5.完全二叉树共有2n-1个节点,则它的叶节点数为:
A. N-1 B.N
C. 2*N D.2^N-1
6.在下列各项中,( )不是操作系统软件。
A. Solaris B.linux C.Windows Vista D.Sybase
7.设栈S的初始状态为空,元素A,B,C,D,E,f依次入栈S,出栈的序列为B,D,f,E,C,A,则栈S的容量至少应该是:
A.6 B.5 C.4 D.3
8.与十进制数28.5625相等的四进制数是:
A.123.21 B.131.22 C.130.22 D.130.21
9.设字符串S="Olympic",S的非空字串的数目为
A.28 B.29 C.16 D.17
10.Web2.0是近年来互联网的热门概念之一,其核心思想是互动与分享,下列网站中,( )是典型的Web2.0应用。
A.Sina B.flickr C.Yahoo D.google
11.递归过程或函数调用时,处理参数和返回地址,通常使用一种称为( )的数据结构
A.队列 B.多维数组 C.线性表 D.栈
12.(2008)10+(5B)16的结果是:liyilong.net
A.(833)16 B.(2089)10 C.(4163)8 D.(100001100011)2
13.二叉树T,已知其先根遍历为1 2 4 3 5 7 6,中根遍历为2 4 1 5 7 3 6,后跟遍历是:
A. 4 2 5 7 6 3 1
B. 4 2 7 5 6 3 1
C.7 4 2 5 6 3 1
D. 4 2 7 6 5 3 1
14.将数组{8,23,4,16,77,-5,53,100}中元素从大到小按顺序排序,每次可以交换任意两个元素,最少要交换()次。
A.4 B.5 C.6 D.7 E.8
15.对有序数组{5,13,19,21,37,56,64,75,88,92,100}进行二分查找,成功查找元素19的比较次数是:
A.1 B.2 C.3 D.4
16.面向对象的程序设计(Object-Oriented Programming)是一种程序设计的方法论,它将对象作为程序设计的基本单元,将数据和程序封装在对象中,以提高软件的重用性、灵活性、和扩展性。下面关于面向对象的程序设计说法中正确的是()。
A.面向对象的程序设计方法通常采用自顶向下的设计方法进行设计。
B.面向对象的程序设计方法具有继承性(inheritance)、封装性(encapsulation)、多态性(polymorphism)等几大特点。
C.支持面向对象特性称为面向对象的编程语言,目前较为流行的有C++,JAVA,C#等。
D.面向对象的程序设计的雏形来自于Simula语言,后来在Smalltalk语言的完善和标准化的过程中得到更多的扩展和对以前的思想的重新注解。至今,Smalltalk语言任然被视为面向对象的基础。
17.设T是一棵有n个定点的树,以下说法正确的是()。
A.T有n条边
B.T是联通的
C.T是无环的
D.T有n-1条边。
19.NOIP竞赛不推荐使用的语言环境有()。liyilong.net
A.Dev-C++ B.Visual C++ C. free pascal D.lazarus
20.在pascal程序中,表达式(200 or 10)的值是:
A.20 B.1 C.220 D.202
二、问题求解(共2题,每题五分,共计十分):
1.书架上有4本不同的书A、B、C、D,其中A和B是红皮的,C和D是黑皮的,把这4本书摆放在书架上,满足:所有的黑皮书排在一起的方法有:( )种,满足A必须比C靠左,所有红皮书都要放在一起,黑皮书要放在一起,共有( )种摆法。
2.有6个城市,任何两个城市之间有一条道路连接,6个城市之间两两之间的距离如下表表示,则城市1到城市6的最短距离为( )。
城市1 城市2 城市3 城市4 城市5 城市6
城市1 0 2 3 1 12 15
城市2 2 0 2 5 3 12
城市3 3 2 0 3 6 5
城市4 1 5 3 0 7 9
城市5 12 3 6 7 0 2
城市6 15 12 5 9 2 0三、阅读程序写结果(共4题,每题8分,共计32分):
1.var
i,a,b,c,d:integer;
f:array[0..3] of integer;
begin
for i:=0 to 3 do
read(f);
a:=f[0]+f[1]+f[2]+f[3];
a:=a div f[0];
b:=f[0]+f[2]+f[3];
c:=(b*f[1]+a) div f[2];
d:=f[(b div c) mod 4];
if (f(a+b+c+d) mod 4]>f[2]) then
begin
a:=a+b;
writeln(a)
end else
beginliyilong.net
c:=c+d;
writeln(c);
end;
end.
输入: 9 19 29 39
输出:
2.procedure foo(a,b,c:integer);
begin
if a>b then foo(c,a,b)
else
writeln(a,',',b,',',c)
end;
var a,b,c:integer;
begin
readln(a,b,c);
foo(a,b,c);
end.
输入:2 1 3
输出:3.type
TT=array[0..20]of integer;
prodecure func(var ary:TT;n:integer);
var i,j,x:integer;
begin
i:=0;j:=n-1;
while i<j do begin
while (i<j) and (ary>0) do inc(i);
while (i<j) and (ary[j]<0) do dec(j);
if i<j then begin x:=ary;
ary:=ary[j];
ary[j]:=x;
inc(i);
dec(j);
end;
end;
end;

var
a:TT;
i,m:integer;
begin
m:=10;
for i:=0 to m-1 do
read(a);
func(a,m);
for i:=1 to m-1 do
write(a,' ');liyilong.net
writeln;
end.
输入:5 4 -6 -11 6 -59 22 -6 1 10
输出:

prodecure solve(first:string;spos_f,epos_f:integer;mid:string;spos_m,epos_m:integer);
var i,root_m:integer;
begin
if spos_f > epos_f the nexit;
for i:=spos_m to epos_m do
if first[spos_f] = mid then begin
root[m]:=i;
break;
end;
solve(first,spos_s+1,spos_f+(root_m-spos_m),mid,spos_m,root_m-1);
solve(first,spos_f+(root_m-spos_m)+1,epos_f,mid,root_m+1,epos_m);
write(first[spos_f]);
end;

var first,mid:string;
len:integer;
begin
readln(len);
readln(first);
readln(mid);
solve(first,1,len,mid,1,len);
writeln;
end.

输入:7
ABDCEGF
BDAGECF
输出:四、完善程序

1.字符串替换
给定一个字符串S(仅包含大小写字母),下面的程序将S中的每个字母用规定的字母替换,并输出S经过替换后的结果,程序的输入是两个字符串,第一个是给定的字符串S,第二个字符串S’有26个字母组成,他是a-z的唯一排列,大小写不定,S’规定了每个字母对应的替换字母:S’中的第一个字母是字母A和a的替换字母,及S中的A用该字母的大写替换,S中的a用该字母的小写替换;S’中的第二个字母是B和b的替换字母……以此类推。

var
change,str:string;

procedure CheckChangeRule;
var i:integer;
begin
for i:=1 to 26 do begin
__________1___________
change:=chr(ord(change)-ord('A')+ord('a'));
end;
end;

procedure ChangeString;
var len,i:integer;
begin
len:=length(str);
for i:=1 to len do begin
if ____________2___________ then
begin
str[ui]:=upcase(change[ord(str)-ord('A')+1);
end;
else begin
________________3______________
end;
end;
end;

begin
readln(str);
readln(change);
CheckChangeRule;
__________4__________;
writeln(str);
end.2.找第k大的数
给定一个长度为1000000的无序正整数数列,以及另一个数n(1<=n<=1000000),然后以类似快速排序的方法找到序列中第n大的数(例:序列{1,2,3,4,5,6}中第3大得数是4)
复制内容到剪贴板代码:
var
a:array[1..1000000]of integer;
n,m,ans:integer;
procedure swap(var a,b:integer);
var t:integer;
begin
if (a<>b) then begin
t:=a;
a:=b;
b:=t;
end;
end;
function FindKth(left,right,n:integer):integer;
var
tmp,value,i,j:integer;
begin
if left=right then exit(left);
tmp:=random(right-left) + left;
swap(a[tmp],a[left]);
value:= ______1______
i:=left;
j:=right;
while i<j do
begin
while (i<j) and (______2_______) do dec(j);
if i<j then begin
a[i]:=a[j]; inc(i);
end else break;
while (i<j) and (_______3_______) do inc(i);
if i<j then begin
a[j]:=a[i]; dec(j);
end else break;
end;
_______4________;
if i<n then begin inc(i);exit(FindKth(______5________));end;
if i>n then begin dec(i);exit(________6_________);end;
exit(i);
end;
var i:integer;
begin
randomize;
m:=1000000;
for i:=1 to m do read(a[i]);
read(n);
ans:=FindKth(1,m,n);
writeln(a[ans]);
end.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-10-19
1. 在以下各项中,()不是操作系统软件。
A.Solaris B.Linux C.Sybase D.Windows Vista E.Symbian
2. 微型计算机中,控制器的基本功能是()。
A. 控制机器的各个部件协调工作 B.实现算数运算与逻辑运算 C.存储各种控制信息
D. 获取外部信息 E.存放程序和数据
3. 设字符串S=“Olympic”,S的非空字串的数目是()。
A.29 B.28 C.16 D.17 E.7
4. 完全2叉树有2*N-1的结点,则它的叶子结点数目是()。
A.N-1 B.2*N C.N D.2^N-1 E.N/2
5. 将数组{8,23,4,16,77,-5,53,100}中元素从大到小按顺序排序,每次可以交换任意两个元素,最少要交换()次。
A.4 B.5 C.6 D.7 E.8
6.设栈S的初始状态为空,元素a,b,c,d,e,f依次入栈,出栈顺序为b,d,c,f,e,a那么栈容量至少应该是()
A.6 B.5 C.4 D.3 E.2
7.与十进制数28.5625相等的四进制数是()
A.123.21 B.131.22 C.130.22 D.130.21 E.130.20
8.递归过程和函数调用时,处理参数和返回地址,通常使用一种称为()的数据结构。
A.队列 B.多维数组 C.线性表 D.链表 E.栈
9.TCP/IP 是一组构成互联网基础的网络协议,字面上包括两组协议:传输控制协议(TCP)和网际互联协议(IP)。TCP/IP协议把Internet网络系统描述成具有4个层次功能的网络模型,其中提供源节点和目的节点之间的信息传输服务,包括寻址和路由器选择等功能的是()。
A.链路层 B.网络层 C.传输层 D.应用层 E.会话层
10.对有序数组{5,13,19,21,37,56,64,75,88,92,100}进行二分查找,等概率情况下,查找成功的平均查找长度(平均比较次数)是()。
A.35/11 B.34/11 C.33/11 D.32/11 E.34/10
11.下列关于图灵的说法正确的有()
A.图灵奖是美国计算机协会与1966年设立的,专门鼓励那些对计算机做出重要贡献的个人
B.图灵奖有“计算机界诺贝尔奖”之称。
C.迄今为止,还没有华裔计算机科学家获此殊荣。
D.图灵奖的名称取自计算机科学先驱、英国科学家阿兰、图灵。
12.计算机在工作过程中,若突然停电,()中不会丢失信息不会丢失。
A.硬盘 B.CPU C.ROM D.RAM
13.若A=true,B=false,C=true,D=false,以下逻辑运算表达式真的有()
A.(A^B)V(C^DV¬A) B.((¬A^B)VC) ^¬B C.(BVCVD)VD^A D.A^(DV¬C) ^B
14.Web2.0是近年来互联网热门概念之一,其核心是互动与分享。下列网站中,()是典型的Web2.0的应用。
A.Sina B.Flickr C.Yahoo D.GooGle
15.(2008)10+ (5B)16 的结果是()。
A.(833)16 B.(2099) 10 C. (4063)8 D.(100001100011)2
16.二叉树T,已知其先序遍历是1 2 4 3 5 7 6(数字为节点编号,以下同),后序遍历是4 2 7 5 6 3 1,则该二叉树的中根遍历是()
A.4 2 1 7 5 3 6 B. 2 4 1 7 5 3 6 C. 4 2 1 7 5 6 4 D. 2 4 1 5 7 3 6
17.面向对象的程序设计(Object-Oriented Programming)是一种程序设计的方法论,它将对象作为程序设计的基本单元,将数据和程序封装在对象中,以提高软件的重用性、灵活性、和扩展性。下面关于面向对象的程序设计说法中正确的是()。
A.面向对象的程序设计方法通常采用自顶向下的设计方法进行设计。
B.面向对象的程序设计方法具有继承性(inheritance)、封装性(encapsulation)、多态性(polymorphism)等几大特点。
C.支持面向对象特性称为面向对象的编程语言,目前较为流行的有C++,JAVA,C#等。
D.面向对象的程序设计的雏形来自于Simula语言,后来在Smalltalk语言的完善和标准化的过程中得到更多的扩展和对以前的思想的重新注解。至今,Smalltalk语言任然被视为面向对象的基础。
18.设T是一棵有n个定点的树,以下说法正确的是()。
A.T是联通的,无环的。
B.T是联通的,有n-1条边。
C.T是无环的,有n-1条边。
D.以上都不对。
19.NOIP竞赛推荐使用的语言环境有()。
A.Dev-C++ B.Visual C++ C. free pascal D.lazarus
20.在下列防火墙(firewall)的说法中,正确的有()。
A.防火墙是一项协助确保信息安全的设备,其会依照特定的规则,允许或是限制数据通过。
B.防火墙可能是一台专属硬件或是安装在一般硬件上的一套软件。
C.网络层防火墙可以视为一种IP数据包过滤器,只允许符合特定规定的数据包通过,其余的一概禁止穿越防火墙。
D.应用层防火墙是在TCP/IP的“应用层”上工作,可以拦截进出某应用程序的所有数据包。

--------------------------------------------------------------------------------

2 回复:NOIP2008 初赛试题+答案(提高组)
问题求解:
1.有6个城市,任何两个城市之间有一条道路连接,6个城市之间两两之间的距离如下表表示,则城市1到城市6的最短距离为 。
城市1 城市2 城市3 城市4 城市5 城市6
城市1 0 2 3 1 12 15
城市2 2 0 2 5 3 12
城市3 3 2 0 3 6 5
城市4 1 5 3 0 7 9
城市5 12 3 6 7 0 2
城市6 15 12 5 9 2 0
2.书架上有21本书,编号从1 到 21 从中选4 本,其中每两本的编号都不相邻的选法一共有 。

阅读程序
1.var
i,a,b,c,d:integer;
f:array[0..3] of integer;
begin
for i:=0 to 3 do
read(F);
a:=F[0]+F[1]+F[2]+F[3];
a:=a div F[0];
b:=F[0]+F[2]+F[3];
c:=(b*F[1]+a) div F[2];
d:=F[(b div c) mod 4];
if (F(a+b+c+d) mod 4]>F[2]) then
begin
a:=a+b;
writeln(a)
end
else
begin
c:=c+d;
writeln©;
end;
end.
输入: 9 19 29 39
输出:

2.procedure foo(a,b,c:integer);
begin
if a>b then foo(c,a,b)
else
writeln(a,',',b,',',c)
end;
var a,b,c:integer;
begin
readln(a,b,c);
foo(a,b,c);
end.
输入:2 1 3
输出:

3.procedure f(a,b,c:integer);
begin
write(a,b,c,'/');
if (a=3)and(b=2)and(c=1) then exit;
if (b<c) then f(a,c,b)
else
if a<b then
if a<c then f(c,a,b) else F(b,c,a);
end;
var a,b,c:integer;
begin
readln(a,b,c);
f(a,b,c);
end.
输入:1 3 2
输出:

4.var
s:string;
i,j,len,k:integer;
begin
readln(s);
len:=length(s);
for i:=1 to len do
if (ord(s)>=ord('A')) and (ord(s)<=ord('Z')) then
s:=chr(ord(s)-ord('A')+ord('a'));
for i:=1 to len do
if (ord(s)<ord('X')) then s:=chr(ord(s)+3)
else
s:=chr(ord(s)-23));
write(s):
write('/');
for j:=1 to 3 do
begin
i:=1;
while i<=len-j do
begin
s:=s[i+j];
i:=i+j;
end;
end;
writeln(s);
end.
输入:ABCDEFGuvwxyz
输出:

--------------------------------------------------------------------------------