Computer Science: A Structured Programming Approach Using C1 6-9 Recursion In general, programmers use two approaches to writing repetitive algorithms. One approach uses loops; the other uses recursion. Recursion is a repetitive process in which a function calls itself. Iterative and Recursive Definition Iterative and Recursive Solution Designing Recursive Functions Fibonacci Numbers Limitations of Recursion The Towers Of Hanoi Topics discussed in this section:
Computer Science: A Structured Programming Approach Using C2 FORMULA 6-1 Iterative Factorial Definition
Computer Science: A Structured Programming Approach Using C3 FORMULA 6-2 Recursive Factorial Definition
Computer Science: A Structured Programming Approach Using C4 FIGURE 6-25 Factorial (3) Recursively
Computer Science: A Structured Programming Approach Using C5 PROGRAM 6-24Iterative Factorial Function
Computer Science: A Structured Programming Approach Using C6 PROGRAM 6-25Recursive Factorial Function
Computer Science: A Structured Programming Approach Using C7 Every recursive call must either solve part of the problem or reduce the size of the problem. Note
Computer Science: A Structured Programming Approach Using C8 FIGURE 6-26 Calling a Recursive Function
Computer Science: A Structured Programming Approach Using C9 FIGURE 6-27 Fibonacci Numbers
Computer Science: A Structured Programming Approach Using C10 PROGRAM 6-26Recursive Fibonacci
Computer Science: A Structured Programming Approach Using C11 PROGRAM 6-26Recursive Fibonacci
Computer Science: A Structured Programming Approach Using C12 PROGRAM 6-26Recursive Fibonacci
Computer Science: A Structured Programming Approach Using C13 Table 6-2Fibonacci Run Time
Computer Science: A Structured Programming Approach Using C14 FIGURE 6-28 Towers of Hanoi—Start Position
Computer Science: A Structured Programming Approach Using C15 FIGURE 6-29 Towers Solution for Two Disks
Computer Science: A Structured Programming Approach Using C16 FIGURE 6-30 Towers of Hanoi Solution for Three Disks (Part I)
Computer Science: A Structured Programming Approach Using C17 FIGURE 6-30 Towers of Hanoi Solution for Three Disks (Part II)
Computer Science: A Structured Programming Approach Using C18 PROGRAM 6-27Towers of Hanoi
Computer Science: A Structured Programming Approach Using C19 PROGRAM 6-27Towers of Hanoi
Computer Science: A Structured Programming Approach Using C20 Table 6-3Tracing of Program 6-27, Towers of Hanoi
Computer Science: A Structured Programming Approach Using C Programming Example— The Calculator Program Let’s look at our calculator program one more time. In Chapter 5, we gave users the capability of selecting one of four options: add, subtract, multiply, or divide. However, if users needed to make two calculations, they had to run the program twice. We now add a loop that allows users to make as many calculations as needed.
Computer Science: A Structured Programming Approach Using C22 PROGRAM 6-28The Complete Calculator
Computer Science: A Structured Programming Approach Using C23 PROGRAM 6-28The Complete Calculator
Computer Science: A Structured Programming Approach Using C24 PROGRAM 6-28The Complete Calculator
Computer Science: A Structured Programming Approach Using C25 PROGRAM 6-28The Complete Calculator
Computer Science: A Structured Programming Approach Using C26 PROGRAM 6-28The Complete Calculator
Computer Science: A Structured Programming Approach Using C Software Engineering In this section, we discuss some software engineering issues related to loops. Loops in Structure Charts Determining Algorithm Efficiency Linear Loops Logarithmic Loops Nested Loops Big-O Notation Standard Measures of Efficiency Topics discussed in this section:
Computer Science: A Structured Programming Approach Using C28 FIGURE 6-31 Structure Chart Symbols for Loops
Computer Science: A Structured Programming Approach Using C29 FIGURE 6-32 Structure Chart for Process
Computer Science: A Structured Programming Approach Using C30 Table 6-4Analysis of Multiply / Divide Loops
Computer Science: A Structured Programming Approach Using C31 Table 6-5Measures of Efficiency