NOIP2010初赛模拟试题(六)
( 普及 Pascal语言 二小时完成 )
● ● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效 ●●
一. 单项选择题 (共20题,每题1.5分,共计30分。每题有且仅有一个正确答案。)
1、.在所有由两个1和六个0组成的8位二进制整数(补码)中,最小的数是:( )
A.-127 B.-64 C.-128 D.-65
2、.在一棵二叉树结点的先根序列、中根序列和后根序列中,所有叶子结点的先后顺序( )
A.都不相同 B.完全相同
C.先序和中序相同,而与后序不同 D.中序和后序相同,而与先序不同
3、下面有效的IP地址是:( )
A.202.280.130.45 B.130.192.33.45
C.192.256.130.45 D.280.192.33.456
4、一台具有1024*768分辨率、可显示65 536种颜的显示器,其显示适配器(显示卡)上显示存储器容量的配置为:( )
A.512K B.1MB C.大于1.6MB,小于2MB D.2MB
5、进行二分法查,则线性表( )
A.必须顺序方式存储
B.必须以链接方式存储,且数据元素已按值排好序
C.必须以链接方式存储
D.必须以顺序方式存储,且数据元素已按值排好序
6、机器语言是用( )编写的。
A.二进制码 B.ASCII码 C.十六进制码 D.国标码
7、一棵含有101个结点的完全二叉树存储在数组A[1..101]中,对1≤k≤101,若 A[k]是叶子结点,则k的最小值是:( )
A.51 B.50 C.49 D.48
8、不同的计算机,其指令系统也不相同,这主要取决于 ( )
A. 所用的操作系统 B. 系统的总体结构
C. 所用的 CPU D. 所用的程序设计语言
9、计算机主机是由CPU 与( )构成的。
A.控制器 B。输入、输出设备 C.运算器 D.内存储器
10、计算机系统总线上传送的信号有( )。
A.地址信号与控制信号 B.数据信号、控制信号与地址信号
C.控制信号与数据信号 D.数据信号与地址信号
11、计算机的运算速度取决于给定的时间内,它的处理器所能处理的数据量。处理器一次能处理的数据量叫字长。已知64位的奔腾处理器一次能处理64个信息位,相当于( )字节。
A.8个 B.1 个 C.16个 D.2个
12、某数列有1000个各不相同的单元,由低至高按序排列;現要对该数列進行二分法检索(binary search),在最坏的情況下,需检视( )个单元。
A.1000 B.10 C.100 D.500
13、字符串’aABaa’的最长回文字串是( )
A.aAaa B.aabaa C.aa D.B
14、在一棵具有n个结点的二叉树的第i层上,最多具有 ( )个结点
(A)2i (B)2^(i+1) (C)2^(i-1) (D)2^n
15、在一棵完全二叉树中,若编号为i的结点存在左儿子,则左儿子的编号是( )
(A)2i (B)2i-1 (C)2i+1 (D)2i+2
适配器字符串是什么16、链表不具有的特点是( )
A) 可随机访问任一元素 B)插入删除不需要移动元素
C)不必事先估计存储空间 D)所需空间与线性表长度成正比
17、在以下各项中,( )不是操作系统软件。
A. Solaris B. Linux C. Sybase D. Windows Vista E. Symbian
18、微型计算机中,ALU的基本功能是( )。
A. 控制机器各个部件协调工作 B. 实现算术运算和逻辑运算
C. 存储各种控制信息 D. 获取外部信息 E. 存放程序和数据
19、设栈S的初始状态为空,元素a,b,c,d,e,f依次入栈S,出栈的序列为b,d,c,f,e,a,则栈S的容量至少应该是( )。
A. 6 B. 5 C. 4 D. 3 E. 2
20、对有序数组{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
三.问题求解(共2题,每空5分,共计10分)
1.用1个或多个互不相同的正整数之和表示1~511之间的所有整数
①至少要多少个不同的正整数_________________;
②这些正整数是_______________
2.拓扑排序是指将有向无环图G中的所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若<u,v> ∈E(G),则u在线性序列中出现在v之前,这样的线性序列成为拓扑序列。如下的有向无环图,对其顶点做拓扑排序,则所有可能的拓扑序列的个数为 。
四.阅读程序写结果(共4题,每题8分,共计32分)
1. program t1;
var i,s,max:integer;
a:array[1..10] of integer;
begin
for i:=1 to 10 do read(a[i]);
max:=a[1];s:=a[1];
for i:= 2 to 10 do
begin
a:array[1..10] of integer;
begin
for i:=1 to 10 do read(a[i]);
max:=a[1];s:=a[1];
for i:= 2 to 10 do
begin
if s<0 then s:=0;
s:=s+a[i];
if s>max then max:=s;
end;
writeln('max=',max)
end.
s:=s+a[i];
if s>max then max:=s;
end;
writeln('max=',max)
end.
输入:-2 13 -1 4 7 8 -1 -18 24 6
输出:max=
输入:8 9 -1 24 6 5 11 15 -28 9
输出:max=
1. program t2;
const n=5;
var i,j,k:integer;
a:array[1..2*n,1..2*n] of integer;
begin
k:=1;
for i:=1 to 2*n-1 do
if i<=n then
if odd(i) then
for j:=i downto 1 do
begin
a[i-j+1,j]:=k;k:=k+1;
end
else for j:= 1 to i do
begin
a[i-j+1,j]:=k;k:=k+1;
end
a:array[1..2*n,1..2*n] of integer;
begin
k:=1;
for i:=1 to 2*n-1 do
if i<=n then
if odd(i) then
for j:=i downto 1 do
begin
a[i-j+1,j]:=k;k:=k+1;
end
else for j:= 1 to i do
begin
a[i-j+1,j]:=k;k:=k+1;
end
else if odd(i) then
for j:=n downto i-n+1 do
begin
a[i-j+1,j]:=k;k:=k+1;
end
else for j:=i-n+1 to n do
begin
a[i-j+1,j]:=k;k:=k+1;
end;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:3);
writeln
end;
end.
for j:=n downto i-n+1 do
begin
a[i-j+1,j]:=k;k:=k+1;
end
else for j:=i-n+1 to n do
begin
a[i-j+1,j]:=k;k:=k+1;
end;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:3);
writeln
end;
end.
3. program t3;
const n=10;
var s,i:integer;
function co(i1:integer):integer;
var j1,s1:integer;
begin
s1:=n;
for j1:=n-1 downto n-i1+1 do
s1:=s1*j1 div (n-j1+1);
co:=s1;
end;
begin
s:=n+1;
for i:=2 to n do s:=s+co(i);
var s,i:integer;
function co(i1:integer):integer;
var j1,s1:integer;
begin
s1:=n;
for j1:=n-1 downto n-i1+1 do
s1:=s1*j1 div (n-j1+1);
co:=s1;
end;
begin
s:=n+1;
for i:=2 to n do s:=s+co(i);
writeln('s=',s);
end.
end.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论