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

What is direct recursion? Consider the following recursive function: void funcRe

ID: 3726302 • Letter: W

Question

What is direct recursion?

Consider the following recursive function:

void funcRec(int u, char v)                       //Line 1
{
if (u == 0)                                              //Line 2
cout << v;                                            //Line 3
else                                                      //Line 4
{                                                       //Line 5
char w;                                                //Line 6
w = static_cast <char>                        //Line 7
(static_cast<int>(v) + 1);
funcRec(u - 1, w);                               //Line 8
                                    }                 //Line 9
                        }                              //Line 10

Now answer the following questions:

Identify the base case.

Identify the general case.

What is the output of the following statement?
funcRec(5, 'A'); .

Consider the following recursive function:

void recFun(int u)
{

if (u == 0)
cout << "Zero! ";
else
{
cout << "Negative ";
recFun(u + 1);
}

}

What is the output, if any, of the following statements?

recFun(8);

recFun(0);

recFun(-2);

Consider the following function:

int test(int x, int y)
{

if (x <= y)
return y - x;
else
return test(x - 1, y + 1);

}

What is the output of the following statements?

cout << test(3, 100) << endl;

cout << test(15, 7) << endl;



Suppose that intArray is an array of integers, and length specifies the number of elements in intArray. Also, suppose that low and high are two integers such that 0 <= low < length, 0 <= high < length, and low < high. That is, low and high are two indices in intArray.

Write a recursive definition that reverses the elements in intArray between low and high.

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)

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote