programming logic and design seventh edition
Download
Skip this Video
Download Presentation
Programming Logic and Design Seventh Edition

Loading in 2 Seconds...

play fullscreen
1 / 40

Programming Logic and Design Seventh Edition - PowerPoint PPT Presentation


  • 127 Views
  • Uploaded on

Programming Logic and Design Seventh Edition. Chapter 5 Looping. Objectives. In this chapter, you will learn about: The advantages of looping Using a loop control variable (lcv) Nested loops Avoiding common loop mistakes Using a for loop Common loop applications

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 Seventh Edition' - lola


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
  • In this chapter, you will learn about:
    • The advantages of looping
    • Using a loop control variable (lcv)
    • Nested loops
    • Avoiding common loop mistakes
    • Using a for loop
    • Common loop applications
    • Loop control structure in RAPTOR
    • RAPTOR Intermediate mode: user-defined procedure
understanding the advantages of looping
Understanding the Advantages of Looping
  • Looping makes computer programming efficient and worthwhile
  • Write one set of instructions to operate on multiple, separate sets of data
  • Loop:
    • control structure that repeats a set of actions (loop body) while some condition remains true or until some condition becomes true.
loop control structure in raptor
Loop Control Structure in RAPTOR

In RAPTOR: you repeat the body of the loop UNTIL the condition evaluates to true.

RAPTOR lets you structure your loop as one of three types:

Pre-Test loop ( while / for )

Mid-Test loopillegal in our book

Post-Test loop ( do … while )

Our book only shows us pre-test loops.

RAPTOR Loop Symbol

Note: In most languages (including Java) you repeat the loop bodywhile the condition remains true

understanding the advantages of looping continued
Understanding the Advantages of Looping (continued)

Figure 5-1 The loop structure (pre-test loop)

Our book calls this a while loop

looping definite and indefinite loops
LoopingDefinite and Indefinite Loops

Looping may be achieved using either a definite loop or an indefinite loop

  • A definite loop is also referred to as a counter-controlled loop
  • An indefinite loop is also referred to as a sentinel-controlled loop
  • For a definite loop, you know when you are creating the loop how many times the loop body should be executed
  • For an indefinite loop, the number of times the body of the loop should be executed can be different for each run of a program
using a counter controlled while loop
Using a Counter-Controlled while loop
  • As long as a boolean expression (the condition) remains true, the while loop’s body executes
  • Essential Steps:
    • Create and initialize a loop control variable (lcv)
    • Determine the upper or lower limit for the lcv
    • Determine the step (increment or decrement) for the lcv
    • Determine the boolean expression (condition) that will control the loop
    • Each iteration of the loop, update the lcv
  • Note: for a counter-controlled loop, a loop control variable is also referred to as a counter
using a definite counter controlled loop
Using a Definite (Counter-Controlled) Loop

Must the condition be true or false for the loop body to be executed?

In RAPTOR, what would the condition be?

lcv is: count

Figure 5-3 A counted while loop that outputs “Hello” four times

