programming logic and design fourth edition introductory l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Programming Logic and Design Fourth Edition, Introductory PowerPoint Presentation
Download Presentation
Programming Logic and Design Fourth Edition, Introductory

Loading in 2 Seconds...

play fullscreen
1 / 52

Programming Logic and Design Fourth Edition, Introductory - PowerPoint PPT Presentation


  • 494 Views
  • Uploaded on

Programming Logic and Design Fourth Edition, Introductory Chapter 2 Understanding Structure Objectives Describe the features of unstructured spaghetti code Describe the three basic structures – sequence, selection, and loop Use a priming read Appreciate the need for structure

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Programming Logic and Design Fourth Edition, Introductory' - bernad


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
objectives
Objectives
  • Describe the features of unstructured spaghetti code
  • Describe the three basic structures – sequence, selection, and loop
  • Use a priming read
  • Appreciate the need for structure
  • Recognize structure

Programming Logic and Design, Introductory, Fourth Edition

objectives continued
Objectives (continued)
  • Describe three special structures – case, do-while, and do-until

Programming Logic and Design, Introductory, Fourth Edition

understanding unstructured spaghetti code
Understanding Unstructured Spaghetti Code
  • Spaghetticode – logically snarled program statements
  • Can be the result of poor program design

Example: college admissions criteria

Programming Logic and Design, Introductory, Fourth Edition

understanding unstructured spaghetti code continued
Understanding Unstructured Spaghetti Code (continued)

Programming Logic and Design, Introductory, Fourth Edition

understanding unstructured spaghetti code continued6
Understanding Unstructured Spaghetti Code (continued)
  • Spaghetti code programs often work, but are difficult to read and maintain
  • Convoluted logic usually requires more code

Programming Logic and Design, Introductory, Fourth Edition

understanding the three basic structures
Understanding the Three Basic Structures
  • Structure: a basic unit of programming logic
  • Any program can be constructed from only three basic types of structures
    • Sequence
    • Selection
    • Loop

Programming Logic and Design, Introductory, Fourth Edition

understanding the three basic structures continued
Understanding the Three Basic Structures (continued)
  • Sequence structure
    • A set of instructions, performed sequentially with no branching

Programming Logic and Design, Introductory, Fourth Edition

understanding the three basic structures continued9
Understanding the Three Basic Structures (continued)
  • Selection structure
    • Asks a question, then takes one of two possible courses of action based on the answer
    • Also called a decision structure or an if-then-else

Programming Logic and Design, Introductory, Fourth Edition

understanding the three basic structures continued10
Understanding the Three Basic Structures (continued)
  • Dual-alternative if: contains two alternatives

Programming Logic and Design, Introductory, Fourth Edition

understanding the three basic structures continued11
Understanding the Three Basic Structures (continued)
  • Single-alternative if: contains one alternative

Programming Logic and Design, Introductory, Fourth Edition

understanding the three basic structures continued12
Understanding the Three Basic Structures (continued)
  • Single-alternative if
  • Else clause is not required
  • Null case: situation where nothing is done

Programming Logic and Design, Introductory, Fourth Edition

understanding the three basic structures continued13
Understanding the Three Basic Structures (continued)
  • Loop structure
    • Repeats a set of actions based on the answer to a question
    • Also called repetition or iteration
    • Question is asked first in the most common form of loop

Programming Logic and Design, Introductory, Fourth Edition

understanding the three basic structures continued14
Understanding the Three Basic Structures (continued)
  • Loop structure

Programming Logic and Design, Introductory, Fourth Edition

understanding the three basic structures continued15
Understanding the Three Basic Structures (continued)
  • All logic problems can be solved using only these three structures
  • Structures can be combined in an infinite number of ways
  • Stacking: attaching structures end-to-end
  • End-structure statements
    • Indicate the end of a structure
    • endif: ends an if-then-else structure
    • endwhile: ends a loop structure

