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

一、选择题(每题有且仅有一个正确答案,选对得1.5分,选错、不选或多选均不得分)

1. 下列不能描述鼠标性能的指标是

  • A.刷新率
  • B.CPI
  • C.DPI
  • D.UPI

2. 下列关于4G网络的说法中错误的是

  • A.TD-LTE是其中一种制式
  • B.FDD-LTE是其中一种制式
  • C.4G是集3G与WLAN与一体
  • D.理论上其带宽速度可以达到1000MB每秒

3. 下列关于CES2015中Intel公司新推出的CPU产品的说法中错误的是

  • A.是14nm工艺芯片
  • B.代号为Broadwell
  • C.比 Skylake架构更为先进
  • D.将首先用于笔记本和移动领域

4. 15以内的正整数(包含15)互质的数共有多少对?(a,b)和(b,a)算同一对。

  • A.71
  • B.72
  • C.73
  • D.74

5. 给定序列a=(5,3,1,2,4),每次可以交换序列中的两个数,代价为这两个数的和。那么将a排序的最小代价是多少

  • A.18
  • B.19
  • C.17
  • D.20

6. 一棵有根树中,每个非叶节点都有三个儿子,所有叶结点深度相同。若这棵树中存在一条最长的路径有9个结点,则这棵树共有多少结点

  • A.(3^5 - 1)/2
  • B.3^5
  • C.(3^6 - 1)/2
  • D.3^6

7. 十进制数174转化成二进制是

  • A.10011110
  • B.10010011
  • C.10110000
  • D.10101110

8. 已知A=True,B=False,C=True,下列逻辑表达式中值为真的是

  • A.(A∨C)∧B
  • B.(A∧B)∨(B∧C)
  • C.(A∨C)∨(A∧(B∨¬C))
  • D.(¬ (A∧C))∨(B∧C)

9. 以下哪个顺序描述了一个编译器

  • A.语法分析器,语义分析器,词法分析器,中间代码生成器,机器无关代码优化器,代码生成器,机器有关代码优化器
  • B.语法分析器,语义分析器,词法分析器,中间代码生成器,机器有关代码优化器,代码生成器,机器无关代码优化器
  • C.词法分析器,语法分析器,语义分析器,中间代码生成器,机器无关代码优化器,代码生成器,机器有关代码优化器
  • D.词法分析器,语法分析器,语义分析器,中间代码生成器,机器有关代码优化器,代码生成器,机器无关代码优化器

10. 考虑所有只由0、1、2组成的字符串。在它们构成的集合之上定义一个布尔型函数P。 现在告诉你: 1) P("01")=true。 2) 若P(x+"1")=true,则P(x+"12")=true。 3) 若P("0"+x)=true,则P("0"+x+x)=true。4) 若P(x+"111"+y)=true,则P(x+"2"+y)=true。 5) 若P(x+"22"+y)=true,则P(x+y)=true。 以上,加号为字符串的连接,x和y代表任意由0、1、2组成的字符串。 以下命题必定为真的有

  • A.P('111')=true
  • B.P('011112')=true
  • C.P('012121')=true
  • D.P('02')=true

11. 以下哪个出栈序列不能由入栈序列(1,2,3,4,5)得到

  • A.(1,2,3,4,5)
  • B.(5,4,3,2,1)
  • C.(2,4,1,3,5)
  • D.(2,5,4,3,1)

12. 下列最有可能会引起freepascal中201错误的是

  • A.数组越界
  • B.超时
  • C.超空间
  • D.代码长度太长

13. 请计算下面代码的时间复杂度 i := 1; while (i <= n ) do begin j := 1; while (j <= n) do begin ans := ans + 1; j := j + 1; end; i := i + j; end;

  • A.O(n^2)
  • B.O(n)
  • C.O(1)
  • D.O(n^n)

14. 表达式 19 shr 1 的结果为

  • A.9
  • B.8
  • C.10
  • D.38

15. 在pascal表达式中,变量 a的初始值是24,变量b的初始值是5,变量 c的初始值是3。下列哪个表达式的运算值和其他不一样

  • A.sqrt(a+1)
  • B.trunc(a/b)
  • C.round(a/b)
  • D.c div a +b

16. 对于一组数{6、13、27、29、52、27、81},现要对其从小到大排序,采用纯粹的冒泡排序算法,需要两两比较次数是

  • A.42
  • B.21
  • C.49
  • D.2

17. 为了使用计算机对地铁入口的安保检查过程进行处理,最适合的数据结构为

  • A.栈
  • B.队列
  • C.堆
  • D.循环

18. 下列运算符中,运算结果一定是整型数的是

  • A.+
  • B./
  • C.div
  • D.and

19. 已知存放每个integer类型的变量需要用2字节,则数组a,b:array[1..10] of integer 需要的空间其字节数为

  • A.40
  • B.21
  • C.20
  • D.120

20. 设a:=”ningbooier”,从字符串变量a中提取”oier”的函数是

  • A.copy(a,7,4)
  • B.copy(a,7,10)
  • C.length (a,7,4)
  • D.insert(a,4,7)

二、问题求解(每小题5分,共10分)

