GATE 2017 CS 组 1

17 Mar 2025 | 6 分钟阅读

33) 考虑一个 T 和 D 触发器的组合,如下所示。D 触发器的输出连接到 T 触发器的输入,T 触发器的输出连接到 D 触发器的输入。

Gate 2017 CS set 1

最初,Q0 和 Q1 都设置为 1(在第一个时钟周期之前)。输出

  1. Q1 Q0 在第 3 个周期之后是 11,在第 4 个周期之后是 00
  2. Q1 Q0 在第 3 个周期之后是 11,在第 4 个周期之后是 01
  3. Q1 Q0 在第 3 个周期之后是 00,在第 4 个周期之后是 11
  4. Q1 Q0 在第 3 个周期之后是 01,在第 4 个周期之后是 01

答案: B

说明

时钟T = Q1D = Q0T1 = Q0D0 = Q1
1111
10110
21001
31111
40111

在上面的表格中,我们可以看到:T(Q1) 和 D(Q0) 在第 3 个周期后是 11,在第 4 个周期后是 01。因此,选项 (B) 是正确的答案。


34) 如果 G 是一个语法,其产生式为

       S → SaS | aSb | bSa | SS | ∈

其中 S 是起始变量,则以下哪一项不是由 G 生成的?

  1. abab
  2. aaab
  3. abbaa
  4. babba

答案: D

说明

给定语法,
   S->aSb | bSa | SS | ∈
上面的语法将始终产生相等数量的 a 和 b。现在我们可以使用以下产生式序列生成给定的选项

对于选项 a
   S->aSb->abSab->abab

对于选项 b
   S->aSb->aSaSb->aSaSab->aaab

对于选项 c
   S->SS->aSbSaS->abbSaa->abbaa

对于选项 d
   它产生的 b 的数量多于 a,这肯定不能由此语法生成。

因此,选项(D)是正确答案。


35) 考虑以下两个函数

当调用 fun1 (5) 时打印的输出是

  1. 53423122233445
  2. 53423120112233
  3. 53423122132435
  4. 53423120213243

答案: A

说明

Gate 2017 CS set 1

所以,输出 fun1(5) = 53423122233445。因此选项(A)是正确的答案。


36) 考虑下面给出的 C 函数 foo 和 bar

foo(3) 和 bar(3) 的调用将分别导致

  1. 分别返回 6 和 6
  2. 分别无限循环和异常终止
  3. 分别异常终止和无限循环
  4. 都异常终止

答案:C

说明

首先,取 foo 函数,根据问题,变量 val 的初始值为 3。现在当 foo(val--) 被调用时,它返回 val = 2,然后,它一次又一次地调用 foo(3),而 foo(3) 又调用 foo(3),以此类推。所以,在这里我们可以看到 foo(3) 被调用了无限次,这会导致突然终止。

现在,我们考虑一个 bar。在这个例子中,我们可以看到循环中 val 没有递减。所以当 bar(int val) 被调用时,它的执行如下,
   bar(3) 将调用 bar(2)
   bar(2) 将调用 bar(1)
   bar(1) 将调用 bar(0)→ 这里,bar(0) 返回 0
   bar(1) 将调用 bar(0)

所以在这里我们可以看到有一个无限循环的问题,但它不会被突然终止。

因此,选项 (C) 是正确答案。


37) 考虑下面给出的关于字母表 {a,b,c} 的上下文无关文法,S 和 T 是非终结符。

     G1: S-->aSb|T, T--> cT|∈
     G2: S-->bSa|T, T--> cT|∈

语言 L1(G1) ∩ L2(G2)。

  1. 有限
  2. 非有限但正则
  3. 上下文无关但非正则
  4. 递归但非上下文无关

答案: B

说明

语法 G1 生成的语言是,
   L(G1) = ancbn | n≥0

语法 G2 生成的语言是,
   L(G2) = bncan | n≥0

两种语言的交集将是,
   L(G1)∩L(G2) = c∗

我们知道 c* 是一种正则语言,并且是无限的。因此选项 (B) 将是正确的答案。


38) 考虑字母表 ∑ = {a,b,c} 上的以下语言。令 L1 = {anbncm | m, n >= 0} 和 L2 = {ambncn| m, n >= 0}。

以下哪些是上下文无关语言?

   (I) L1 ∪ L2
   (II) L1 ∩ L2

  1. 仅 I
  2. 仅 II
  3. I 和 II
  4. 既不是 I 也不是 II

答案: A

说明

已知,
L1 = {anbncm | m, n >= 0} 和
L2 = {ambncn| m, n >= 0}

我们知道上下文无关语言的并集也是上下文无关语言。

所以,L3 = L1 ∪ L2 = { anbncm ∪ ambncn | n, m >= 0 } 也是上下文无关语言。

由于在 L1 中:a 的数量 = b 的数量,而在 L2 中:b 的数量 = c 的数量。因此,它们的并集也是一种上下文无关语言。所以这是真的。

上下文无关语言的交集可能也是上下文无关语言,也可能不是。

L3 = L1 ∩ L2 = {anbncn| n >= 0} 不能是上下文无关语言。

因此,选项 (A) 将是正确答案。


39) 设 A 和 B 是无限字母表,# 是 A 和 B 之外的符号。设 f 是从 A* 到 B* 的一个总函数。我们说 f 是可计算的,如果存在一个图灵机 M,给定 A* 中的输入 x,总是会以 f(x) 停在其磁带上。令 Lf 表示语言 {x#f(x)|x∈A*}。以下哪个陈述是正确的?

  1. 当且仅当 Lf 是递归的,f 是可计算的。
  2. 当且仅当 Lf 是递归可枚举的,f 是可计算的。
  3. 如果 f 是可计算的,那么 Lf 是递归的,但反之则不然。
  4. 如果 f 是可计算的,那么 Lf 是递归可枚举的,但反之则不然。

答案: A

说明

根据图灵机的定义,即,每个递归语言都是可计算的,但反过来可能不成立。

因此,选项 (A) 将是正确答案。


40) 回想一下,Belady 异常是指页错误率可能随着分配的帧数的增加而增加。现在考虑以下陈述

S1:随机页面替换算法(随机选择页面进行替换)会受到 Belady 异常的影响。
S2:LRU 页面替换算法会受到 Belady 异常的影响。

以下哪一项是正确的?

  1. S1 为真,S2 为真
  2. S1 为真,S2 为假
  3. S1 为假,S2 为真
  4. S1 为假,S2 为假

答案: B

说明

根据规则,当页面替换算法不是堆栈算法时,它会受到 Belady 异常的影响。堆栈算法是满足包含属性的算法。包含属性是 k 帧内存中的页面集始终是 (k + 1) 帧内存中的页面集的子集。

在语句 S1 中:随机页面替换算法可以选择以 FIFO 方式或不满足包含属性的方式替换页面。所以,它可能受到 Belady 异常的影响。

在语句 S2 中:LRU 是一种堆栈算法。所以,它不会受到 Belady 异常的影响。

因此,选项(B)是正确答案。


GATE 2017 CS 组 1-1
GATE 2017 CS Set 1-2
GATE 2017 CS Set 1-3
GATE 2017 CS Set 1-4
GATE 2017 CS Set 1-6
GATE 2017 CS Set 1-7
GATE 2017 CS Set 1-8