using an indefinite loop sentinel controlled with a sentinel value
Using an Indefinite Loop (Sentinel-Controlled) with a Sentinel Value
  • Indefinite loop
    • May be performed a different number of times each time the program executes
  • Essential steps:
    • Identify a sentinel value (value outside the range of valid input data) or sentinel module expression (such as RAPTOR's End_of_Input procedure)
    • Determine the boolean expression (condition) to be used to exit the loop
      • name = QUIT //where QUIT is a named constant sentinel value
      • End_of_input //RAPTOR sentinel module expression
      • Java  hasNext( ) //Java method to evaluate end of input condition
    • Each iteration of the loop get a new input value to compare to the sentinel value or evaluate the sentinel module expression
understanding the loop in a program s mainline logic
Understanding the Loop in a Program’s Mainline Logic
  • Three steps that should occur in every properly functioning loop
    • Initialize the variable that will control the loop ( sentinel or counter value )
    • Test the loop control variable ( lcv ) to determine whether the loop body executes
    • Update (aka alter) the loop control variable
nested loops
Nested Loops
  • Nested loops:
    • loop within another loop
  • Outer loop:
    • loop that contains the other loop
  • Inner loop:
    • loop that is contained
  • Needed when values of two (or more) variables repeat to produce every combination of values
common loop mistakes
Common Loop Mistakes
  • Neglecting to initialize the loop control variable
  • Neglecting to alter the loop control variable
  • Using the wrong comparison with the loop control variable
  • Including statements inside the loop that belong outside the loop
avoiding common loop mistakes continued
Avoiding Common Loop Mistakes (continued)
  • Mistake:
    • neglecting to initialize the loop control variable
  • Example: get name statement removed
      • Value of name unknown or garbage
      • Program may end before any labels printed
      • 100 labels printed with an invalid name
slide16
Figure 5-10Incorrect logic for greeting program because the loop control variable initialization is missing
avoiding common loop mistakes continued1
Avoiding Common Loop Mistakes (continued)
  • Mistake:
    • neglecting to alter the loop control variable
  • Example:
    • Remove get name instruction from outer loop
      • User never enters a name after the first one
      • Inner loop executes infinitely
  • [ Always … ] incorrect to create a loop that cannot terminate
slide18
Figure 5-10 Incorrect logic for greeting program because the loop control variable is not altered

Programming Logic & Design, Sixth Edition

avoiding common loop mistakes continued2
Avoiding Common Loop Mistakes (continued)
  • Mistake:
    • using the wrong comparison with the loop control variable
  • Programmers must use correct comparison
  • Seriousness depends on actions performed within a loop
      • Overcharge insurance customer by one month
      • Overbook a flight on airline application
      • Dispense extra medication to patients in pharmacy
slide20
Programming Logic & Design, Sixth Edition

Figure 5-12 Incorrect logic for greeting program because the wrong test is made with the loop control variable

avoiding common loop mistakes continued3
Avoiding Common Loop Mistakes (continued)
  • Mistake:
    • including statements inside the loop that belong outside the loop
  • Example:
    • discount every item by 30 percent
    • Inefficient because the same value is calculated 100 separate times for each price that is entered
    • Move outside loop for efficiency
slide22
Figure 5-13Inefficient way to produce 100 discount price stickers for differently priced items
using a for loop
Using a forLoop
  • for statement or for loop is a definite loop
  • Puts all of the loop control expressions in the for loop header
    • Initialize
    • Test
    • Update
  • Takes the form: [initial, final]

for loopControlVariable = initialValue to finalValue [step stepValue]

do something

endfor

using a for loop continued
Using a forLoop (continued)
  • Example pseudocode

for count = 0 to 3 step 1 [0,3]

output “Hello”

end for

  • Initializescount to 0
  • Checks count against the limit value 3 (test)
  • If evaluation is true, for statement body prints the label
  • Increases count by 1 (update)
using a for loop continued1
Using a for Loop (continued)
  • while statement could be used in place of for statement
  • Step value:
    • number used to increase (decrease) a loop control variable on each pass through a loop
    • Programming languages can:
      • Require a statement that indicates the step value
      • Have a step value default of 1
  • Specify step value when each pass through the loop changes the loop control variable by a value other than 1
common loop applications
Common Loop Applications
  • Using a loop to count and accumulate totals
    • Examples
      • Business reports often include totals
      • List of real estate sold and total value
      • Count of number of records processed
  • Counters and Accumulators:
      • Counter usually is incremented by one each iteration
      • Accumulator has some value added to it each iteration
        • Running sum
common loop applications continued
Common Loop Applications (continued)
  • Accumulate total real estate prices
    • Declare numeric variable at beginning
    • Initialize the accumulator to 0
    • Read each transaction’s data record
    • Add its value to accumulator variable
    • Keep reading records until eof is encountered
  • Variables exist only for the life of the application
    • Run the application a second time; variables may occupy different memory location
common loop applications continued1
Common Loop Applications (continued)

5 records processed

Figure 5-16 Month-end real estate sales report

common loop applications continued2
Common Loop Applications (continued)
  • Use a loop to validate data
    • When prompting a user for data, no guarantee that data is valid
  • Validate data:
    • make sure data falls in acceptable ranges
  • Example: user enters birth month
    • If number is less than 1 or greater than 12
      • Display error message and stop the program
      • Assign default value for the month
      • Reprompt the user for valid input
slide32
Figure 5-18 Reprompting a user once after an invalid month is entered

Programming Logic & Design, Sixth Edition

slide33
Figure 5-19 Reprompting a user using a loop after an invalid month is entered

Programming Logic & Design, Sixth Edition

common loop applications continued3
Common Loop Applications (continued)
  • Limiting a reprompting loop
    • Reprompting can be frustrating to a user if it continues indefinitely
    • Maintain count of the number of reprompts
    • Forcing a data item means:
      • Override incorrect data by setting the variable to a specific value
common loop applications continued4
Common Loop Applications (continued)
  • Validating a data type
    • Validating data requires a variety of methods
    • isNumeric() or similar method
      • Provided with the language translator you use to write your programs
      • Black box
    • isChar() or isWhitespace()
    • Accept user data as a string
    • Use a method to convert to correct to data type
common loop applications continued5
Common Loop Applications (continued)

Figure 5-21 Checking data for correct type

common loop applications continued6
Common Loop Applications (continued)
  • Validating reasonableness and consistency of data
    • Many data items can be checked for reasonableness
    • Good defensive programs try to foresee all possible inconsistencies and errors
summary
Summary
  • Use a loop to:
    • write one set of instructions that operates on multiple, separate sets of data
  • Three steps must occur in every loop
    • Initialize loop control variable
    • Compare variable to some value
    • Alter the variable that controls the loop
  • Nested loops:
    • loops within loops
  • Nested loops maintain two individual loop control variables
    • Alter each at the appropriate time
summary continued
Summary (continued)
  • Common mistakes made by programmers
    • Neglecting to initialize loop control variable
    • Neglecting to alter loop control variable
    • Using wrong comparison with loop control variable
    • Including statements inside the loop that belong outside the loop
  • Most computer languages support a for statement
  • for loop used with definite loop
    • number of iterations is known
  • while loop used with indefinite loop
    • number of iterations is not known
summary continued1
Summary (continued)
  • for loop expressions:
    • Initialize
    • Test
    • Update
  • Accumulator
    • variable that accumulates values creating a running sum
  • Counter
    • Variable used to keep track of the number of occurrences of something (records, customers processed, etc.)
  • Loops are often used to ensure user data is valid
ad