Functional Problem Solving (CSC 151 2016S) : Outlines

Outline 32: Numeric Recursion


Held: Friday, 18 March 2016

Back to Outline 31 - Pause for Breath. On to Outline 33 - Naming Local Procedures.

Summary

We visit a slightly different kind of recursion, numeric recursion. In this technique, we once again have procedures call themselves. However, the parameter that we "simplify" at every step is a number, rather than a list.

Related Pages

Overview

Administrivia

Reminders

Upcoming Work:

Extra Credit

Academic / Artistic

Peer

Regular Peer

Misc

Far in the Future

Patterns of Recursion

While we've seen and written a variety of examples of direct recursion, they typically have the following form:

(define RECURSIVE-PROC
  (lambda (PARAMS)
    (if (BASE-CASE-TEST)
        (BASE-CASE PARAMS)
        (COMBINE (PART-OF PARAMS)
                 (RECURSIVE-PROC (SIMPLIFY PARAMS))))))

For lists, the simplification was almost always "take the cdr" and the "part-of" was almost always "take the car".

Recursion with Numbers

Lab