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

一、选择一个正确答案代码(A/B/C/D) ,填入每题的括号内(每题 2分,只有一个正确答案,多选无分,共 20 分)

1. 以下不是微软公司开发的软件是( )。

  • A.Access
  • B.FrontPage
  • C.Excel
  • D.Acrobat Reader

2. 有一种利用打孔透光原理设计的简易身份识别卡:每张卡在规定位置上有一排预打孔位,读卡器根据透光检测判断哪些孔位已打孔,哪些孔位未打孔,从而识别出卡的编码。如果要设计一种供300人使用的身份卡,则卡上的预定孔位至少需要( )。

  • A.5个
  • B.7个
  • C.9个
  • D.10个

3. 字母“c”的ASCII码值为99,则字母“f”的十六进制ASCII码是( )

  • A.66H
  • B.6CH
  • C.67H
  • D.9DH

4. 在IE浏览器中,要查看最近访问过的网址,应单击下列按钮中的( )。

  • A.主页
  • B.搜索
  • C.历史
  • D.停止

5. 以下不属于无线通信技术的是( )。

  • A.蓝牙
  • B.WiFi
  • C.GPRS
  • D.以太网

6. 一棵二叉树如图1所示,若采用顺序存储结构,即用一维数组元素存储该二叉树中的结点(根结点的下标为1,若某结点的下标为i,则其左孩子位于下标2i处,右孩子位于下标(2i+1)处),则图中所有结点的最大下标为( )。

  • A.27
  • B.6
  • C.24
  • D.26

7. 下列做法 符合信息安全的是( )。 ①用智能手机随意扫描商家发来的二维码以便获取优惠 ②网上下载共享软后先查杀病毒再安装使用 ③不随意打开陌生邮件中的exe格式的附件 ④为方便记忆用自己的出生成月作为网上银行的登录密码 ⑤定期安装操作系统补丁并升级杀毒软件

  • A.①②③
  • B.②③④
  • C.②③⑤
  • D.①④⑤

8. 某算法流程图如图2所示,执行该算法,输出s的结果是( )

  • A.4/3
  • B.1/2
  • C.-2
  • D.3

9. 今有一空栈,对下列待进栈的数据元素序列a,b,c,d,e,f依次进行进栈,进栈,出栈,进栈,进栈,出栈的操作,则此操作完成后,栈S的栈顶元素为( )。

  • A.f
  • B.c
  • C.a
  • D.b

10. 在有 2016个结点的连通图中,其边数最少需要( )

  • A.2017条
  • B.2016条
  • C.2015条
  • D.2014条

二、根据要求回答问题(5+5=10 分)

1. 有M个一模一样的乒乓球,放到N个一样的盒子中,允许有的盒子空着不放,共有多少种放法?(用K表示)。 例如:M=7,N=3时,K=8时; 在这时认为(5,1,1)和(1,5,1)是同一种放法。 问M=8,N=4时,K=_______。
答案:15

2. 甲、乙、丙、丁四人同时参加一次信息学竞赛,赛后,他们四人预测名次的谈话如下: 甲:丙得第一名,我第三名。 乙:我第一,丁第四。 丙:丁第二,我第三。 丁没有说话。 当最后公布结果时,发现甲、乙、丙都只说对了一半,请你说出这次竞赛四人的名次。
答案:甲第三 乙第一 丙第四 丁第二

三、阅读程序并写出红运行结果(8+8+8+8+8=40 分)

1.

var a,b:integer; 
begin
  a:=3;
  b:=7;
  a:=a-b;
  b:=b+a;
  a:=b-a;
  writeln('a=',a);
  writeln('b=',b);
end.
输出:a=7 b=3

2.

var
  i, n, r, s, x: integer;
begin
  readln(n);
  for i:=1 to n do
    begin
	  readln(x);
	  s:=0;
	  while x<>0 do
	   begin
	     r:=x mod 2;
		 if r=1 then s:=s+1;
		 x:=x div 2;
	   end;
	writeln(s);
  end;
end.
输入:
4
2
100
1000
66
输出:1 3 6 2

3.

var
  s,s1:string;
  i, a, b, k: integer;
