不是VIP会员,不能显示答案,请在后台“我的信息” 在线升级 VIP

一、 单项选择题 (共10题,每题1.5分,共计15分。每题有且仅有一个正确答案.)。

1. 设全集I = {a, b, c, d, e, f, g},集合A = {a, b, c},B = {b, d, e},C = {e, f, g},那么集合(A-B)∪(~C∩B) 为( )。

  • A.{a, b, c, d}
  • B.{a, b, d, e}
  • C.{b, d, e}
  • D.{b, c, d, e}
  • E.{d, f, g}

2. 由3个a,5个b和2个c构成的所有字符串中,包含子串“abc”的共有( )个。

  • A.40320
  • B.39600
  • C.840
  • D.780
  • E.60

3. 某个车站呈狭长形,宽度只能容下一台车,并且只有一个出入口。已知某时刻该车站状态为空,从这一时刻开始的出入记录为:“进,出,进,进,出,进,进,进,出,出,进,出”。假设车辆入站的顺序为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

4. 满二叉树的叶结点个数为N,则它的结点总数为( )。

  • A.N
  • B.2 * N
  • C.2 * N – 1
  • D.2 * N + 1
  • E.2N – 1

5. 二叉树T,已知其前序遍历序列为1 2 4 3 5 7 6,中序遍历序列为4 2 1 5 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

6. 十进制数100.625等值于二进制数( )。

  • A.1001100.101
  • B.1100100.101
  • C.1100100.011
  • D.1001100.11
  • E.1001100.01

7. 下面哪个部件对于个人桌面电脑的正常运行不是必需的( )。

  • A.CPU
  • B.图形卡(显卡)
  • C.光驱
  • D.主板
  • E.内存

8. 下列哪个网络上常用的名字缩写是错误的( )。

  • A.WWW(World Wide Web)
  • B.URL(Uniform Resource Locator)
  • C.HTTP(Hypertext Transfer Protocol)
  • D.FTP(Fast Transfer Protocol)
  • E.TCP(Transfer Control Protocol)

9. 用静电吸附墨粉后转移到纸张上,是哪种输出设备的工作方式( )。

  • A.针式打印机
  • B.喷墨打印机
  • C.激光打印机
  • D.笔式绘图仪
  • E.喷墨绘图仪

10. 一台计算机如果要利用电话线上网,就必须配置能够对数字信号和模拟信号进行相互转换的设备,这种设备是( )。

  • A.调制解调器
  • B.路由器
  • C.网卡
  • D.网关
  • E.网桥

二、 不定项选择题 (共10题,每题1.5分,共计15分。多选或少选均不得分)。

1. 美籍匈牙利数学家冯•诺依曼对计算机科学发展所做出的贡献包括( )。

  • A.提出理想计算机的数学模型,成为计算机科学的理论基础。
  • B.提出存储程序工作原理,对现代电子计算机的发展产生深远影响。
  • C.设计出第一台具有存储程序功能的计算机EDVAC。
  • D.采用集成电路作为计算机的主要功能部件。
  • E.指出计算机性能将以每两年翻一番的速度向前发展。

2. 下列哪个(些)是64位处理器( )。

  • A. Intel Itanium
  • B.Intel Pentium III
  • C.AMD Athlon64
  • D.AMD Opteron
  • E.IBM Power 5

3. (2004)10 + (32)16的结果是( )。

  • A.(2036)16
  • B.(2054)10
  • C.(4006)8
  • D.(100000000110)2
  • E.(2036)10

4. 下列哪个(些)不是数据库软件的名称( )。

  • A.MySQL
  • B.SQL Server
  • C.Oracle
  • D.Outlook
  • E.Foxpro

5. 下列哪个(些)不是计算机的存储设备( )。

  • A.文件管理器
  • B.内存
  • C.显卡
  • D.硬盘
  • E.U盘

6. 下列哪个(些)软件属于操作系统软件( )。

  • A.Microsoft Word
  • B.Windows XP
  • C.Foxmail
  • D.金山影霸
  • E.Red Hat Linux

