Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Consider the following recursive function: void funcRec(int u, char v) //Line 1

ID: 3586421 • Letter: C

Question

Consider the following recursive function:

void funcRec(int u, char v) //Line 1

{ //Line 2

if (u == 0)                   //Line 3

cout << v;                //Line 4

else if (u == 1)                    //Line 5

cout << static_cast<char>

(static_cast<int>(v) + 1);        //Line 6

else //Line 7

funcRec(u - 1, v);            //Line 8

}                                   //Line 9

Answer the following questions:

a. Identify the base case.

b. Identify the general case.

c. What is the output of the following statement?

funcRec(5, "A");

Explanation / Answer

(a) Base case is the case for which the soluIon can be stated withpout the help of recursion.

In this code there are two such cases; 1. if (u == 0)     and     2. else if (u == 1)

For these two cases we can compute the values of v and v+1 respectively.

(b) General case or recursive case is the case for which the soluIon is expressed in terms of a smaller version of itself.

In this code the recursive case is the.

else funcRec(u - 1, v);

(c) Output of funcRec(5, "A") :

Step 1 : goes to funcRec(5, "A")

Step 2: goes to funcRec(4, "A")

Step 3: goes to funcRec(3,"A")

Step 4: goes to funcRec(2,"A")

Step 5: goes to else if (u == 1) and outputs B (v+1 i.e., A+1,B)