begin
  readln(s);
  s1:='you';
  k:=0;
  a:=length(s);
  b:=length(s1);
  for i:=1 to a-b+1 do
    if copy(s, i, b)=s1 then k:=k+1;
  writeln(k);
end.
输入:It's easy. You get off the bus. Then you cross the road. You take the first road on the left. You walk  for five minutes.

输出:1

4.

var x, y, z:integer;
procedure silly(x:integer;var y:integer);
begin
  x:=7;y:=17;z:=18;
  writeln(x, ' ',y,' ',z)
end;
begin
 x:=1;y:=2;z=3;
 silly(x,y);
 writeln(x,' ',y,' ',z)
end;
输出:7 17 18 1 17 18

5.

var
  n:longint;
procedure change(n:longint);
var
  i,j:longint;
begin
  if n=0 then exit;
  i:=n mod 8;
  j:=n div 8;
  change(j);
  writeln(i);
end;
begin
  readln(n);
  change(n);
end.

输入:2017
输出:3741

四、完善程序 (根据问题要求和已有程序,在程序空格处填入适当的语句或符号,使程序完整。本题每空 3分,共 30分)

1. 1.某数据压缩方法描述如下:
1) 原始数据中,某数不为0且相邻无重复,压缩数据用该数据表示;
2) 原始数据中,某数为0且相邻无重复,压缩数据用两个数表示,第1个位0 ,第2个为0;
3) 原始数据中,某数据相邻有重复,压缩数据用3个数表示:第1个位0,第2个为重复数的个数,第3个为该数本身;
根据上述压缩方法,对应的解压缩方法示例如图3所示。

小明编写了一个解压缩程序,功能如下:窗体加载时,自动读取压缩数据,依次存储在数组元素a[1]、a[2]、a[3]……中,压缩数据的个数存储在变量n中,解压缩后的数据依次存储在数组元素b[1]、b[2]、b[3]……中。
输入格式:
输入数据两行,第一行一个数n,代表压缩数据个数;第二行n个数字,代表压缩数据。
输出格式:
输出文件仅有一行,为解压缩后的数据。
输入样例:
6
25 0 0 0 7 78
输出样例:
25 0 78 78 78 78 78 78 78
实现上述功能程序如下,请在划线处填入合适代码。

var
  a:array[1.. 1000] of integer;
  b:array[L . 1000] of integer;
  pa, pb, n, firstdata, count, i: integer; 
begin
  readln(n); 
  for i:=1 to n do
  read(a[i]); 
  pa:=1;
   pb:=1 ;
  while pa<=n do
    begin
	  firstdata:=a[pa];
	  if firstdata<>0 then
	  begin
	    b[pb]:= firstdata;
		pa:=pa+1;
		pb:=pb+1;
	  end
	  else
	    begin
		  count:=a[pa+1]; 
		  if count=0 then
		  begin
		    b[pb]:=0;
			pa:= pa+2 ;
    		pb:=pb+1
		  end
		  else
		    begin
			 for i:=1 to count do
			  begin
			    b[pb]:=a[pa+2];
				pb:= pb+1 ;
			  end;
			  pa:=pa+;
			end;
	     end;
	end;
	for i:=1 to  pb-1 do write (b[i],' ');
end.

2. 小明同学编写如下功能的程序:从键输入任意—个字符串和一个字符,要求从该字符串中删除所有该字符。
输入格式:
两行,第一行是字符串(字符串至少有一个字符,不多于100个),第二行是一个字符。
输出格式:
两行,第一行为删除了所有字符后的字符串,第二行是删除的字符个数。

样例输入:
ASD Dfg fhd
D
样例输出:
AS fg fhd
2
为实现上述功能请在划线处填合适保代码。

var m,ch,s, s1, s2:string;
  len,i,g:integer;
begin
  readln(s);
  readln(ch);
   len:=length(s);
   i:=1;
   g:=0;
   while i<=len do
   begin
   m:=copy (s, i, 1);
   if m=ch then
   begin
     s1:=copy(s, 1, i-1);
	 s2:=copy(s, i+1, len-i或len或len-1 );
	 s:=s1+s2;
	  inc(g);
	 i=i-1;
	 len:=len—1;
   end;
  i:=i+1;
  end;
  writeln(s) ;
  writeln(g);
end.