7. 下列说法中正确的有( )。

  • A.CPU的基本功能就是执行指令。
  • B.CPU的主频是指CPU在1秒内完成的指令周期数,主频越快的CPU速度一定越快。
  • C.内部构造不同的CPU运行相同的机器语言程序,一定会产生不同的结果。
  • D.在一台计算机内部,一个内存地址编码对应唯一的一个内存单元。
  • E.数据总线的宽度决定了一次传递数据量的大小,是影响计算机性能的因素之一。

8. 彩色显示器所显示的五彩斑斓的色彩,是由哪三色混合而成的( )。

  • A.红
  • B.白
  • C.蓝
  • D.绿
  • E.橙

9. 下列哪个(些)程序设计语言支持面向对象程序设计方法( )。

  • A.C++
  • B.Object Pascal
  • C.C
  • D.Smalltalk
  • E.Java

10. 某大学计算机专业的必修课及其先修课程如下表所示: 请你判断下列课程安排方案哪个(些)是合理的( )。

  • A.C0, C1, C2, C3, C4, C5, C6, C7
  • 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

三.问题求解(共2题,每题5分,共计10分)

1. 75名儿童到游乐场去玩。他们可以骑旋转木马,坐滑行铁道,乘宇宙飞船。已知其中20人这三种东西都玩过,55人至少玩过其中的两种。若每样乘坐一次的费用是5元,游乐场总共收入700,可知有 名儿童没有玩过其中任何一种。
答案:10

2. 已知a, b, c, d, e, f, g七个人中,a会讲英语;b会讲英语和汉语;c会讲英语、意大利语和俄语;d会讲汉语和日语;e会讲意大利语和德语;f会讲俄语、日语和法语;g会讲德语和法语。能否将他们的座位安排在圆桌旁,使得每个人都能与他身边的人交谈?如果可以,请以“a b”开头写出你的安排方案:______。
答案:a b d f g e c

四.阅读程序(共4题,每题8分,共计32分)

1.

program progam1;
var
	u: array [0..3] of integer;
	a, b, c, x, y, z: integer;
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 - z);
end.
输入:2 5 7 4
输出:263

2.

program program2;
var
	i, number, ndata, sum: integer;
	data: array[1..100] of integer;
procedure solve(s, sign, n: integer);
var i: integer;
begin
    for i := s to ndata do begin
        inc(sum, sign * (number div (n * data[i])));
        solve(i + 1, -sign, n * data[i]);
    end;
end;
begin
	read(number ,ndata);
	sum := 0;
	for i := 1 to ndata do read(data[i]);
	solve(1, 1, 1);
	writeln(sum);
end.
输入:1000 3 5 13 11
输出:328

3.

program program3;
var c: array[1..3] 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 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
					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, ' ', s[i], ' ');
end.
输入:
3 10
1110000111
1100001111
1000000011
输出:1 4 2 1 3 3

4.

program program4;
const
	u: array[0..2] of integer = (1, -3, 2);
	v: array[0..1] of integer = (-2, 3);
var
	i, n, sum: integer;
function g(n: integer): integer;
var i, sum: integer;
begin
	sum := 0;
	for i := 1 to n do inc(sum, u[i mod 3] * i);
	g := sum;
end;
begin
	sum := 0;
	read(n);
	for i := 1 to n do inc(sum, v[i mod 2] * g(i));
	writeln(sum);
end.
输入:103
输出:-400

五.完善程序 (前5空,每空2分,后6空,每空3分,共28分)

1. Joseph
题目描述:
原始的Joseph问题的描述如下:有n个人围坐在一个圆桌周围,把这n个人依次编号为1,…,n。从编号是1的人开始报数,数到第m个人出列,然后从出列的下一个人重新开始报数,数到第m个人又出列,…,如此反复直到所有的人全部出列为止。比如当n=6,m=5的时候,出列的顺序依次是5,4,6,2,3,1。
现在的问题是:假设有k个好人和k个坏人。好人的编号的1到k,坏人的编号是k+1到2k。我们希望求出m的最小值,使得最先出列的k个人都是坏人。
输入:
仅有的一个数字是k(0 < k <14)。
输出:
使得最先出列的k个人都是坏人的m的最小值。
输入样例:
4
输出样例:
30
程序:

