IT 117: Intermediate to Scripting
Answers to Class 24 Ungraded Quiz

  1. What do you call a function that calls itself?
    a recursive function
  2. What two things must be true about a recursive algorithm for it to work?
    there must be a condition under which recusion will stop
    the recursive call must approach this condition
    			
  3. What do call the situation where a function calls itself directly?
    direct recursion
  4. What do you call the situation where a function calls another function, which then calls the original function?
    indirect recursion
  5. Can you rewrite any recursive function using a loop instead of recursion?
    yes
  6. Which is more efficient, a recursive algorithm or a non-recursive algorithm that does the same thing?
    a non-recursive algorithm
  7. Write a recursive function that counts down from some number. In other words, this function prints it's argument, than all numbers down to 1.
    def count_down(num):	
        print(num)
        if num > 1:
            count_down(num - 1)
  8. Write a recursive function that calculates the factorial of a number.
    def factorial(num):
        if num == 1:
            return 1
        else:
            return factorial(num -1) * num