An ObjectOriented Approach to Programming Logic and Design - PowerPoint PPT Presentation

1 / 53
About This Presentation
Title:

An ObjectOriented Approach to Programming Logic and Design

Description:

Programming Logic and Design. Chapter 4. Understanding Structure ... All logic problems can be solved with only the sequence, selection, and looping structures ... – PowerPoint PPT presentation

Number of Views:62
Avg rating:3.0/5.0
Slides: 54
Provided by: instru
Category:

less

Transcript and Presenter's Notes

Title: An ObjectOriented Approach to Programming Logic and Design


1
An Object-Oriented Approach to Programming Logic
and Design
  • Chapter 4
  • Understanding Structure

2
Objectives
  • Describe the role of structure in object-oriented
    methods
  • Draw flowcharts
  • Understand unstructured spaghetti code
  • Understand the three basic structures of
    sequence, selection, and loop
  • Build structured methods

3
Objectives (continued)
  • Use a priming read
  • Understand the need for structure
  • Recognize structure
  • Describe two special structures
  • case
  • do until

4
The Role of Structure in Object-Oriented Methods
  • Recall that classes can contain non-static
    instance methods such as
  • public get to retrieve the objects data
  • public set to set values for the objects data
  • Other public methods to accomplish tasks using
    the objects data

5
The Role of Structure in Object-Oriented Methods
(continued)
  • An application can also contain static methods
  • No object exists for these methods, but they may
    manipulate objects instantiated from prewritten
    classes
  • All methods should be structured methods

6
The Role of Structure in Object-Oriented Methods
(continued)
  • A structured method
  • Follows a specific set of rules for logical
    design
  • Has a single entry and exit point

7
Drawing Flowcharts
  • Symbols on a flowchart
  • Lozenge racetrack-shaped marks the beginning or
    end of a method
  • Annotation symbol three-sided box attached to
    flowchart by a dashed line provides details for
    a step
  • Processing statement rectangle contains an
    action taken
  • Input/output parallelogram denotes data coming
    in from or going out on a device

8
Drawing Flowcharts (continued)
9
Understanding Unstructured Spaghetti Code
  • Spaghetti code unstructured code that is
    confusing and complex due to poor structure
  • Flowchart of spaghetti code shows crossed flow
    paths with no clear path from beginning to end
  • Unstructured code is difficult to read,
    understand, and modify

10
Understanding Unstructured Spaghetti Code
(continued)
11
Three Basic Structures of Sequence, Selection,
and Loop
  • Structure a basic unit of programming logic
  • All programs are composed of 3 structures
  • Sequence
  • Selection
  • Loop

12
Three Basic Structures of Sequence, Selection,
and Loop (continued)
  • Sequence structure performs one or more actions
    in sequence, with no branching, skipping, or
    looping continues step by step

13
Three Basic Structures of Sequence, Selection,
and Loop (continued)
  • Selection structure allows one of two or more
    alternative paths to be taken
  • if-then-else when only 2 alternatives

if hours-worked is more than 40 then calculate
overtimePay else calculate regularPay
14
Three Basic Structures of Sequence, Selection,
and Loop (continued)
  • Loop structure allows repetition or iteration
  • Asks a question and performs an action if a
    certain answer is given, then asks the question
    again.
  • Also called a while loop or a while-do loop

while testCondition continues to be true, do
someProcess
15
Building Structured Methods
  • All logic problems can be solved with only the
    sequence, selection, and looping structures
  • Structures can be stacked, one after another
  • Structures can be nested, one within another

16
Building Structured Methods
17
Building Structured Methods (continued)
18
Building Structured Methods (continued)
  • Block group of statements that execute as a
    single unit
  • All pseudocode statements inside a block should
    be indented
  • Indentation in pseudocode reflects the logic
    shown graphically in a flowchart

19
Building Structured Methods (continued)
20
Building Structured Methods (continued)
  • endif always matches the most recent if that is
    not already matched
  • endwhile always matches with the most recent
    while that is not already matched

21
Building Structured Methods (continued)
22
Building Structured Methods (continued)
  • Each structure has 1 entry and 1 exit point
  • Other structures may attach only at an entry or
    exit point

