# Capgemini Pseudo code Previous Year Questions

06 January 2023

Capgemini Pseudocode Previous Year Questions

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

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

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

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

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?

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

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

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?

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

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?

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

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:

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

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 < a swaps both elements. So, eventually the greatest value will be stored in a.

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

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

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

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

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

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

##  