Computer Science (GATE Exam) 2003 - Previous Question Paper Solution
GATE Exam Previous Year Question Paper Solution Computer Science(CS) - 2003
Questions
Let A be a sequence of 8 distinct integers sorted in ascending order. How many distinct pairs of sequences, B and C are there such that (i) each is sorted in ascending order, (ii) B has 5 and C has 3 elements, and (iii) the result of merging B and C gives A?
- 2
- 30
- 56
- 256
n couples are invited to a party with the condition that every husband should be accompanied by his wife. However, a wife need not be accompanied by her husband. The number of different gatherings possible at the party is
- $^{2n}\mathrm{C}_n\times 2^n$
- $3^n$
- $\frac{(2n)!}{2^n}$
- $^{2n}\mathrm{C}_n$
Let $P(E)$ denote the probability of the event $E$. Given $P(A) = 1$, $P(B) = 1/2$, the values of $P(A\mid B)$ and $P(B\mid A)$ respectively are
- 1/4,1/2
- 1/2,1/4
- 1/2,1
- 1,1/2
Let G be an arbitrary graph with n nodes and k components. If a vertex is removed from G, the number of components in the resultant graph must necessarily lie between
- k and n
- k - 1 and k + 1
- k - 1 and n - 1
- k + 1 and n - k
Assuming all numbers are in 2's complement representation, which of the following numbers is divisible by 11111011?
- 11100111
- 11100100
- 11010111
- 11011011
Which of the following suffices to convert an arbitrary CFG to an LL(1) grammar?
- Removing left recursion alone
- Factoring the grammar alone
- Removing left recursion and factoring the grammar
- None of the above
In a bottom-up evaluation of a syntax directed definition, inherited attributes can
- always be evaluated
- be evaluated only if the definition is L-attributed
- be evaluated only if the definition has synthesized attributes
- never be evaluated
Consider the set $ \sum^* $ of all strings over the alphabet $ \sum $ = {0, 1}. $ \sum^* $ with the concatenation operator for strings
- does not form a group
- forms a non-commutative group
- does not have a right identity element
- forms a group if the empty string is removed from $\sum^*$
Assume that the SLR parser for a grammar G has n1 states and the LALR parser for that grammar has n2 states. Which of the following statements about the relationship between n1 and n2 is true?
- n1 is necessarily less than n2.
- n1 is necessarily equal to n2.
- n1 is necessarily greater than n2.
- none of these
In a heap with n elements with the smallest element at the root, the 7th smallest element can be found in time
- O(n log n)
- O(n)
- O(log n)
- O(1)
Which of the following statements is FALSE?
- In statically typed languages, each variable in a program has a fixed type
- In un-typed languages, values do not have any types
- In dynamically typed languages, variables have no types
- In all statically typed languages, each variable in a program is associated with values of only a single type during the execution of the program
Consider the following three claims
I. (n + k)m = O (nm) where k and m are constants
II. 2n+1 = O(2n)
III. 22n+1 = O(2n)
Which of these claims are correct?
- I and II
- I and III
- II and III
- I, II, and III
In a system with 32 bit virtual addresses and 1KB page size, use of one-level page tables for virtual to physical address translation is not practical because of
- the large amount of internal fragmentation
- the large amount of external fragmentation
- the large memory overhead in maintaining page tables
- the large computation overhead in the translation process
Which of the following functionalities must be implemented by a transport protocol over and above the network protocol?
- Recovery from packet losses
- Detection of duplicate packets
- Packet delivery in the correct order
- End to end connectivity
How many perfect matching are there in a complete graph of 6 vertices?
- 15
- 24
- 30
- 60
Consider the following formula and its two interpretations $I_1$ and $I_2$.
$\alpha: (\forall x)\left[P_x \Leftrightarrow (\forall y)\left[Q_{xy} \Leftrightarrow \neg Q_{yy} \right]\right] \Rightarrow (\forall x)\left[\neg P_x\right]$
$I_1$ : Domain: the set of natural numbers
$P_x$ = 'x is a prime number'
$Q_{xy}$ = 'y divides x'
$I_2$ : same as $I_1$ except that $P_x$ = 'x is a composite number'.
Which of the following statements is true?
- I1 satisfies$\alpha$, I2 does not
- I2 satisfies $\alpha$, I1 does not
- Neither I2 nor I1 satisfies $\alpha$
- Both I1 and 12 satisfy $\alpha$
The usual O(n2) implementation of Insertion Sort to sort an array uses linear search to identify the position where an element is to be inserted into the already sorted part of the array. If, instead, we use binary search to identify the position, the worst case running time will
- remain O (n2)
- become O (n (log n)2)
- become O (n log n)
- become O (n)
Using a larger block size in a fixed block size file system leads to
- better disk throughput but poorer disk space utilization
- better disk throughput and better disk space utilization
- poorer disk throughput but better disk space utilization
- poorer disk throughput and poorer disk space utilization
Which of the following is a valid first order formula? (Here $\alpha$and $\beta$ are first order formulae with x as their only free variable)
- ((∀x)[α] ⇒ (∀x)[β]) ⇒ (∀x)[α ⇒ β]
- (∀x)[α] ⇒ (∃x)[α ∧ β]
- ((∀x)[α ∨ β] ⇒ (∃x)[α]) ⇒ (∀x)[α]
- (∀x)[α ⇒ β] ⇒ ((∀x)[α]) ⇒ (∀x)[β])
$m$ identical balls are to be placed in $n$ distinct bags. You are given that $m \geq kn$, where $k$ is a natural number $\geq 1$. In how many ways can the balls be placed in the bags if each bag must contain at least $k$ balls?
- $ \left( \begin{array}{c} m - k \\ n - 1 \end{array} \right)$
- $\left( \begin{array}{c} m - kn + n - 1 \\ n - 1 \end{array} \right)$
- $\left( \begin{array}{c} m - 1 \\ n - k \end{array} \right)$
- $\left( \begin{array}{c} m - kn + n + k - 2 \\ n - k \end{array} \right)$
Consider the following graph