1. 在同一侧的房号为1、2、3、4的四间房里,分别住着来自韩国、法国、英国和德国的四位专家。 有一位记者前来采访他们, 1.韩国人说:“我的房号大于德国人,且我不会说外语,也无法和邻居交流”; 2.法国人说:“我会说德语,但我却无法和我的邻居交流”; 3.英国人说:“我会说韩语,但我只可以和我的一个邻居交流”; 4.德国人说:“我会说我们这四个国家的语言。” 按照房号从小到大排,房间里的人的国籍分别是:_______________________。
答案:德英法韩

2. 黑白两种棋子共3000枚,分成1000堆,每堆3枚。其中只有1枚白子的共270堆,至少有2枚黑子的共420堆,有3枚白子的与3枚黑子的堆数相同。 问:白子共有 枚 ?
答案:1580

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

1.

var
a, b, c, d, n : integer;
begin
    readln(n);
a := n div 1000;
b := n div 100 mod 10;
c := n div 10 mod 10;
d := n mod 10;
writeln(d * 1000 + c * 100 + b * 10 + a);
end.
输入:5340
输出:435

2.

Var
a, b : longint;
begin
readln(a,b);
while (a <> b) do
begin
    if (a > b) then a := a - b
    else b := b - a;
end;
writeln(a);
end.
输入:100 12
输出:4

3.

var
   len, i, ans: integer;
   s, t : ansistring;
   flag : boolean;
   cn : longint;
begin
    readln(cn);
    while(cn > 0) do
    begin
        readln(s);
        len := length(s);
        for i := 1 to len do t := t + s[len-i+1];
        flag := true;
        for i := 1 to len-1 do
    if(abs(ord(s[i+1])-ord(s[i]))<>abs(ord(t[i+1])-ord(t[i]))) then
                flag := false;
        if (flag) then ans := ans + 1;
        cn := cn - 1;
    end;
    writeln(ans);
end.
输入:
5
acxz
bcxz
asdgqwe
asdffe
asde

输出:1

4.

const NN = 111111;
var
    a, pre, suf, st : array[0 .. NN] of integer;
    n, i, x, cnt, ans : integer;
function max(x, y : integer) : integer;
begin
    max := x;
    if (x < y) then max := y;
end;
begin
    readln(n);
    for i := 1 to n do read(a[i]);
    cnt := 1;
    st[cnt] := n;
    for i := n-1 downto 1 do
    begin
        x := a[i];
        while (cnt <> 0) and (x >= a[st[cnt]]) do dec(cnt);
        suf[i] := st[cnt];
        inc(cnt);
        st[cnt] := i;
    end;
    cnt := 1;
    st[cnt] := 1;
    for i := 2 to n do
    begin
        x := a[i];
        while (cnt <> 0) and (x >= a[st[cnt]]) do dec(cnt);
        pre[i] := st[cnt];
        cnt :=cnt+1;
        st[cnt] := i;
    end;
    for i := 1 to n do
        ans := max(ans, pre[i] * suf[i]);
    writeln(ans);
end.
输入:
5
5 4 3 4 5

输出:8

四、程序填空(前5空,每空2分,后6空,每空3分,共28分)

1. 问题描述:给定一个字符串S和n个字符串T,输出在T中比S长度短的字符串的个数。具体可参考样例。
输入格式:
第一行:字符串S
第二行:n,表示共有n个字符串
接下来n行,每行为T中的一个字符串
输出格式:
仅有一行,表示T中长度比S短的字符串个数。
输入样例:
ACXX
3
ASDDDD
AAA
VV
输出样例:
2
程序清单:

var
s,t:ansistring;
n,i,slen,tlen,ans:longint;
begin
readln(s);
    slen :=   ____length(s)___    ;
    readln(n);
    ans := 0;
    for i:=1 to  ____n___     do
    begin
         ____readln(t)___  ;
        tlen := length(t);
        if   ____tlen<slen___   then ans := ans + 1;
    end;
        ____writeln(ans)___  ;
end.

2. 问题描述:给定一个序列a1,a2, ...,an和一个数p,对于每一个询问(l,r),输出(al+al+1+...+ar) mod p,1<=n<=10^6,1<=ai<=10^100,1<=p<=10^8,l<=r。
输入格式:
第一行:n和p
接下来n行:每行一个数,分别表示a1,a2, ...,an
接下来一行:m
接下来m行:每行两个数,分别为每次查询的l和r
输出格式:输出共有m行,每个查询输出一个结果。
输入样例:
3 4
23
12
13
1
1 3
输出样例:
0
程序清单:

var
i,ans,p,n,m,j,l,r:longint;
a,pre:array[0..100000] of longint;
    s:string;
begin
    readln(n,p);
    for i:=1 to n do
    begin
        readln(s);
        a[i]:=0;
        for j:=1 to ____length(s)___  do
            a[i]:=(a[i]*10+   ____ord(s[j])-ord('0')___    ) mod p;
    end;
    pre[0]:=0;
    for i:=1 to n do pre[i]:= ____(pre[i-1]+a[i])mod p___  ;
    readln(m);
    for i:=1 to m do
    begin
        ____readln(l,r)___  ;
        ans:=  ____pre[r]-pre[l-1]___   ;
        if (ans<0) then   ____ans:=ans+p___   ;
        writeln(ans);
    end;
end.