1 / 52

An Object-Oriented Approach to Programming Logic and Design

An Object-Oriented Approach to Programming Logic and Design. 2. Objectives. Describe the role of structure in object-oriented methodsDraw flowchartsUnderstand unstructured spaghetti codeUnderstand the three basic structures of sequence, selection, and loopBuild structured methods. An Object-Ori

hedy
Download Presentation

An Object-Oriented Approach to Programming Logic and Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

    2. An Object-Oriented Approach to Programming Logic and Design 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. An Object-Oriented Approach to Programming Logic and Design 3 Objectives (continued) Use a priming read Understand the need for structure Recognize structure Describe two special structures: case do until

    4. An Object-Oriented Approach to Programming Logic and Design 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 object’s data public set: to set values for the object’s data Other public methods: to accomplish tasks using the object’s data

    5. An Object-Oriented Approach to Programming Logic and Design 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. An Object-Oriented Approach to Programming Logic and Design 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. An Object-Oriented Approach to Programming Logic and Design 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. An Object-Oriented Approach to Programming Logic and Design 8 Drawing Flowcharts (continued)

    9. An Object-Oriented Approach to Programming Logic and Design 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. An Object-Oriented Approach to Programming Logic and Design 10 Understanding Unstructured Spaghetti Code (continued)

    11. An Object-Oriented Approach to Programming Logic and Design 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. An Object-Oriented Approach to Programming Logic and Design 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. An Object-Oriented Approach to Programming Logic and Design 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

    14. An Object-Oriented Approach to Programming Logic and Design 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

    15. An Object-Oriented Approach to Programming Logic and Design 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. An Object-Oriented Approach to Programming Logic and Design 16 Building Structured Methods

    17. An Object-Oriented Approach to Programming Logic and Design 17 Building Structured Methods (continued)

    18. An Object-Oriented Approach to Programming Logic and Design 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. An Object-Oriented Approach to Programming Logic and Design 19 Building Structured Methods (continued)

    20. An Object-Oriented Approach to Programming Logic and Design 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. An Object-Oriented Approach to Programming Logic and Design 21 Building Structured Methods (continued)

    22. An Object-Oriented Approach to Programming Logic and Design 22 Building Structured Methods (continued)

    23. An Object-Oriented Approach to Programming Logic and Design 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. An Object-Oriented Approach to Programming Logic and Design 24 Using a Priming Read (continued)

    25. An Object-Oriented Approach to Programming Logic and Design 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. An Object-Oriented Approach to Programming Logic and Design 26 Using a Priming Read (continued)

    27. An Object-Oriented Approach to Programming Logic and Design 27 Using a Priming Read (continued) Example: It works, but isn’t structured!

    28. An Object-Oriented Approach to Programming Logic and Design 28 Using a Priming Read (continued)

    29. An Object-Oriented Approach to Programming Logic and Design 29 Using a Priming Read (continued)

    30. An Object-Oriented Approach to Programming Logic and Design 30 Understanding the Reasons for Structure

    31. An Object-Oriented Approach to Programming Logic and Design 31 Understanding the Reasons for Structure (continued)

    32. An Object-Oriented Approach to Programming Logic and Design 32 Understanding the Reasons for Structure (continued)

    33. An Object-Oriented Approach to Programming Logic and Design 33 Recognizing Structure

    34. An Object-Oriented Approach to Programming Logic and Design 34 Recognizing Structure (continued)

    35. An Object-Oriented Approach to Programming Logic and Design 35 Recognizing Structure (continued) To untangle spaghetti code, pull one “strand” at a time and follow it Let’s “untangle” this flowchart ?

    36. An Object-Oriented Approach to Programming Logic and Design 36 Recognizing Structure (continued)

    37. An Object-Oriented Approach to Programming Logic and Design 37 Recognizing Structure (continued)

    38. An Object-Oriented Approach to Programming Logic and Design 38 Recognizing Structure (continued)

    39. An Object-Oriented Approach to Programming Logic and Design 39 Recognizing Structure (continued)

    40. An Object-Oriented Approach to Programming Logic and Design 40 Recognizing Structure (continued)

    41. An Object-Oriented Approach to Programming Logic and Design 41 Recognizing Structure (continued)

    42. An Object-Oriented Approach to Programming Logic and Design 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. An Object-Oriented Approach to Programming Logic and Design 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. An Object-Oriented Approach to Programming Logic and Design 44 The case Structure (continued)

    45. An Object-Oriented Approach to Programming Logic and Design 45 The case Structure (continued)

    46. An Object-Oriented Approach to Programming Logic and Design 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. An Object-Oriented Approach to Programming Logic and Design 47 The do until Loop (continued)

    48. An Object-Oriented Approach to Programming Logic and Design 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. An Object-Oriented Approach to Programming Logic and Design 49 The do until Loop (continued)

    50. An Object-Oriented Approach to Programming Logic and Design 50 The do until Loop (continued)

    51. An Object-Oriented Approach to Programming Logic and Design 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. An Object-Oriented Approach to Programming Logic and Design 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. An Object-Oriented Approach to Programming Logic and Design 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

More Related