Programming Logic and Design, Introductory, Fourth Edition

understanding the three basic structures continued16
Understanding the Three Basic Structures (continued)

Programming Logic and Design, Introductory, Fourth Edition

understanding the three basic structures continued17
Understanding the Three Basic Structures (continued)
  • Any individual task or step in a structure can be replaced by a structure
  • Nesting: placing one structure within another
  • Indent the nested structure’s statements
  • Block: group of statements that execute as a single unit

Programming Logic and Design, Introductory, Fourth Edition

understanding the three basic structures continued18
Understanding the Three Basic Structures (continued)

Programming Logic and Design, Introductory, Fourth Edition

understanding the three basic structures continued19
Understanding the Three Basic Structures (continued)

Programming Logic and Design, Introductory, Fourth Edition

understanding the three basic structures continued20
Understanding the Three Basic Structures (continued)

Programming Logic and Design, Introductory, Fourth Edition

understanding the three basic structures continued21
Understanding the Three Basic Structures (continued)
  • Each structure has one entry and one exit point
  • Structures attach to others only at entry or exit points

Programming Logic and Design, Introductory, Fourth Edition

using the priming read
Using the Priming Read
  • Priming read (or priming input):
    • Reads the first input data record
    • Outside the loop that reads the rest of the records
    • Helps keep the program structured
  • Analyze a flowchart for structure one step at a time
  • Watch for unstructured loops that do not follow this order:
    • First ask a question
    • Take action based on the answer
    • Return to ask the question again

Programming Logic and Design, Introductory, Fourth Edition

using the priming read continued
Using the Priming Read (continued)
  • Unstructured loop:

Programming Logic and Design, Introductory, Fourth Edition

using the priming read continued24
Using the Priming Read (continued)
  • Structured but nonfunctional loop

Programming Logic and Design, Introductory, Fourth Edition

using the priming read continued25
Using the Priming Read (continued)
  • Functional but non-structured loop

Programming Logic and Design, Introductory, Fourth Edition

using the priming read continued26
Using the Priming Read (continued)
  • Functional and structured loop

Programming Logic and Design, Introductory, Fourth Edition

using the priming read continued27
Using the Priming Read (continued)
  • Priming read sets up the process so the loop can be structured
  • To analyze a flowchart’s structure, try writing pseudocode for it

Programming Logic and Design, Introductory, Fourth Edition

using the priming read continued28
Using the Priming Read (continued)
  • What is wrong with this design?

Programming Logic and Design, Introductory, Fourth Edition

understanding the reasons for structure
Understanding the Reasons for Structure
  • Advantages of structure:
    • Provides clarity
    • Professionalism
    • Efficiency
    • Ease of maintenance
    • Supports modularity

Programming Logic and Design, Introductory, Fourth Edition

slide30

Understanding the Reasons for Structure (continued)

Programming Logic and Design, Introductory, Fourth Edition

understanding the reasons for structure continued
Understanding the Reasons for Structure (continued)

Programming Logic and Design, Introductory, Fourth Edition

slide32

Recognizing Structure

  • Any set of instructions can be expressed in structured format
  • Is this flowchart structured?

Programming Logic and Design, Introductory, Fourth Edition

recognizing structure continued
Recognizing Structure (continued)
  • Is this flowchart structured?

Programming Logic and Design, Introductory, Fourth Edition

recognizing structure continued34
Recognizing Structure (continued)
  • To make it structured, pull each symbol out and rework
  • B begins a selection structure

Programming Logic and Design, Introductory, Fourth Edition

recognizing structure continued35
Recognizing Structure (continued)
  • Pull up on the flowline from the left side of B

Programming Logic and Design, Introductory, Fourth Edition

recognizing structure continued36
Recognizing Structure (continued)
  • Next, pull up the flowline on the right side of B

Programming Logic and Design, Introductory, Fourth Edition

