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

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

1. 字符在计算机内部是连续表示的,字符“T”的ASCII码对就的二进制数为1010100,则大写字符“R”的ASCII码对应的二进制是( )

  • A.1010101
  • B.1010000
  • C.1010010
  • D.1000111

2. 用一个字节表示整数,则11和-11在计算机内部分别表示为(  )

  • A.00001011 10001010
  • B.00001011 11110101
  • C.11110101 11110100
  • D.00001011 11110110

3. 运算器是(  )的重要组成部分。

  • A.硬盘
  • B.主板
  • C.内存
  • D.中央处理器(CPU)

4. 在外部设备中,扫描仪属于(  )

  • A.输入设备
  • B.输出设备
  • C.辅(外)存储器
  • D.主(内)存储器

5. 每个不同的二进制数可以表示一种颜色,如果一幅图像有256种颜色,最少需要几位二进制数来表示?

  • A.8
  • B.16
  • C.128
  • D.256

6. 下列软件中是计算机操作系统的是(  )

  • A.EXCEL
  • B.LINUX
  • C.WORD
  • D.SAFARI

7. 下面哪个是即时通讯工具(  )

  • A.微信
  • B.推特Twitter
  • C.微博
  • D.脸谱facebook

8. 下列软件不能用于浏览网页的是(  )

  • A.SAFARI
  • B.INTERNET EXPLORER
  • C.MYSQL
  • D.GOOGLE CHROME

9. 下列说法中,错误的是(  )

  • A.程序是指令的序列,它有三种结构:顺序、分支和循环
  • B.地址总线决定了中央处理器CPU所能访问的最大内存空间的大小
  • C.中央处理器(CPU)内部有寄存器组,用来存储数据
  • D.不同厂家生产的CUP所能处理的指令集一定相同。

10. 计算机的运算速度取决于给定的时间内,它的处理器所能处理的数据量。处理器一次能处理的数据量叫字长。已知6位的酷睿处理器一次能处理64个信息位,相当于(  )字节。

  • A.8个
  • B.1个
  • C.16个
  • D.2个

11. 以下运算结果为FALSE的是( )

  • A.5>5
  • B.(5>=4)and(7<=7)
  • C.not(False)
  • D.(6<4)or(5>=5)

12. 下列说法中正确的是( )

  • A.计算机体积越大,其功能就越强
  • B.CPU主频越高,其运行速度越快
  • C.两个显示器屏幕大小相同,则它们的分辨率必定相同
  • D.点阵打印机的针数越多,则能打印的汉字字体越多

13. 将十进制数0.5转化成十六进制数:(0.5)10=( )16

  • A.0.1
  • B.0.75
  • C.0.8
  • D.0.25

14. 一个包含N个分支结点(非叶结点)的完全二叉树,它的叶结点数目为( )

  • A.2N+1
  • B.N
  • C.N-1
  • D.N+1

15. 快速排序最好情况下的算法复杂度为( )

  • A.O(Log2N)
  • B.O(N)
  • C.O(NLog2N)
  • D.O(N2)

16. 有一个由1000个整数构成的顺序表,假定表中的元素已经按推升序排列,采用二分查找定位一个元素。则最多需要几次比较就能确定是否存在所查找的元素( )

  • A.1000次
  • B.10次
  • C.100次
  • D.500次

17. 排序算法是稳定的意思是关键码相同的记录排序前后的相对位置不发生改变,下列哪种排序算法骒不稳定的( )

  • A.冒泡排序
  • B.插入排序
  • C.归并排序
  • D.快速排序

18. 已知N个顶点的有向图,若该图是强连通的(从所有顶点都存在路径到达其他顶点),则该图最少有多少条有向边( )

  • A.N
  • B.N+1
  • C.N-1
  • D.N*(N-1)

19. 现在主要使用的IPV4地址是由( )位二进制数码表示的。

  • A.16
  • B.32
  • C.24
  • D.8

20. 美籍匈牙利数学家冯?诺依曼对计算机科学发展所做出的贡献是( )

  • A.提出理想计算机数学模型,成为计算机科学理论基础
  • B.是世界上第一个编写计算机程序的人
  • C.提出存储程序工作原理,并设计出第一台具有存储程序功能的计算机EDVAC
  • D.指出计算机性能将以每两年翻一番的速度向前发展

二、问题求解(共2题,每空5分,共计10分)

1. 设有一个共有6级的楼梯,某人每步可以走1级,也可走2级,也可走3级,问某人从底层开始走完全部楼梯的走法共有______种。(当有3级楼梯时,共有4种走法,即1+1+1+,1+2,2+1,3)
答案:24

2. 在一个果园里,笑笑将所有的果子打下来,而且按果子的不同种类分成了不同的堆。笑笑决定把所有的果子合成一堆。 每一次合并,笑笑可以把任意两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1合并之后,就只剩下一堆了。笑笑在合并果子的总共消耗的体力等于每次合并所耗体力之和。 假定有5堆果子,每堆果子的数量为12,4,11,15,10,每个果子重量都为2,笑笑想知道最小的体力耗费值是_______。
答案:52

三、阅读程序写结果(共4题,每题8分,共计32分)

1.

var h,m,s,n:longint;
begin
  readln(n);
  h:=n div 3600;
  m:=n div 60-h*60;
  s:=n mod 60;
  writeln(h,'h',m,'m',s,'s');
end.
输入:4096

