©brooks/cole, 2003 chapter 8 algorithms. ©brooks/cole, 2003 conceptconcept 8.1
DESCRIPTION
Figure 8-1 Informal definition of an algorithm used in a computerTRANSCRIPT
![Page 1: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/1.jpg)
©Brooks/Cole, 2003
Chapter 8
Algorithms
![Page 2: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/2.jpg)
©Brooks/Cole, 2003
CONCEPTCONCEPT
8.18.1
![Page 3: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/3.jpg)
©Brooks/Cole, 2003
Figure 8-1
Informal definition of an algorithm used in a computer
![Page 4: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/4.jpg)
©Brooks/Cole, 2003
Figure 8-2
Example: Finding the largest integer
• We want to find the largest integer among a list positive integers.
• This task cannot be done in one step.
• This algorithm is called FindLargest
![Page 5: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/5.jpg)
©Brooks/Cole, 2003
Figure 8-3
Defining actions in FindLargest algorithm1. The action is not the same as the other steps
2. The wording is not the same
The Algorithm needs to be refined
![Page 6: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/6.jpg)
©Brooks/Cole, 2003
Figure 8-4
FindLargest RefinementStep 0 initializes the largest to zero
The wording is the same
![Page 7: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/7.jpg)
©Brooks/Cole, 2003
Figure 8-5
Generalization of FindLargest
• This is a generalized form of the FindLargest algorithm.• N is the number of integers.
![Page 8: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/8.jpg)
©Brooks/Cole, 2003
THREE CONSTRUCTSTHREE CONSTRUCTS
8.28.2
![Page 9: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/9.jpg)
©Brooks/Cole, 2003
Figure 8-6
Three constructs to a structured program
• It has been proven there is no need for any other construct.• Those three constructs makes a program or an algorithm easy to understand, debug and change.
If the result of the test is true follow a sequence of instructions, if false, follow different instructions
The same sequence of instructions are repeated
sequence of instructions
![Page 10: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/10.jpg)
©Brooks/Cole, 2003
ALGORITHMALGORITHMREPRESENTATIONREPRESENTATION
8.38.3
![Page 11: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/11.jpg)
©Brooks/Cole, 2003
Figure 8-7Flowcharts for three constructs
(Pictorial Representation)
![Page 12: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/12.jpg)
©Brooks/Cole, 2003
Figure 8-8
Pseudocode for three constructs(Englishlike Representation)
![Page 13: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/13.jpg)
©Brooks/Cole, 2003
Example 1Example 1
Write an algorithm in pseudocode that finds the average of two numbers
SolutionSolution
See Algorithm 8.1 on the next slide.
![Page 14: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/14.jpg)
©Brooks/Cole, 2003
AverageOfTwoInput: Two numbers
1. Add the two numbers2. Divide the result by 23. Return the result by step 2
End
Algorithm 8.1:Algorithm 8.1: Average of twoAverage of two
![Page 15: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/15.jpg)
©Brooks/Cole, 2003
Example 2Example 2
Write an algorithm to change a numeric grade to a pass/no pass grade.
SolutionSolution
See Algorithm 8.2 on the next slide.
![Page 16: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/16.jpg)
©Brooks/Cole, 2003
Pass/NoPassGradeInput: One number
1. if (the number is greater than or equal to 70)then 1.1 Set the grade to “pass”else 1.2 Set the grade to “nopass”End if
2. Return the gradeEnd
Algorithm 8.2:Algorithm 8.2: Pass/no pass GradePass/no pass Grade
![Page 17: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/17.jpg)
©Brooks/Cole, 2003
Example 3Example 3
Write an algorithm to change a numeric grade to a letter grade.
SolutionSolution
See Algorithm 8.3 on the next slide.
![Page 18: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/18.jpg)
©Brooks/Cole, 2003
LetterGradeInput: One number
1. if (the number is between 90 and 100, inclusive)then 1.1 Set the grade to “A”End if
2. if (the number is between 80 and 89, inclusive)then 2.1 Set the grade to “B”End if
Algorithm 8.3:Algorithm 8.3: Letter gradeLetter grade
Continues on the next slide
![Page 19: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/19.jpg)
©Brooks/Cole, 2003
3. if (the number is between 70 and 79, inclusive)then 3.1 Set the grade to “C”End if
4. if (the number is between 60 and 69, inclusive)then 4.1 Set the grade to “D”End if
Algorithm 8.3:Algorithm 8.3: Letter grade (continued)Letter grade (continued)
Continues on the next slide
![Page 20: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/20.jpg)
©Brooks/Cole, 2003
5. If (the number is less than 60)then 5.1 Set the grade to “F”End if
6. Return the gradeEnd
Algorithm 8.3:Algorithm 8.3: Letter grade (continued)Letter grade (continued)
![Page 21: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/21.jpg)
©Brooks/Cole, 2003
Example 4Example 4
Write an algorithm to find the largest of a set of numbers. You do not know the number of numbers.
SolutionSolution
See Algorithm 8.4 on the next slide.
![Page 22: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/22.jpg)
©Brooks/Cole, 2003
FindLargestInput: A list of positive integers
1. Set Largest to 02. while (more integers)
2.1 if (the integer is greater than Largest) then 2.1.1 Set largest to the value of the
integer End ifEnd while
3. Return LargestEnd
Algorithm 8.4:Algorithm 8.4: Find largestFind largest
![Page 23: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/23.jpg)
©Brooks/Cole, 2003
Example 5Example 5
Write an algorithm to find the largest of 1000 numbers.
SolutionSolution
See Algorithm 8.5 on the next slide.
![Page 24: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/24.jpg)
©Brooks/Cole, 2003
FindLargestInput: 1000 positive integers
1. Set Largest to 02. Set Counter to 03. while (Counter less than 1000)
3.1 if (the integer is greater than Largest) then 3.1.1 Set Largest to the value of the integer
End if 3.2 Increment CounterEnd while
4. Return LargestEnd
Algorithm 8.5:Algorithm 8.5: Find largest of 1000 numbersFind largest of 1000 numbers
![Page 25: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/25.jpg)
©Brooks/Cole, 2003
MORE FORMALMORE FORMALDEFINITIONDEFINITION
8.48.4
![Page 26: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/26.jpg)
©Brooks/Cole, 2003
Algorithm
• Algorithm is an ordered set of unambiguous steps that produces a result and terminate in a finite time.
• Ordered set; must be ordered set of instructions.• Unambiguous; each step must be clearly defined.• Produces result; if not the algorithm is useless.• Terminate in finite time; if it doesn’t, then it is
not an algorithm.
![Page 27: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/27.jpg)
©Brooks/Cole, 2003
SUBALGORITHMSSUBALGORITHMS
8.58.5
![Page 28: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/28.jpg)
©Brooks/Cole, 2003
Figure 8-9
Concept of a subalgorithm
• The principle of structured programming requires breaking the algorithm into smaller units called subalgorithms.
• Each subalgorithm is then divided into smaller units until the subalgorithm become intrinsic (understood immediately)
![Page 29: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/29.jpg)
©Brooks/Cole, 2003
FindLargestInput: A list of positive integers
1. Set Largest to 02. while (more integers)
2.1 FindLargerEnd while
3. Return LargestEnd
Algorithm 8.6:Algorithm 8.6: Find largestFind largest
FindLargerInput: Largest and current integer
1. if (the integer is greater than Largest)then 1.1 Set Largest to the value of the integerEnd ifEnd
![Page 30: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/30.jpg)
©Brooks/Cole, 2003
Structure Chart
• Is a tool that shows the relationship between different modules in an algorithm.
• It is mostly used at design level.• See Appendix E
![Page 31: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/31.jpg)
©Brooks/Cole, 2003
BASICBASICALGORITHMSALGORITHMS
8.68.6
![Page 32: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/32.jpg)
©Brooks/Cole, 2003
Figure 8-10Summation
![Page 33: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/33.jpg)
©Brooks/Cole, 2003
Figure 8-11Product
Exercise;XN ?
![Page 34: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/34.jpg)
©Brooks/Cole, 2003
Finding the Smallest
• Finding the smallest is similar to finding the largest with two differences. First, the decision is to find the smallest. Second, initialized with a very large number.
![Page 35: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/35.jpg)
©Brooks/Cole, 2003
Sorting
• Is the process by which data are arranged according to their value.
• There are three sorting algorithms;1.Selection sort2.Bubble sort3.Insertion sort
![Page 36: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/36.jpg)
©Brooks/Cole, 2003
Figure 8-12
Selection sort
![Page 37: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/37.jpg)
©Brooks/Cole, 2003
Figure 8-13: part I
Example of selection sort
![Page 38: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/38.jpg)
©Brooks/Cole, 2003
Figure 8-14
Selection sort algorithm
![Page 39: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/39.jpg)
©Brooks/Cole, 2003
Figure 8-15Bubble sort
![Page 40: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/40.jpg)
©Brooks/Cole, 2003
Figure 8-16: part I
Example of bubble sort
Algorithm?
![Page 41: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/41.jpg)
©Brooks/Cole, 2003
Figure 8-17Insertion sort
![Page 42: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/42.jpg)
©Brooks/Cole, 2003
Figure 8-18: part I
Example of insertion sort
![Page 43: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/43.jpg)
©Brooks/Cole, 2003
Search Algorithm
• Searching is the process of finding a location of a target in a list of objects.
• There are two basic searches for lists:1.Sequential Search.2.Binary Search.
![Page 44: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/44.jpg)
©Brooks/Cole, 2003
Figure 8-19Search concept
![Page 45: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/45.jpg)
©Brooks/Cole, 2003
Figure 8-20: Part I
1. Sequential Search - Example
![Page 46: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/46.jpg)
©Brooks/Cole, 2003
Figure 8-20: Part II
Example of a sequential sort
• Used for small and unsorted lists• Sequential sort is very slow
![Page 47: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/47.jpg)
©Brooks/Cole, 2003
Figure 8-21
2. Binary sort - Example
List is sorted
![Page 48: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/48.jpg)
©Brooks/Cole, 2003
RECURSIONRECURSION
8.18.1
![Page 49: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/49.jpg)
©Brooks/Cole, 2003
Figure 8-22
1. Iteration- example (factorial)
2. Recursion – example (factorial)
![Page 50: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/50.jpg)
©Brooks/Cole, 2003
Figure 8-23
Iterative and Recursive Algorithms
• An Algorithm is iterative whenever the definition doesn’t involve the algorithm itself.
• An Algorithm is recursive whenever it appears in the definition itself.
![Page 51: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/51.jpg)
©Brooks/Cole, 2003
Figure 8-24
Tracing recursive solution to factorial problem (Two way journey)
![Page 52: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/52.jpg)
©Brooks/Cole, 2003
FactorialInput: A positive integer num
1. Set FactN to 02. Set i to 13. while (i is less than or equal to num)
3.1 Set FactN to FactN x I 3.2 Increment iEnd while
4. Return FactNEnd
Algorithm 8.7:Algorithm 8.7: Iterative factorialIterative factorial
![Page 53: ©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1](https://reader034.vdocuments.mx/reader034/viewer/2022050803/5a4d1b437f8b9ab0599a2055/html5/thumbnails/53.jpg)
©Brooks/Cole, 2003
FactorialInput: A positive integer num
1. if (num is equal to 0)then 1.1 return 1else1.2 return num x Factorial (num – 1) End ifEnd
Algorithm 8.8:Algorithm 8.8: Recursive factorialRecursive factorial
Much easier, more elegant and simple for creator and reader.