Capgemini Pseudo code Previous Year Questions

05 August 2023

Capgemini Pseudocode Questions

Q1) What is the output of this C code?

#include <stdio.h>

int main()

{

int i= 0, j = 0;

while (I1: i < 2)

{

i++;

while (j < 3)

{

printf("loop\n");

goto I1;

}

}

}

A. loop loop loop loop

B. loop loop

C. Compile time error

D. Infinite loop
 
Answer : Option C

Explanation: goto label is expected to give at any line except, conditional areas. In the given code, compiler fails to identify I1 as label & it will consider I1 as an undeclared identifier.

 

Q2) What is the output of this code?

#include<stdio.h>

int main()

{

static int i = 5;

if (--i){

printf("%d ",i);

main();

}

}

A. 4 3 2 1

B. 4 4 4 4

C. 0 0 0 0

D. 1 2 3 4
 
Answer : Option A

Explanation: Here, main() is a recursive function which will keep on executing till if condition is false. Initial value of static variable i = 5. i--(Pre-decrement) will update the i value as 4. As long as value inside if brackets are Non-zero numbers, condition will be true. As I is a static variable, re-initialization in the next function call will not affect I value. i value will keep on decrement and print 4 3 2 1. After 1, i becomes 0 and the if condition fails followed by ending recursive calls.

 

Q3) Consider the below given fragment of code.

int f(int &x, int c) {

c = c - 1;

if (c == 0) retum 1;

x = x + 1;

return f(x, c) * x;

}

In above program the first parameter is passed by reference and the second parameter is passed by value. If the value of p = 5 before the call then what is the value that returned by f(p, p)?

A. 6561

B. 161051

C. 55440

D. 3024
 
Answer : Option A

Explanation: As X is call by reference, last updated value of X will be assigned to the variable for all the recursive calls. When c value becomes 0, x value will be 9. So,

f(5,5)

  ->f(6,4) * 9

    -> f(7,3) * 9

      -> f(8,2) * 9

        -> f(9,1) * 9

          -> c == 0 & returns 1

Ans => 1 * 9 * 9 * 9 * 9 = 6561

 

Q4) Comment on the output of this C code?

#include <stdio.h>

int main()

{

int x = 3,i=0;

do{

X= x ++;

i++;

} while (i != 3);

printf(“%d\n", x);

}

A. Output will be 5

B. Output will be 6

C. Output will be 3

D. Undefined behaviour
 
Answer : Option C

Explanation: Here i = 0, x = 3.

x = x++( x = 3)

Post increment will assign value before gets updated.

I value will increment by 1 and loop will run 3 times.

When I becomes 3, while loop fails(3 != 3 returns false)

X value remains 3 because always value gets reassigned before the updation.

 

Q5) What will be the value of s if n=127? 

Read n 

i=0,s=0 

Function Sample(int n) 

while(n>0) 

r=n%l0 

p=8^i 

s=s+p*r 

i++ 

n=n/10

End While 

Return s; 

End Function 

A. 27

B. 187

C. 87

D. 120
 
Answer : Option C

Explanation: Here i=0,s=0,n=127

(127>0) while condition true

r = 127 % 10 = 7

p = 8 ^ 0 = 8

s = 0 + 8 * 7 = 56

i = 1

n = 127/10 = 12

(12>0) while condition true

r =  12 % 10 = 2

p = 8 ^ 1 = 9

s = 56 + 9 * 2 = 74

i = 2

n = 12/10 = 1

(1>0) while condition true

r = 1 % 10 = 1

p = 8^2 = 10

s = 74 + 1 * 10 = 84

I = 3

N = 1/10 = 0

(0>0) While condition fails

S  = 84

 

Q6) What will be the output if limit = 6? 

Read limit n1 = 0, n2= 1, n3=1, count = 1; 

while  count <= limit 

count=count+1

print n3 

n3 = n1 + n2 

n1 = n2 

n2 = n3 

End While 

A. 1235813 

B. 12358 

C. 123581321 

D. 12358132 
 
Answer : Option A

Explanation: The above pseudocode will print Fibonacci numbers from 1 to 13 without any space

(1<=6) while condition is true

count = 2

print 1

n3 = 1 + 1 = 2

n1 = 1

n2 = 2

(2<=6) while condition is true

count = 3

print 2

n3 = 1 + 2 = 3

n1 = 2

n2 = 3

(3<=6) while condition is true

count = 4

print 3

n3 = 2 + 3 = 5

n1 = 3

n2 = 5

(4<=6) while condition is true

count = 5

print 5

n3 = 5 + 3 = 8

n1 = 5

n2 = 8

(5<=6) while condition is true

count = 6

print 8

n3 = 5 + 8 = 13

n1 = 8

n2 = 13

(6<=6) while condition is true

count = 7

print 13

n3 = 8 + 13 = 21

n1 = 13

n2 = 21

(7<=6) while condition false

 

Ans : 1235813

 

Q7) What will be the value of even_counter if number = 2630? 

Read number 

Function divisible(number) 

even_counter = 0, num_remainder = number; 

while (num_remainder) 

digit = num_remainder % 10; 

if digit != 0 AND number % digit == 0 

even_counter= even_counter+1 

End If 

num_remainder= num_remainder / 10; 

End While 

return even_counter; 

A. 3

B. 4

C. 2

D. 1
Answer : Option D

Explanation: The above pseudocode counts the number of digits which are factors of given input.

even_counter = 0, num_remainder = 2630

(2630) while condition is true

digit = 2630 % 10 = 0

digit = 0. Therefore, if condition fails

num_remainder= 263

 

even_counter = 0, num_remainder = 263

(263) while condition is true

digit = 263 % 10 = 3