Among the following sequences
I a b e g h f II a b f e h g III a b f h g e IV a f g h b e
Which are depth first traversals of the above graph?
- I, II and IV only
- I and IV only
- II, III and IV only
- I, III and IV only
Let (S,$\le$) be a partial order with two minimal elements a and b, and a maximum element c. Let P: S
{True, False} be a predicate defined on S. Suppose that
P(a) = True, P(b) = False and P(x)$\Rightarrow$P(y) for all x, y $\epsilon$S satisfying x$\le$y,
Where $\Rightarrow$stands for logical implication. Which of the following statements CANNOT be true?
- P(x) = True for all x $\epsilon$S such that x $\ne$b
- P(x) = False for all x $\epsilon$S such that x $\ne$a and x $\ne$c
- P(x) = False for all x $\epsilon$S such that b $\le$x and x $\ne$c
- P(x) = False for all x $\epsilon$S such that a $\le$x and b $\le$x
A graph $G=(V,E)$ satisfies $|E| \leq 3 |V| - 6$. The min-degree of $G$ is defined as $ min_{v\in V} \left \{ degree(V) \right \}$. Therefore, min-degree of $G$ cannot be
- 3
- 4
- 5
- 6
A piecewise linear function f(x) is plotted using thick solid lines in the figure below (the plot is drawn to scale).