输出:1h8m16

2.

var n,a,b,c,i:longint;
begin
  read(n);
  a:=0;b:=1;i:=1;
  while i<n do
  begin
    c:=a+b;
    a:=b;
    b:=c;
    inc(i);
  end;
  writeln(c);
end.
输入:9

输出:34

3.

var n:longint;
procedure change(t:longint);
begin
  if t=0 then exit;
  change(t div 8);
  write(t mod 8);
end;
begin
  readln(n);
  change(n);
end.
输入:2016

输出:3740

4.

var n,i,j,k:longint;
    st:ansistring;
begin
  readln(n);
  readln(st);
  st:=st+st;
  i:=1;j:=2;k:=0;
  while (i<=n)and(j<=n)and(k<n) do
  begin
    if i=j then inc(j);
    if st[i+k]=st[j+k] then inc(k)
    else
    if st[i+k]<st[j+k] then
     begin
       j:=j+k+1;
       k:=0;
     end
     else
     begin
       i:=i+k+1;
       k:=0;
     end;
    end;
    writeln(i);
end.
输入:15
      Yuyaoshijingsai

输出:1

四、完善程序(前8空,每空3分,后2空,每空2分,共28分)

1. (买铅笔)幻方P老师需要去商店买N支铅笔作为小朋友们参加NOIP的礼物。她发现商店一共有3种包装的铅笔,不同包装内的铅笔数量有可能不同,价格也有可能不同。为了公平起见,P老师决定只买一种包装的铅笔。
商店不允许将铅笔的包装拆开,因此P老师可能需要购买超过N支铅笔才够给小朋友们的发礼物。
现在P老师想知道,在商店每种包装的数量都足够的情况下,要买够至少N支铅笔最少需要花费多少钱。
现给定N(需要的铅笔数量),以及3种包装的铅笔信息。第一个整数表示这种包装内的铅笔的数量,第二个整数表示这种包装的价格。求P老师最少需要花费的钱。
样例输入:
57
2 2
50 30
30 27
样例输出:
54

var n,i,x,y,s,min:longint;
begin
read(n);
min:=maxlongint;
for i:=1 to  3   do
  begin
    read(x,y);
    s:=(  n-1 ) div x+1;
    if  y*s<min   then  min:=  _y*s_   ;
  end;
writeln(  min  );
end.

2. (回文日期)在日常生活中,通过年、月、日这三个要素可以表示出一个唯一确定的日期。
牛牛习惯用8位数字表示一个日期,其中,前4位表示年份,接下来2位代表月份,最后2位代表日期。显然,一个日期只有一种表示方法,而两个不同的日期的表示方法不会相同。
牛牛认为,一个日期是回文的,当且仅当表示这个日期的8位数字是回文的。现在,牛牛想知道:在他指定的两个日期之间(包含两个日期本身),有多少个真实存在的日期是回文的。
一个8个数字是回文的,当且仅当对于所有的i(1<=i<=8)从左向右数的第i个数字和第9-i个数字(即从右向左数的第i个数字)是相同的。
例如:
对于2016年11月19日,用8位数字20161119表示,它不是回文的
对于2010年1月2日,用8位数字20100102,它是回文的
对于2010年10月2日,用82位数字20101002表示,它不是回文的
每一年中都有12个月份:
其中,1、3、5、7、8、10、12月每个月有31天;4、6、9、11月每个月30天;而对于2月,闰年时有29天,平年时有28天。
一个年份是闰年当且仅当它满足下列两种情况其中的一种:
1、    这个年份是4的整数倍,但不是100的整数倍;
2、    这个年份是400的整数位。
例如:
以下几个年份都是闰年:2000、2012、2016.
以下几个年份都是平年:1900、2011、2014

样例输入:
20000101
20101231
样例输出:
2
对于样例,符合条件的日期是20011002和20100102
算法提示:枚举年份,再根据年份得到回文的日期,最后判断每个日期是否构成回文,且在起始终止日期之间。

var st,st1:string;
    x,y,i,g,m,d,sum,j:longint;

function monthday(y,m:longint):longint;//得到第y年m月的天数。
begin
  if (m=1)or(m=3)or(m=5)or(m=7)or(m=8)or(m=10)or(m=12) then exit(31);
  if (m=4)or(m=6)or(m=9)or(m=11) then exit(30);
  if m=2 then
    if (y mod 400=0)or (y mod 4=0) and (y mod 100<>0)    then exit(29)
    else exit(28);
end;

function pd:boolean;
begin
  if (m<1)or(m>12) then exit(false);
  if (d<1)or(d> monthday(i,m) ) then exit(false);
  if i<1000 then exit(false);
  if (g mod 10000<x mod 10000) or(g mod 10000 >y mod 10000) then exit(false);
  exit(true);
end;

begin
  read(x,y);
  for i:=x div 10000 to y div 10000 do
  begin
    str(i,st1);//str函数作用将数字i转换成字符串,并赋值给st1;
    st:=‘00000000’;
    if length(st1)<>4 then continue;
    for j:=1 to 4 do
    begin
      st[j]:=st1[j];
      st[9-j]:=st1[j];
    end;
    val(st,g);  //val函数作用将字符串st转换成数字,并赋值给变量g;
    val(copy(st,5,2),m);
    val( copy(st,7,2) ,d);
    if pd then  inc(sum)      ;
  end;
  writeln(sum);
end.