3 != 0 is true. But, 2630%3 == 0 is false. Therefore, if condition fails

num_remainder= 26

 

even_counter = 0, num_remainder = 26

(26) while condition is true

digit = 26 % 10 = 6

6 != 0 is true.But, 2630%6 == 0 is false. Therefore, if condition fails

num_remainder= 2

 

even_counter = 0, num_remainder = 2

(2) while condition is true

digit = 2 % 10 = 2

3 != 0 is true and 2630%2 == 0 is also true. Therefore, if condition is true

even_counter = 0 + 1 = 1

num_remainder= 0

 

even_counter = 1

(0) while condition is false

So, even_counter = 1.

 

Q8) What will be the value of t if a = 56 , b = 876? 

Read a,b 

Function mul(a, b) 

t = 0 

while (b != 0) 

t = t + a 

b=b-1 

End While 

return t; 

End Function 

A. 490563 

B. 49056 

C. 490561 

D. None of the mentioned 
 
Answer : Option B

Explanation: Here a = 56, b = 876

While loop condition is (876 != 0) and the updation is b = b-1. So, the loop runs 876 times. During each iteration, a value is updated as a = a + 56.

So, Ans = 876 * 56 = 49056

 

Q9) Code to sort given array in ascending order: 

Read size 

Read a[1],a[2],…a[size] 

i=0 

While(i<size) 

j=i+1       

While(j<size)                    

If a[i] < a[j] then            

t= a[i]; 

a[i] = a[j]; 

a[j] = t; 

End If 

j=j+1 

End While 

i=i+1 

End While 

i=0 

While (i<size) 

print a[i] 

i=i+1 

End While 

wrong statement? 

A. Line 4 

B. Line 6 

C. Line 7 

D. No Error 
 
Answer : Option C

Explanation: The given pseudocode will sort array elements in descending order.

Here when i = 0, j starts from 1 and goes till n-1

In line no 7, a[0] < a[1] swaps both elements. So, eventually the greatest value will be stored in a[0].

 

Q10) Consider the following piece of code. What will be the space required for this code? 

int sum(int A[], int n) 

{    

int sum = 0, i;    

for(i = 0; i < n; i++)       

sum = sum + A[i];    

return sum; 

} // sizeof(int) = 2 bytes 

A. 2n + 8

B. 2n + 4 

C. 2n + 2 

D. 2n
 
Answer : Option A

Explanation: n is the size of the array. So, to store array elements we need 2n bytes.

2 bytes for n, sum & i variables = 6 bytes.

2 bytes to store the return value.

So 2n + 8

 

Q11) What will be the output of the following pseudo code? 

For input a=8 & b=9. 

Function(input a,input b)               

If(a<b)                             

return function(b,a)               

elseif(b!=0)                              

return (a+function(a,b-1))               

else                              

return 0 

A. 56 

B. 88 

C. 72 

D. 65 
Answer : Option C

Explanation: Here, a=8 & b=9.

If first value is small, recursive call will happen with first value as large. Else if condition will be true as long as b !=0.  

Recursive calls are ..

function(8,9)

  • function(9,8)
  • function(9,7) + 9
  • function(9,6) + 9
  • function(9,5) + 9
  • function(9,4) + 9
  • function(9,3) + 9
  • function(9,2) + 9
  • function(9,1) + 9
  • function(9,0) + 9
  • when b = 0, recursion ends , returns 0

So, 0 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 = 72

 

Q12) What will be the output of the following pseudo code? 

Input m=9,n=6 

m=m+1 

N=n-1 

m=m+n 

if (m>n)     

print m 

else     

print n 

A. 6

B. 5

C. 10

D. 15
 
Answer : Option D

Explanation: Here m = 9, n = 6

m = 9 + 1 = 10

n = n – 1 = 5

m = 10 + 5 = 15

if(15>5) condition is true.

print m(15)

So, Ans = 15

 

Q13) What will be the output of the following pseudo code? 

Input f=6,g=9 and set sum=0 

Integer n 

if(g>f) 

for(n=f;n<g;n=n+1) 

sum=sum+n 

End for loop 

else 

print error message 

print sum 

A. 21 

B. 15 

C. 9 

D. 6 
 
Answer : Option A

Explanation: Here f=6,g=9 and sum = 0

If(9>6) condition is true

Loop will run 3 times

When n = 6, sum = 0 + 6 = 6

When n = 7, sum = 6 + 7 = 13

When n = 8, sum = 13 + 8 = 21

 

So, sum = 21.

 

Q14) What will be the output if limit = 6? 

Read limit n1 = 0, n2= 1, n3=1, count = 1; 

while  count <= limit 

count=count+1 

print n3 

n3 = n1 + n2 

n1 = n2 

n2 = n3 

End While 

A. 1235813 

B. 12358 

C. 23581321 

D. 12358132 
 
Answer : Option B

Explanation : The above pseudocode will print Fibonacci numbers from 1 to 13 without any space

(1<=6) while condition is true

count = 2

print 1

n3 = 0 + 1 = 1

n1 = 1

n2 = 1

(2<=6) while condition is true

count = 3

print 1

n3 = 1 + 1 = 2

n1 = 1

n2 = 2

(3<=6) while condition is true

count = 4

print 2

n3 = 1 + 2 = 3

n1 = 2

n2 = 3

(4<=6) while condition is true

count = 5

print 3

n3 = 2 + 3 = 5

n1 = 3

n2 = 5

(5<=6) while condition is true

count = 6

print 5

n3 = 3 + 5 = 8

n1 = 5

n2 = 8

(6<=6) while condition is true

count = 7

print 8

n3 = 5 + 8 = 13

n1 = 8

n2 = 13

(7<=6) while condition false

Ans : 112358



FAQ

Any Questions?
Look Here.