recognizing structure continued37
Recognizing Structure (continued)
  • Pull up the flowline on the left side of D and untangle it from the B selection by repeating C

Programming Logic and Design, Introductory, Fourth Edition

recognizing structure continued38
Recognizing Structure (continued)
  • Now pull up the flowline on the right side of D

Programming Logic and Design, Introductory, Fourth Edition

recognizing structure continued39
Recognizing Structure (continued)
  • Bring together the loose ends of D and of B

Programming Logic and Design, Introductory, Fourth Edition

three special structures case do while and do until
Three Special Structures – Case, DoWhile, and DoUntil
  • Many languages allow three additional structures:
    • case structure
    • do-while structure
    • do-until structure
  • Case Structure:
    • Decisions with more than two alternatives
    • Tests a variable against a series of values and takes action based on a match
    • Nested if-then-else statements will do what a case structure does

Programming Logic and Design, Introductory, Fourth Edition

three special structures case do while and do until continued
Three Special Structures – Case, DoWhile, and DoUntil (continued)
  • Using nested if-then-else for multiple alternatives

Programming Logic and Design, Introductory, Fourth Edition

three special structures case do while and do until continued42
Three Special Structures – Case, DoWhile, and DoUntil (continued)
  • Using a case structure for multiple alternatives

Programming Logic and Design, Introductory, Fourth Edition

three special structures case do while and do until continued43
Three Special Structures – Case, DoWhile, and DoUntil (continued)
  • do-while and do-until loops
    • Question is asked at the end of the loop structure
    • Ensures that the loop statements are always used at least once

Programming Logic and Design, Introductory, Fourth Edition

three special structures case do while and do until continued44
Three Special Structures – Case, DoWhile, and DoUntil (continued)
  • do-while loop executes as long as the question’s answer is Yes or True
  • do-until loop executes as long as the question’s answer is No or False (until it becomes Yes or True)

Programming Logic and Design, Introductory, Fourth Edition

three special structures case do while and do until continued45
Three Special Structures – Case, DoWhile, and DoUntil (continued)
  • while loop with question at beginning is called a pretest loop
  • do-while and do-until with question at end are called posttest loops
  • A posttest loop can be replaced with a sequence followed by a pretest while loop

Programming Logic and Design, Introductory, Fourth Edition

three special structures case do while and do until continued46
Three Special Structures – Case, DoWhile, and DoUntil (continued)

Programming Logic and Design, Introductory, Fourth Edition

three special structures case do while and do until continued47
Three Special Structures – Case, DoWhile, and DoUntil (continued)

Programming Logic and Design, Introductory, Fourth Edition

three special structures case do while and do until continued48
Three Special Structures – Case, DoWhile, and DoUntil (continued)
  • How can this design be made structured?

Programming Logic and Design, Introductory, Fourth Edition

three special structures case do while and do until continued49
Three Special Structures – Case, DoWhile, and DoUntil (continued)
  • Repeat the needed step to enforce structure

Programming Logic and Design, Introductory, Fourth Edition

summary
Summary
  • Spaghetti code: snarled program logic
  • Three basic structures: sequence, selection, loop
  • These three can be combined by stacking and nesting
  • Priming read: statement that reads the first input data record
  • Structured techniques promote clarity, professionalism, efficiency, and modularity

Programming Logic and Design, Introductory, Fourth Edition

summary continued
Summary (continued)
  • Flowchart can be made structured by untangling
  • case structure: handles questions with multiple alternatives
  • while loop: a pretest loop that asks the question first
  • while loop statements may never be executed if the answer is No
  • do-while and do-until loops: posttest loops that ask the question last

Programming Logic and Design, Introductory, Fourth Edition

summary continued52
Summary (continued)
  • do-while and do-until loop statements are always executed at least once
  • Posttest loop can be replaced by a sequence followed by a while loop

Programming Logic and Design, Introductory, Fourth Edition