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

Recursion is a powerful technique that is often utilized for a variety or proble

ID: 3570656 • Letter: R

Question

Recursion is a powerful technique that is often utilized for a variety or problems. Often, people think iteratively rather than recursively. However, when thinking computationally, as in computer language, recursive techniques are often utilized. The simplest definition of recursion is that it is a function that calls itself. For this assignment, view the provided code sample, and answer the questions that follow:

Function CountDown(count)
{
   If (count < 1)
   {
      return;
   }

   Print (

Explanation / Answer

1) it prints upto 10 .....1 and then return

2) as conditio was defined like count < 1 return

so return

3)

To see why, walk through the steps that the above languages use to call a function:

Doing all of these steps takes time, usually a little bit more than it takes to iterate through a loop. However, the real problem is in step #1. When many programs start, they allocate a single chunk of memory for their stack, and when they run out of that memory (often, but not always due to recursion), the program crashes due to a stack overflow.

So in these languages recursion is slower and it makes you vulnerable to crashing. There are still some arguments for using it though. In general, code written recursively is shorter and a bit more elegant, once you know how to read it.

There is a technique that language implementers can use called tail call optimization which can eliminate some classes of stack overflow. Put succinctly: if a function's return expression is simply the result of a function call, then you don't need to add a new level onto the stack, you can reuse the current one for the function being called. Regrettably, few imperative language-implementations have tail-call optimization built in.

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