23
Using a Priming Read
  • Priming read (or priming input) the first read
    or data input statement that occurs before and
    outside the loop that handles the rest of the
    input
  • Priming read is required to keep a method
    structured

24
Using a Priming Read (continued)
25
Using a Priming Read (continued)
  • Rules for a structured loop
  • You ask a question
  • If the answer indicates a task is to be
    performed, do so
  • After you perform the task, go back to ask the
    question again

26
Using a Priming Read (continued)
Example Its structured, but doesnt work!
27
Using a Priming Read (continued)
  • Example It works, but isnt structured!

28
Using a Priming Read (continued)
Example It works, and its structured!
29
Using a Priming Read (continued)
  • public void numberDoubling()
  • numeric userNumber
  • numeric answer
  • while userNumber not 0
  • answer userNumber 2
  • print answer
  • input userNumber
  • endwhile
  • return

30
Understanding the Reasons for Structure
  • Why structured methods are better
  • Clarity structured methods are less confusing
  • Professionalism it is the expected standard in
    industry today
  • Efficiency todays programming languages are
    built expecting structure
  • Maintenance easier to modify programs later
  • Modularity facilitates reuse of modules

31
Understanding the Reasons for Structure
(continued)
32
Understanding the Reasons for Structure
(continued)
33
Recognizing Structure
  • Example Is this flowchart segment structured?
  • Yes, it has a loop and a selection within the
    loop

34
Recognizing Structure (continued)
  • Example Is this flowchart segment structured?
  • No, it is not constructed from the 3 basic
    structures

35
Recognizing Structure (continued)
  • To untangle spaghetti code, pull one strand at
    a time and follow it
  • Lets untangle this
  • flowchart ?

36
Recognizing Structure (continued)
  • Untangling Example Steps 1 2

37
Recognizing Structure (continued)
  • Untangling Example Step 3 the No side of
    Question B

38
Recognizing Structure (continued)
  • Untangling Example Step 4 the Yes side of
    Question B

39
Recognizing Structure (continued)
  • Untangling Example Step 5 left side of
    Question D repeat step C to untangle it

40
Recognizing Structure (continued)
  • Untangling Example Step 6 right side of
    Question D leads to the end

41
Recognizing Structure (continued)
42
Describing Two Special Structures case and do
until
  • case structure allows more than 2 alternative
    paths
  • do until loop an alternative to the while loop
  • case and do until are not needed, but are
    convenient, acceptable structures

43
The case Structure
  • Use a case when there are several distinct values
    for a variable, each of which requires a
    different action
  • case eliminates the need for a set of nested if
    statements

44
The case Structure (continued)
  • Example using nested if statements

45
The case Structure (continued)
  • Example using a case statement instead

46
The do until Loop
  • do until loop is similar to the while loop, but
    tests the condition at the end of the loop
  • while loop tests the condition at the beginning
    of the loop If the answer is no, the action is
    not performed
  • do until loop performs the action, then tests the
    condition the action is always performed at
    least once

47
The do until Loop (continued)
48
The do until Loop (continued)
  • while loop pseudocode
  • pay bills
  • while there are more bills to pay
  • pay bills
  • endwhile
  • do until loop pseudocode
  • do
  • pay bills
  • until all bills are paid

49
The do until Loop (continued)
  • Comparison using a do until loop

50
The do until Loop (continued)
  • Comparison using a while loop

51
Summary
  • Flowchart symbols
  • Lozenge method header and return
  • 3-sided box Annotation symbol
  • Rectangle statement
  • Parallelogram input/output action
  • Spaghetti code is unstructured, hard to read and
    modify
  • Structured code uses 3 basic structures
    sequence, selection, and loop

52
Summary (continued)
  • Structures can be stacked and nested
  • Priming read the first read or data input prior
    to beginning a loop
  • Structured techniques result in clarity,
    professionalism, efficiency, and modularity
  • if-then-else handles 2 path choices
  • case structure handles 2 or more path choices

53
Summary (continued)
  • while loop tests the condition first, then does
    the action the action may be performed 0 or more
    times
  • do until loop does the action, then tests the
    condition it always performs the action at least
    once
Write a Comment
User Comments (0)
About PowerShow.com