program program1;
var
	i, k, m, start: longint;
	find: boolean;
function check(remain: integer): boolean;
var result: integer;
begin
	result:=  start+m-1  mod remain;
	if(  result>=k  )then begin
		start := result; check := true;
	end
	else check := false;
end;
begin
	find := false;
	read(k);
	m := k;
	while (  not find  ) do begin
		find := true; start := 0;
		for i := 0 to k-1 do
			if( not check(  2*k-i  )) then begin
				find := false; break;
			end;
		inc(m);
	end;
	writeln(  m-1  );
end.

2. 逻辑游戏
题目描述:
一个同学给了我一个逻辑游戏。他给了我图1,在这个图上,每一段边界都已经进行了编号。我的任务是在图中画一条连续的曲线,使得这条曲线穿过每一个边界一次且仅穿过一次,而且曲线的起点和终点都在这整个区域的外面。这条曲线是容许自交的。
对于图1,我的同学告诉我画出这样的一条曲线(图2)是不可能的,但是对于有的图形(比如图3),画出这样一条曲线是可行的。对于给定的一个图,我想知道是否可以画出满足要求的曲线。

输入:
输入的图形用一个n×n的矩阵表示的。矩阵的每一个单元里有一个0到255之间(包括0和255)的整数。处于同一个区域的单元里的数相同,相邻区域的数不同(但是不相邻的区域里的数可能相同)。
输入的第一行是n(0<n<100)。以下的n行每行包括n个整数,分别给出对应的单元里的整数(这n个整数之间用空格分开)。图4给出了输入样例对应的图形。
输出:
当可以画出满足题意的曲线的时候,输出“YES”;否则,输出“NO”。
输入样例:
3
1 1 2
1 2 2
1 1 2
输出样例:
YES
程序:

program program2;
const
	d: array[0..7] of integer = (1, 0, -1, 0, 0, 1, 0,-1  );
var
	orig, n, i, j, ns: integer;
    a: array[0..101, 0..101] of integer;
    bun: boolean;
procedure plimba(x, y: integer);
var i, x1, y1: integer;
begin
	a[x, y] := -a[x, y];
	if (abs(a[x - 1, y]) <> orig) and ((  a[x-1,y-1]  <> a[x - 1, y])
or (abs(a[x, y - 1]) <> orig)) then inc(ns);
	if (abs(a[x + 1, y]) <> orig) and ((a[x + 1, y - 1] <> a[x + 1,y])
or (abs(a[x, y - 1]) <> orig)) then inc(ns);
	if (abs(a[x, y - 1]) <> orig) and ((  a[x-1,y-1] <> a[x, y - 1])
or (abs(a[x - 1, y]) <> orig)) then inc(ns);
	if (abs(a[x, y + 1]) <> orig) and ((a[x - 1, y + 1] <> a[x,y + 1])
or (abs(a[x - 1, y]) <> orig)) then inc(ns);
	for i := 0 to 3 do begin
		x1 := x + d[2 * i];y1:=y+ d[2*i+1] ;
		if (x1 >= 1) and (x1 <= n) and (y1 >= 1) and (y1 <= n) and 
(  a[x1,y1]=orig  ) then plimba(x1, y1);
	end;
end;
begin
	bun := true;
	read(n);
	for i := 0 to n+1 do 
for j := 0 to n+1 do a[i, j] := 0;
	a[0, 0] := -1; a[n + 1, 0] := -1;
	a[0, n + 1] := -1; a[n + 1, n + 1] := -1;
	for i := 1 to n do 
for j := 1 to n do read(a[i, j]);
	for i := 1 to n do 
for j := 1 to n do 
if a[i, j] > -1 then begin
				ns := 0;  orig:=a[i,j]  ;
				plimba(i, j);
				if ns mod 2 = 1 then bun := false;
			end;
	if bun then writeln('YES');
	if not bun then writeln('NO');
end.