If we use the Newton-Raphson method to find the roots of f(x) =0 using x0, x1, and x2 respectively as initial guesses, the roots obtained would be
- 1.3, 0.6, and 0.6 respectively
- 0.6, 0.6, and 1.3 respectively
- 1.3, 1.3, and 0.6 respectively
- 1.3, 0.6, and 1.3 respectively
Which of the following assertions is FALSE about the Internet Protocol (IP)?
- It is possible for a computer to have multiple IP addresses
- IP packets from the same source to the same destination can take different routes in the network
- IP ensures that a packet is discarded if it is unable to reach its destination within a given number of hops
- The packet source cannot set the route of an outgoing packets; the route is determined only by the routing tables in the routers on the way
Let f : A $\rightarrow$ B be an injective (one-to-one) function. Define g : 2A $\rightarrow$ 2B as:
g(C) = {f(x) | x $\epsilon$ C}, for all subsets C of A.
Define h : 2B$\rightarrow$2A as: h(D) = {x | x $\epsilon$ A, f(x) $\epsilon$ D}, for all subsets D of B.
Which of the following statements is always true?
- g(h(D)) $\subseteq $ D
- g(h(D)) $\supseteq $ D
- g(h(D)) $\cap$ D = $\phi$
- g(h(D)) $\cap$ (B—D) $\ne$$\phi$
Let $\Sigma = \left\{a, b, c, d, e\right\}$ be an alphabet. We define an encoding scheme as follows:
$g(a) = 3, g(b) = 5, g(c) = 7, g(d) = 9, g(e) = 11$.
Let $p_i$ denote the i-th prime number $\left(p_1 = 2\right)$.
For a non-empty string $s=a_1 \dots a_n$, where each $a_i \in \Sigma$, define $f(s)= \Pi^n_{i=1}P_i^{g(a_i)}$.
For a non-empty sequence$\left \langle s_j, \dots,s_n\right \rangle$ of stings from $\Sigma^+$, define $h\left(\left \langle s_i \dots s_n\right \rangle\right)=\Pi^n_{i=1}P_i^{f\left(s_i\right)}$
Which of the following numbers is the encoding, $h$, of a non-empty sequence of strings?
- 273757
- 283858
- 293959
- 210510710
he sum of the number of times each literal appears in the expression. For example, the literal count of (xy + xz') is 4. What are the minimum possible literal counts of the product-of-sum and sum-of product representations respectively of the function given by the following Karnaugh map? Here, X denotes “don't care”

- (11, 9)
- (9, 13)
- (9, 10)
- (11, 11)
Consider the following circuit composed of XOR gates and non-inverting buffers

The non-inverting buffers have delays d1 = 2 ns and d2 = 4 ns as shown in the figure. Both XOR gates and all wires have zero delay. Assume that all gate inputs, outputs and wires are stable at logic level 0 at time
0. If the following waveform is applied at input A, how many transition(s) (change of logic levels)
Occur (s) at B during the interval from 0 to 10 ns?

- 1
- 2
- 3
- 4
Consider the grammar shown below.
S $\rightarrow$ C C
C $\rightarrow$ c C | d
This grammar is
- LL(1)
- SLR(1) but not LL(1)
- LALR(1) but not SLR(1)
- LR(l) but not LALR(1)
Consider the following system of linear equations $$\left( \begin{array}{ccc} 2 & 1 & -4 \\ 4 & 3 & -12 \\ 1 & 2 & -8 \end{array} \right) \left( \begin{array}{ccc} x \\ y \\ z \end{array} \right) = \left( \begin{array}{ccc} \alpha \\ 5 \\ 7 \end{array} \right)$$ Notice that the second and the third columns of the coefficient matrix are linearly dependent. For how many values of $\alpha$, does this system of equations have infinitely many solutions?
- 0
- 1
- 2
- infinitely many
Consider the translation scheme shown below.
S $\rightarrow$T R
R $\rightarrow$ + T {print('+');} R|$\epsilon$
T $\rightarrow$ num {print (num.val);}
Here num is a token that represents an integer and num.val represents the corresponding integer value.
For an input string '9 + 5 + 2', this translation scheme will print
- 9 + 5 + 2
- 9 5 + 2 +
- 9 5 2 + +
- + + 9 5 2
In a permutation a1 ... an, of n distinct integers, an inversion is a pair (ai, aj) such that i < j and ai > aj.
If all permutations are equally likely, what is the expected number of inversions in a randomly chosen permutation of 1. . . n?
- $\frac{n(n-1)}{2}$
- $\frac{n(n-1)}{4}$
- $\frac{n(n+1)}{4}$
- $2n[\log_2n]$
Consider the syntax directed definition shown below,
S $\rightarrow$ id : = E {gen (id.place = E.place;);}
E $\rightarrow$ E1 + E2 {t = newtemp( );
gen(t = E1.place + E2.place;);
E.place = t;}
E $\rightarrow$ id {E.place = id.place;}
Here, gen is a function that generates the output code, and newtemp is a function that returns the name of
a new temporary variable on every call.
Assume that ti's are the temporary variable names generated by newtemp. For the statement 'X : = Y + Z',
the 3-address code sequence generated by this definition is
- X = Y + Z
- t1 = Y + Z; X = t1
- t1 = Y; t2 = t1 + Z; X = t2
- t1 = Y; t2 = Z; t3 = t1 + t2; X = t3
Consider the grammar shown below
S $\rightarrow$i E t S S' | a
S' $\rightarrow$ e S |$\epsilon$
E $\rightarrow$ b
In the predictive parse table, M, of this grammar, the entries M[S' , e] and
M[ S' ,$] respectively area
- {S' $\rightarrow$ e S} and{ S'$\rightarrow$$\epsilon$}
- { S' $\rightarrow$e S}and { }
- {S'$\rightarrow$ $\epsilon$} and { S'$\rightarrow$$\epsilon$}
- { S' $\rightarrow$e S, S'$\rightarrow$$\epsilon$} and { S'$\rightarrow$ $\epsilon$}
A program consists of two modules executed sequentially. Let $f_1(t)$ and $f_2(t)$ respectively denote the probability density functions of time taken to execute the two modules. The probability density function of the overall time taken to execute the program is given by
- $f_1(t)+f_2(t)$
- $\int_0^t f_1(x)f_2(x)dx$
- $\int_0^t f_1(x)f_2(t-x)dx$
- $\max\{f_1(t),f_2(t)\}$
Consider the following logic program P
$\begin{align*} A(x) &\gets B(x,y), C(y) \ &\gets B(x,x) \end{align*}$
Which of the following first order sentences is equivalent to P?
- $(\forall x) [(\exists y) [B(x,y) \land C(y)] \Rightarrow A(x)] \land \neg (\exists x)[B(x,x)]$
- $(\forall x) [(\forall y) [B(x,y) \land C(y)] \Rightarrow A(x)] \land \neg (\exists x)[B(x,x)]$
- $(\forall x) [(\exists y) [B(x,y) \land C(y)] \Rightarrow A(x)] \vee \neg (\exists x)[B(x,x)]$
- $(\forall x) [(\forall y) [B(x,y) \land C(y)] \Rightarrow A(x)] \land (\exists x)[B(x,x)]$
The following program fragment is written in a programming language that allows global
variables and does not allow nested declarations of functions.
global int i = 100, j = 5;
void P(x) {
int i = 10;
print(x + 10);
i = 200;
j = 20;
print (x);
}
main() {P(i + j);}
If the programming language uses static scoping and call by need parameter passing mechanism, the values printed by the above program are
- 115, 220
- 25, 220
- 25, 15
- 115, 105
In a permutation a1 ... an, of n distinct integers, an inversion is a pair (ai, aj) such that i < j and ai > aj.
What would be the worst case time complexity of the Insertion Sort algorithm, if the inputs are restricted to permutations of 1. . . n with at most n inversions?
- O(n2)
- O (n log n)
- O (n1.5)
- O (n)
The following program fragment is written in a programming language that allows global
variables and does not allow nested declarations of functions.
global int i = 100, j = 5;
void P(x) {
int i = 10;
print(x + 10);
i = 200;
j = 20;
print (x);
}
main() {P(i + j);}
If the programming language uses dynamic scoping and call by name parameter passing mechanism, the values printed by the above program are
- 115, 220
- 25, 220
- 25, 15
- 115, 105
Let $G= (V,E)$ be a directed graph with $n$ vertices. A path from $v_i$ to $v_j$ in $G$ is a sequence of vertices ($v_{i},v_{i+1}, \dots , v_j$) such that $(v_k, v_k+1) \in E$ for all $k$ in $i$ through $j-1$. A simple path is a path in which no vertex appears more than once.
Let $A$ be an $n \times n$ array initialized as follows.
$$A[j,k] = \begin{cases} 1 \text { if } (j,k) \in E \\ 0 \text{ otherwise} \end{cases}$$
Consider the following algorithm.
for i=1 to n
for j=1 to n
for k=1 to n
A[j,k] = max(A[j,k], A[j,i] + A[i,k]);
Which of the following statements is necessarily true for all j and k after termination of the above algorithm?
- A[j,k] $\le$ n
- If A[j,j] $\ge$ n - 1, then G has a Hamiltonian cycle
- If there exists a path from j to k, A[j,k] contains the longest path length from j to k
- If there exists a path from j to k, every simple path from j to k contains at most A[j,k} edges
What is the weight of a minimum spanning tree of the following graph?

- 29
- 31
- 38
- 41
Let G = (V,E) be an undirected graph with a subgraph G1 = (V1, E1). Weights are assigned to edges of G
as follows.
$$G= \begin{cases} 0 \text { if } e \in E_1 \\ 1 \text{ otherwise} \end{cases}$$
A single-source shortest path algorithm is executed on the weighted graph (V,E,w) with an arbitrary vertex
v1 of V1 as the source. Which of the following can always be inferred from the path costs computed?
- The number of edges in the shortest paths from v1 to all vertices of G
- G1 is connected
- V1 forms a clique in G
- G1 is a tree
Consider the set {a, b, c} with binary operators + and × defined as follows
| + | a | b | c |
|---|---|---|---|
| a | b | a | c |
| b | a | b | c |
| c | a | c | b |
| * | a | b | c |
|---|---|---|---|
| a | a | b | c |
| b | b | c | a |
| c | c | c | b |
For example, a + c = c, c + a = a, c ×b = c and b × c = a. Given the following set of equations:
(a × x) + (a × y) = c
(b × x) + (c × y) = c
The number of solution(s) (i.e., pair(s) (x, y) that satisfy the equations) is
- 0
- 1
- 2
- 3
A uni-processor computer system only has two processes, both of which alternate 10 ms CPU bursts with 90 ms I/O bursts. Both the processes were created at nearly the same time. The I/O of both processes can proceed in parallel. Which of the following scheduling strategies will result in the least CPU utilization (over a long period of time) for this system?
- First come first served scheduling
- Shortest remaining time first scheduling
- Static priority scheduling with different priorities for the two processes
- Round robin scheduling with a time quantum of 5 ms
The following are the starting and ending times of activities A, B, C, D, E, F, G and H respectively in
chronological order: “as bs cs ae ds ce es fs be de gs ee fe hs ge he”. Here, xs denotes the starting time and xe
denotes the ending time of activity X. We need to schedule the activities in a set of rooms available to us.
An activity can be scheduled in a room only if the room is reserved for the activity for its entire duration.
What is the minimum number of rooms required?
- 3
- 4
- 5
- 6
Which of the following is NOT an advantage of using shared, dynamically linked libraries as opposed to using statically linked libraries?
- Smaller sizes of executable files
- Lesser overall page fault rate in the system
- Faster program startup
- Existing programs need not be re-linked to take advantage of newer versions of libraries
A processor uses 2-level page tables for virtual to physical address translation. Page tables for both levels are stored in the main memory. Virtual and physical addresses are both 32 bits wide. The memory is byte addressable. For virtual to physical address translation, the 10 most significant bits of the virtual address are used as index into the first level page table while the next 10 bits are used as index into the second level page table. The 12 least significant bits of the virtual address are used as offset within the page.Assume that the page table entries in both levels of page tables are 4 bytes wide. Further, the processor has a translation look-aside buffer (TLB), with a hit rate of 96%. The TLB caches recently used virtual page numbers and the corresponding physical page numbers. The processor also has a physically addressed cache with a hit rate of 90%. Main memory access time is 10 ns, cache access time is 1 ns, and TLB access time is also 1 ns.
Assuming that no page faults occur, the average time taken to access a virtual address is approximately (to the nearest 0.5 ns)
- 1.5 ns
- 2 ns
- 3 ns
- 4 ns
A 2 km long broadcast LAN has 107 bps bandwidth and uses CSMA/CD. The signal travels along the wire at 2 x 108 m/s. What is the minimum packet size that can be used on this network?
- 50 bytes
- 100 bytes
- 200 bytes
- None of the above
A processor uses 2-level page tables for virtual to physical address translation. Page tables for both levels are stored in the main memory. Virtual and physical addresses are both 32 bits wide. The memory is byte addressable. For virtual to physical address translation, the 10 most significant bits of the virtual address are used as index into the first level page table while the next 10 bits are used as index into the second level page table. The 12 least significant bits of the virtual address are used as offset within the page.Assume that the page table entries in both levels of page tables are 4 bytes wide. Further, the processor has a translation look-aside buffer (TLB), with a hit rate of 96%. The TLB caches recently used virtual page numbers and the corresponding physical page numbers. The processor also has a physically addressed cache with a hit rate of 90%. Main memory access time is 10 ns, cache access time is 1 ns, and TLB access time is also 1 ns.
Suppose a process has only the following pages in its virtual address space: two contiguous code pages starting at virtual address 0x00000000, two contiguous data pages starting at virtual address 0×00400000, and a stack page starting at virtual address 0×FFFFF000. The amount of memory required for storing the page tables of this process is
- 8 KB
- 12 KB
- 16 KB
- 20 KB
Host A is sending data to host B over a full duplex link. A and B are using the sliding window protocol for flow control. The send and receive window sizes are 5 packets each. Data packets (sent only from A to B) are all 1000 bytes long and the transmission time for such a packet is 50 micro second. Acknowledgement packets (sent only from B to A) are very small and require negligible transmission time. The propagation delay over the link is 200 micro second. What is the maximum achievable throughput in this communication?
- 7.69 × 106 bps
- 11.11 × 106 bps
- 12.33 × 106 bps
- 15.00 x 106 bps
The following resolution rule is used in logic programming.
Derive clause (P$\lor$Q) from clauses (P $\lor$ R), (Q$\lor$$\neg$R)
Which of the following statements related to this rule is FALSE?
- ((P $\lor$ R) $\land$ (Q $\lor$ $\neg$R)) _ (P $\lor$ Q) is logically valid
- (P $\lor$ Q) $\Rightarrow$ ((P $\lor$ R) $\land$ (Q $\lor$ $\neg$R)) is logically valid
- (P $\lor$ Q) is satisfiable if and only if (P $\lor$ R) Ù (Q $\lor$ $\neg$R) is satisfiable
- (P $\lor$ Q) $\Rightarrow$ FALSE if and only if both P and Q are unsatisfiable
Suppose we want to synchronize two concurrent processes P and Q using binary semaphores S and T. The codes for the processes P and Q are shown below.
Process P: Process Q:
while (1) { while (1) {
W: Y:
print '0'; print '1';
print '0'; print '1';
X: Z:
} }
Synchronization statements can be inserted only at points W, X, Y and Z
Which of the following will always lead to an output starting with '001100110011'?
- P(S) at W, V(S) at X, P(T) at Y, V(T) at Z, S and T initially 1
- P(S) at W, V(T) at X, P(T) at Y, V(S) at Z, S initially 1, and T initially 0
- P(S) at W, V(T) at X, P(T) at Y, V(S) at Z, S and T initially 1
- P(S) at W, V(S) at X, P(T) at Y, V(T) at Z, S initially 1, and T initially 0
Suppose we want to synchronize two concurrent processes P and Q using binary semaphores S and T. The codes for the processes P and Q are shown below.
Process P: Process Q:
while (1) { while (1) {
W: Y:
print '0'; print '1';
print '0'; print '1';
X: Z:
} }
Synchronization statements can be inserted only at points W, X, Y, and Z
Which of the following will ensure that the output string never contains a substring of the form 01n0 or 10n1 where n is odd?
- P(S) at W, V(S) at X, P(T) at Y, V(T) at Z, S and T initially 1
- P(S) at W, V(T) at X, P(T) at Y, V(S) at Z, S and T initially 1
- P(S) at W, V(S) at X, P(S) at Y, V(S) at Z, S initially 1
- V(S) at W, V(T) at X, P(S) at Y, P(T) at Z, S and T initially 1
The subnet mask for a particular network is 255.255.31.0. Which of the following pairs of IP addresses could belong to this network?
- 172.57.88.62 and 172.56.87.233
- 10.35.28.2 and 10.35.29.4
- 191.203.31.87 and 191.234.31.88
- 128.8.129.43 and 128.8.161.55
Consider the following class definitions in a hypothetical Object Oriented language that supports inheritance and uses dynamic binding. The language should not be assumed to be either Java or C++, though the syntax is similar.
Class P { Class Q subclass of P {
void f(int i) { void f(int i) {
print(i); print(2*i);
} }
} }
Now consider the following program fragment:
Px = new Q()
Qy = new Q();
Pz = new Q();
x.f(1); ((P)y).f(1); z.f(1);
Here ((P)y) denotes a typecast of y to P. The output produced by executing the above program fragment
will be
- 1 2 1
- 2 1 1
- 2 1 2
- 2 2 2
Consider an array multiplier for multiplying two n bit numbers. If each gate in the circuit has a unit delay, the total delay of the multiplier is
- O (1)
- O (log n)
- O (n)
- O (n2)
For a pipelined CPU with a single ALU, consider the following situations
I. The j + 1-st instruction uses the result of the j-th instruction as an operand
II. The execution of a conditional jump instruction
III. The j-th and j + 1-st instructions require the ALU at the same time
Which of the above can cause a hazard?
- I and II only
- II and III only
- III only
- All the three
Consider the ALU shown below

If the operands are in 2's complement representation, which of the following operations can be performed by suitably setting the control lines K and C0 only (+ and - denote addition and subtraction respectively)?
- A + B, and A - B, but not A + 1
- A + B, and A + 1, but not A - B
- A + B, but not A - B or A + 1
- A + B, and A - B, and A + 1
Consider the following assembly language program for a hypothetical processor
A, B, and C are 8 bit registers. The meanings of various instructions are shown as comments.
MOV B, #0 ; B $\leftarrow$ 0
MOV C, #8 ; C $\leftarrow$ 8
Z: CMP C, #0 ; Compare C with 0
JZX ; Jump to X if zero flag is set
SUB C, #1 ; C $\leftarrow$ C - 1
RRC A, #1 ; right rotate A through carry by one bit. Thus:
; if the initial values of A and the carry flag are a7… a0 and
; instruction will be c0a7…a1 and a0 respectively
JCY ; jump to Y if carry flag is set
JMP Z ; jump to Z
Y: ADD B, #1 ; B $\leftarrow$ B + 1
X: If the initial value of register A is A0, the value of register B after the program execution will be
- the number of 0 bits in A0
- the number of 1 bits in A0
- A0
- 8
Consider the following assembly language program for a hypothetical processor
A, B, and C are 8 bit registers. The meanings of various instructions are shown as comments.
MOV B, #0 ; B $\leftarrow$0
MOV C, #8 ; C$\leftarrow$8
Z: CMP C, #0 ; Compare C with 0
JZX ; Jump to X if zero flag is set
SUB C, #1 ; C $\leftarrow$ C -1
RRC A, #1 ; right rotate A through carry by one bit. Thus:
; if the initial values of A and the carry flag are a7… a0 and
; instruction will be c0a7…a1 and a0 respectively
JCY ; jump to Y if carry flag is set
JMP Z ; jump to Z
Y: ADD B, #1 ; B $\leftarrow$ B + 1
X:
Which of the following instructions when inserted at location X will ensure that the value of register A after program execution is the same as its initial value?
- RRC A, #1
- NOP ; no operation
- LRC A, #1 ; left rotate A through carry flag by one bit
- ADD A, #1
Consider the following C function.
float f,(float x, int y) {
float p, s; int i;
for (s=1,p=1,i=1; i
- Xy
- ex
- In (1+x)
- Xx
Assume the following C variable declaration
int * A[10], B[10][10]; of the following expressions
I. A[2]
II. A[2][3]
III. B[1] IV. B[2][3]
Which will not give compile-time errors if used as left hand sides of assignment statements in a C program?
- I,II, and IV only
- II, III, and IV only
- II and IV only
- IV only
Suppose the numbers 7, 5, 1, 8, 3, 6, 0, 9, 4, 2 are inserted in that order into an initially empty binary search tree. The binary search tree uses the usual ordering on natural numbers. What is the in-order traversal sequence of the resultant tree?
- 7 5 1 0 3 2 4 6 8 9
- 0 2 4 3 1 6 5 9 8 7
- 0 1 2 3 4 5 6 7 8 9
- 9 8 6 4 2 3 0 1 5 7
Let T(n) be the number of different binary search trees on n distinct elements.
Then T(n) = $\sum_{k -1}^n T(k -1)(x) $, where x is
- n - k + 1
- n - k
- n - k - 1
- n - k - 2
Consider the following 2-3-4 tree (i.e., B-tree with a minimum degree of two) in which each data item is a letter. The usual alphabetical ordering of letters is used in constructing the tree.

What is the result of inserting G in the above tree?
- None of the above
A data structure is required for storing a set of integers such that each of the following operations can be done in O (log n) time, where n is the number of elements in the set.
I. Deletion of the smallest element
II. Insertion of an element if it is not already present in the set
Which of the following data structures can be used for this purpose?
- A heap can be used but not a balanced binary search tree
- A balanced binary search tree can be used but not a heap
- Both balanced binary search tree and heap can be used
- Neither balanced binary search tree nor heap can be used
Let S be a stack of size n $\ge$1. Starting with the empty stack, suppose we push the first n natural numbers in sequence, and then perform n pop operations Assume that Push and Pop operations take X seconds each, and Y seconds elapse between the end of one such stack operation and the start of the next operation. For m $\ge$1, define the stack-life of m as the time elapsed from the end of Push(m) to the start of the pop operation that removes m from S. The average stack-life of an element of this stack is
- n(X + Y)
- 3Y + 2X
- n(X + Y) - X
- Y + 2X
Consider the C program shown below.
#include <stdio.h>
#define print(x) print f(”%d “, x)
int x;
void Q(int z) {
z + = x; print (z);
}
void P(int *y) {
int x = *y+2;
Q(x); *y = x-1;
Print (x);
}
Main (void) {
x = 5;
P (&x)
Print (x);
}
The output of this program is
- 12 7 6
- 22 12 11
- 14 6 6
- 7 6 6
Consider the function f defined below.
struct item {
int data;
struct item * next;
};
int f(struct item *p) {
return ((p == NULL) || (p ->next == NULL) ||
((p->data <= p -> next -> data) &&
f(p-> next)));
}
For a given linked list p, the function f returns 1 if and only if
- the list is empty or has exactly one element
- the elements in the list are sorted in non-decreasing order of data value
- the elements in the list are sorted in non-increasing order of data value
- not all elements in the list have the same data value
In the following C program fragment, j, k, n and TwoLog_n are integer variables, and A is an array of
integers. The variable n is initialized to an integer $\ge$3, and TwoLog_n is initialized to the value of 2
*$\lceil log_2(n) \rceil$
for (k = 3; k < = n; k++)
A [k] = 0;
for (k = 2; k < = TwoLog_n ; k++)
for (j = k+1; j < = n ; j++)
A[j] = A[j] || (j% k);
for (j = 3; j < = n ; j++)
if (!A[j]) print f(”%d ”,j);
The set of numbers printed by this program fragment is
- {mm $\ge$ n, ($\ge$i)[m=i!] }
- {mm $\ge$ n, ($\exists $i)[m=i2]}
- {mm $\le $ n, m is prime}
- { }
Consider three data items D1, D2 and D3, and the following execution schedule of transactions T1, T2 and T3. In the diagram, R(D) and W(D) denote the actions reading and writing in the data item D respectively.

Which of the following statements is correct?
- The schedule is serialisable as T2; T3; T1.
- The schedule is serialisable as T2; T1; T3.
- The schedule is serialisable as T3; T2; T1.
- The schedule is not serialisable.
Consider the following SQL query.
select distinct a1, a2, ..., an
from r1, r2, ..., rm
where P
For an arbitrary predicate P, this query is equivalent to which of the following relational algebra expressions?
- $\Pi_{a_1, a_2, … a_n} \sigma_p \left(r_1 \times r_2 \times \dots \times r_m\right)$
- $\Pi_{a_1, a_2, … a_n} \sigma_p \left(r_1 \bowtie r_2 \bowtie \dots \bowtie r_m \right)$
- $\Pi_{a_1, a_2, … a_n} \sigma_p \left(r_1 \cup r_2 \cup \dots \cup r_m \right)$
- $\Pi_{a_1, a_2, … a_n} \sigma_p \left(r_1 \cap r_2 \cap \dots \cap r_m \right)$
Consider the set of relations shown below and the SQL query that follows.
Students: (Roll_number, Name, Date_of_birth)
Courses: (Course number, Course_name, Instructor)
Grades: (Roll_number, Course_number, Grade)
select distinct Name
from Students, Courses, Grades
where Students. Roll_number = Grades.Roll_number
and Courses.Instructor = Korth
and Courses.Course_number = Grades.Course_number
and Grades.grade = A
Which of the following sets is computed by the above query?
- Names of students who have got an A grade in all the courses taught by Korth.
- Names of students who have got an A grade in all the courses.
- Names of students who have got an A grade in at least one of the courses taught by Korth.
- None of the above
Which of the following scenarios may leave the transaction vulnerable to dirty reads, phantom reads, etc. in a database system?
- A transaction writes a data item after it is read by an uncommitted transaction.
- A transaction reads a data item after it is read by an uncommitted transaction.
- A transaction reads a data item after it is written by a committed transaction.
- A transaction reads a data item after it is written by an uncommitted transaction.
Consider the following functional dependencies in a database.
Date_of_Birth $\rightarrow$ Age Age $\rightarrow$ Eligibility
Name $\rightarrow$ Roll_number Roll_number $\rightarrow$ Name
Course_number $\rightarrow$ Course_name Course_number $\rightarrow$ Instructor
(Roll_number, Course_number) $\rightarrow$ Grade
The relation (Roll_number, Name, Date_of_Birth, Age) is
- in second normal form but not in third normal form
- in third normal form but not in BCNF
- in BCNF
- None of the above
The regular expression 0*(10*)* denotes the same set as
- (1*0)1
- 0+(0+10)*
- (0+1)10(0+1)
- None of these
If the strings of a language L can be effectively enumerated in lexicographic (i.e., alphabetic) order, which of the following statements is true?
- L is necessarily finite
- L is regular but not necessarily finite
- L is context free but not necessarily regular
- L is recursive but not necessarily context free
Nobody knows yet if P = NP. Consider the language L defined as follows.
$$L = \begin{cases} (0 +1)^* \text { if } (P = NP) \in E \\ \phi \text{ otherwise} \end{cases}$$
Which of the following statements is true?
- L is recursive
- L is recursively enumerable but not recursive
- L is not recursively enumerable
- Whether L is recursive or not will be known after we find out if P = NP
Consider the following deterministic finite state automaton M.

Let S denote the set of seven bit binary strings in which the first, the fourth, and the last bits are 1. The number of strings in S that are accepted by M is
- 1
- 5
- 7
- 8
Ram and Shyam have been asked to show that a certain problem $\prod$is NP-complete. Ram shows a polynomial time reduction from the 3-SAT problem to$\prod$, and Shyam shows a polynomial time reduction from $\prod$to 3-SAT. Which of the following can be inferred from these reductions?
- $\prod$ is NP-hard but not NP-complete
- $\prod$ is in NP, but is not NP-complete
- $\prod$is NP-complete
- $\prod$is neither NP-hard, nor in NP
A single tape Turing Machine M has two states q0 and q1, of which q0 is the starting state. The tape alphabet of M is {0, 1, B} and its input alphabet is {0,1}. The symbol B is the blank symbol used to indicate end of an input string. The transition function of M is described in the following table.
| 0 | 1 | B | |
|---|---|---|---|
| q0 | q1, 1, R | q1, 1, R | Halt |
| q1 | q1, 1, R | q0, 1, L | q0, B, L |
| The table is interpreted as illustrated below. | |||
| The entry (q1, 1, R) in row q0 and column 1 signifies that if M is in state q0 and reads 1 on the current tape | |||
| square, then it writes 1 on the same tape square, moves its tape head one position to the right and | |||
| transitions to state q1. |
Which of the following statements is true about M?
- M does not halt on any string in (0+1)+
- M does not halt on any string in (00+1)*
- M halts on all strings ending in a 0
- M halts on all strings ending in a 1
Let G = ({S},{a,b},R,S) be a context free grammar where the rule set R is S $\rightarrow$ a S b | S S | $\epsilon$
Which of the following statements is true?
- G is not ambiguous
- There exist x, y $\epsilon$ L(G) such that xy $\require{cancel} \cancel{\epsilon}$ L(G)
- There is a deterministic pushdown automaton that accepts L(G)
- We can find a deterministic finite state automaton that accepts L(G)
Consider the NFA M shown below.

Let the language accepted by M be L. Let L1 be the language accepted by the NFA M1 obtained by changing the accepting state of M to a non-accepting state and by changing the non-accepting states of M to accepting states. Which of the following statements is true?
- L1 = {0,1}* - L
- L1 = {0,1}*
- L1$\subseteq $ L
- L1 = L
Consider two languages $L_1$ and $L_2$, each over the alphabet $\Sigma$.
Let $f: \Sigma \to \Sigma$ be a polynomial time, computable bijection, such that:
$$\forall x: \Bigl(x \in L_1 \iff f(x) \in L_2\Bigr )$$
Further, let $f^{-1}$ also be polynomial time computable.
Which of the following canNOT be true?
- L1 $\epsilon$ P and L2 is finite
- L1 $\epsilon$ NP and L2 $\epsilon$ P
- L1 is un decidable and L2 is decidable
- L1 is recursively enumerable and L2 is recursive
Define languages L0 and L1 as follows:
L0 = {<M, w, 0> | M halts on w}
L1 = {<M, w, 1> | M does not halt on w}
Here <M, w, i> is a triplet, whose first component, M, is an encoding of a Turing
Machine, second component, w, is a string, and third component, i, is a bit.
Let L = L0$\cup$L1. Which of the following is true?
- L is recursively enumerable, but $\bar L$ is not
- $\bar L$ is recursively enumerable, but L is not
- Both L and $\bar L$ are recursive
- Neither L nor $\bar L$ is recursively enumerable
The following is a scheme for floating point number representation using 16 bits.
| Bit Position | 15 | 14 .... 9 | 8 ...... 0 |
|---|---|---|---|
| s | e | m | |
| Sign | Exponent | Mantissa | |
| Let s, e, and m be the numbers represented in binary in the sign, exponent, and mantissa fields respectively. Then the floating point number represented is: |
$$\begin{cases}(-1)^s \left(1+m \times 2^{-9}\right) 2^{e-31}, & \text{ if the exponent } \neq 111111 \\ 0, & \text{ otherwise} \end{cases}$$
What is the maximum difference between two successive real numbers representable in this system?
- 2-40
- 2-9
- 222
- 231
A 1-input, 2-output synchronous sequential circuit behaves as follows:
Let zk, nk denote the number of 0's and 1's respectively in initial k bits of the input
(zk+nk=k). The circuit outputs 00 until one of the following conditions holds.
zk - nk=2. In this case, the output at the k-th and all subsequent clock ticks is 10.
nk - zk = 2. In this case, the output at the k-th and all subsequent clock ticks is 01.
What is the minimum number of states required in the state transition graph of the above circuit?
- 5
- 6
- 7
- 8
The cube root of a natural number n is defined as the largest natural number m such that m3 $\le$n. The complexity of computing the cube root of n (n is represented in binary notation) is
- O(n) but not O(n0.5)
- O(n0.5) but not O((log n)k) for any constant k > 0
- O((log n)k) for some constant k > 0, but not O((log log n)m) for any constant m > 0
- O((log log n)k) for some constant k > 0.5, but not O((log log n)0.5)
Consider the following recurrence relation
$T(1)=1$
$T(n+1) = T(n)+\lfloor \sqrt{n+1} \rfloor$ for all $n \geq 1$
The value of $T(m^2)$ for $m \geq 1$ is
- $\frac{m}{6}\left(21m-39\right)+4$
- $\frac{m}{6}\left(4m^2-3m+5\right)$
- $\frac{m}{2}\left(3m^{2.5}-11m+20\right)-5$
- $\frac{m}{6}\left(5m^3-34m^2+137m-104\right)+\frac{5}{6}$









































