Download presentation
Presentation is loading. Please wait.
Published byBrett Hicks Modified over 9 years ago
1
Invitation to Computer Science 5 th Edition Chapter 2 The Algorithmic Foundations of Computer Science
2
Invitation to Computer Science, 5th Edition Objectives In this chapter, you will learn about: Representing algorithms Examples of algorithmic problem solving 2
3
Invitation to Computer Science, 5th Edition Introduction Chapter 1 –Introduced algorithms and algorithmic problem solving This chapter –Develops more fully the notions of algorithm and algorithmic problem solving 3
4
Invitation to Computer Science, 5th Edition Representing Algorithms Pseudocode –Natural language: used to express algorithms –Problems using natural language to represent algorithms Natural language can be extremely verbose Lack of structure makes it difficult to locate specific sections of the algorithm Natural language is too “rich” in interpretation and meaning 4
5
Invitation to Computer Science, 5th Edition Figure 2.1 The Addition Algorithm of Figure 1.2 Expressed in Natural Language 5
6
Invitation to Computer Science, 5th Edition Pseudocode (continued) Natural languages –Not sufficiently precise to represent algorithms Pseudocode –Used to design and represent algorithms –A compromise between the two extremes of natural and formal languages 6
7
Invitation to Computer Science, 5th Edition Figure 2.2 The Beginning of the Addition Algorithm of Figure 1.2 Expressed in a High-Level Programming Language 7
8
Invitation to Computer Science, 5th Edition Sequential Operations Basic sequential operations –Computation, input, and output Instruction for performing a computation and saving the result –Set the value of “variable” to “arithmetic expression” Variable –Storage location that can hold a data value 8
9
Invitation to Computer Science, 5th Edition Sequential Operations (continued) Pseudocode –Not a precise set of notational rules to be memorized and rigidly followed Input operations –Submit to the computing agent data values from the outside world that it may then use in later instructions Output operations –Send results from the computing agent to the outside world 9
10
Invitation to Computer Science, 5th Edition Figure 2.3 Algorithm for Computing Average Miles per Gallon 10
11
Invitation to Computer Science, 5th Edition Conditional and Iterative Operations Sequential algorithm –Sometimes called a straight-line algorithm Control operations –Conditional and iterative –Allow us to alter the normal sequential flow of control in an algorithm Conditional statements –The “question-asking” operations of an algorithm – If/then/else 11
12
Invitation to Computer Science, 5th Edition Figure 2.4 The If/Then/Else Pseudocode Statement 12
13
Invitation to Computer Science, 5th Edition Figure 2.5 Second Version of the Average Miles per Gallon Algorithm 13
14
Invitation to Computer Science, 5th Edition Conditional and Iterative Operations (continued) Loop –The repetition of a block of instructions –While statement Continuation condition –Determines if statement is true or false Infinite loop –Continuation condition never becomes false 14
15
Invitation to Computer Science, 5th Edition Figure 2.5 Second Version of the Average Miles per Gallon Algorithm 15
16
Invitation to Computer Science, 5th Edition Figure 2.6 Execution of the While Loop 16
17
Invitation to Computer Science, 5th Edition Conditional and Iterative Operations (continued) Loop example Step Operation 1 Set the value of count to 1 2 While (count ≤ 100) do step 3 to step 5 3 Set square to (count x count) 4 Print the values of count and square 5 Add 1 to count 17
18
Invitation to Computer Science, 5th Edition Conditional and Iterative Operations (continued) Pretest loop –Continuation condition is tested at the beginning of each pass through the loop Posttest loop –Continuation condition is tested at the end of the loop body, not the beginning Primitives –Instructions that computing agent understands and is capable of executing without further explanation 18
19
Invitation to Computer Science, 5th Edition Figure 2.7 Third Version of the Average Miles per Gallon Algorithm 19
20
Invitation to Computer Science, 5th Edition Figure 2.8 Execution of the Do/While Posttest Loop 20
21
Invitation to Computer Science, 5th Edition Figure 2.9 Summary of Pseudocode Language Instructions 21
22
Invitation to Computer Science, 5th Edition Examples of Algorithmic Problem Solving Example 1: Go Forth and Multiply Given 2 nonnegative integer values, a ≥ 0, b ≥ 0, compute and output the product (a 3 b) using the technique of repeated addition. That is, determine the value of the sum a + a + a +... + a (b times) 22
23
Invitation to Computer Science, 5th Edition Figure 2.10 Algorithm for Multiplication of Nonnegative Values via Repeated Addition 23
24
Invitation to Computer Science, 5th Edition Example 2: Looking, Looking, Looking Algorithm discovery –Finding a solution to a given problem Sequential search –Standard algorithm for searching an unordered list of values 24
25
Invitation to Computer Science, 5th Edition Figure 2.11 First Attempt at Designing a Sequential Search Algorithm 25
26
Invitation to Computer Science, 5th Edition Figure 2.12 Second Attempt at Designing a Sequential Search Algorithm 26
27
Invitation to Computer Science, 5th Edition Figure 2.13 The Sequential Search Algorithm 27
28
Invitation to Computer Science, 5th Edition Example 3: Big, Bigger, Biggest Library –Collection of useful algorithms Problem Given a value n ≥ 1 and a list containing exactly n unique numbers called A1, A2,..., An, find and print out both the largest value in the list and the position in the list where that largest value occurred 28
29
Invitation to Computer Science, 5th Edition Figure 2.14 Algorithm to Find the Largest Value in a List 29
30
Invitation to Computer Science, 5th Edition Example 4: Meeting Your Match Pattern matching –Process of searching for a special pattern of symbols within a larger collection of information –Is assisting microbiologists and geneticists studying and mapping the human genome 30
31
Invitation to Computer Science, 5th Edition Example 4: Meeting Your Match (continued) Pattern-matching problem You will be given some text composed of n characters that will be referred to as T1 T2... Tn. You will also be given a pattern of m characters, m ≤ n, that will be represented as P1 P2... Pm. The algorithm must locate every occurrence of the pattern within the text. The output of the algorithm is the location in the text where each match occurred. For this problem, the location of a match is defined to be the index position in the text where the match begins 31
32
Invitation to Computer Science, 5th Edition Example 4: Meeting Your Match (continued) STEP 1 –The matching process: T1 T2 T3 T4 T5 … P1 P2 P3 STEP 2 –The slide forward: T1 T2 T3 T4 T5 … –1-character slide -> P1 P2 P3 32
33
Invitation to Computer Science, 5th Edition Figure 2.15 First Draft of the Pattern-Matching Algorithm 33
34
Invitation to Computer Science, 5th Edition Example 4: Meeting Your Match (continued) Examples of higher-level constructs –Sort the entire list into ascending order –Attempt to match the entire pattern against the text –Find a root of the equation Abstraction –Use of high-level instructions during the design process Top-down design –Viewing an operation at a high level of abstraction 34
35
Invitation to Computer Science, 5th Edition Figure 2.16 Final Draft of the Pattern-Matching Algorithm 35
36
Invitation to Computer Science, 5th Edition Summary Algorithm design –A first step in developing an algorithm Algorithm design must: –Ensure the algorithm is correct –Ensure the algorithm is sufficiently efficient Pseudocode –Used to design and represent algorithms 36
37
Invitation to Computer Science, 5th Edition Summary (continued) Pseudocode –Readable, unambiguous, and able to be analyzed Algorithm design –Uses multiple drafts and top-down design to develop the best solution Abstraction –A key tool for good design 37
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.