0% found this document useful (0 votes)
67 views

PLF Lesson 3 - Looping (Continuation)

Looping allows programmers to write code that efficiently operates on multiple data sets with fewer errors. It is important to properly initialize, alter, and compare the loop control variable to ensure loops terminate correctly. Common mistakes include neglecting these aspects of the loop control variable as well as performing unnecessary repetitive calculations inside loops. Proper loop structure is essential for programs to function as intended.

Uploaded by

Vert Valencia
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
67 views

PLF Lesson 3 - Looping (Continuation)

Looping allows programmers to write code that efficiently operates on multiple data sets with fewer errors. It is important to properly initialize, alter, and compare the loop control variable to ensure loops terminate correctly. Common mistakes include neglecting these aspects of the loop control variable as well as performing unnecessary repetitive calculations inside loops. Proper loop structure is essential for programs to function as intended.

Uploaded by

Vert Valencia
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 58

Programming Logic and Design

Eighth Edition
Looping
Advantages of Looping
Week 10
Objectives
• In this chapter, you will learn about:
• The advantages of looping
• Using a loop control variable
• Nested loops
• Avoiding common loop mistakes
• Using a for loop
• Common loop applications
• The similarities and differences between selections and
loops

Programming Logic and Design, Eighth Edition 3


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
– Less time required for design and coding
– Fewer errors
– Shorter compile time
• Loop: a structure that repeats actions while some
condition continues

Programming Logic and Design, Eighth Edition 4


Understanding the Advantages of
Looping (continued)

• Dual-alternative (or binary) selection structure


– Provides an action for each of two possible outcomes

Figure 5-1 The loop structure


Programming Logic and Design, Eighth Edition 5
Understanding the Advantages of
Looping (continued)

Figure 5-2 The mainline logic common to many business programs


Programming Logic and Design, Eighth Edition 6
Understanding the Advantages of
Looping (continued)

Quick Reference 5-1 While Statement Pseudocode Standards


Programming Logic and Design, Eighth Edition 7
Controlling Loops with counters
and sentinel values
Week 11
Using a Loop Control Variable
• As long as a condition remains true, the statements
in a while loop’s body execute
• Control number of repetitions
– Loop control variable initialized before entering loop
– Loop control variable tested
– Body of loop must alter value of loop control variable
• Repetitions controlled by:
– Counter – used to create a definite counter-controlled loop
– Sentinel value – used to create an indefinite loop

Programming Logic and Design, Eighth Edition 9


Using a Definite Loop
with a Counter
• Definite loop
– Executes a predetermined number of times
• Counter-controlled loop
– Program counts loop repetitions
• Loop control variables altered by:
– Incrementing
– Decrementing
• Counter
– Any numeric variable that counts the number of times an
event has occurred, usually starts with 0
Programming Logic and Design, Eighth Edition 10
Using a Definite Loop
with a Counter (continued)

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

Programming Logic and Design, Eighth Edition 11


Using an Indefinite Loop
with a Sentinel Value
• Indefinite loop
– Performed a
different number
of times each time
the program
executes
– The user decides
how many times
the loop executes

Figure 5-4 An indefinite while loop


that displays Hello as long as the user
wants to continue
Programming Logic and Design, Eighth Edition 12
Using an Indefinite Loop
with a Sentinel Value (continued)

Figure 5-5 Typical executions of the program in Figure 5-4 in two environments
Programming Logic and Design, Eighth Edition 13
Understanding the Loop in a
Program’s Mainline Logic
• Three steps should occur in every properly
functioning loop
– Provide a starting value for the variable that will control
the loop
– Test the loop control variable to determine whether the
loop body executes
– Alter the loop control variable

Programming Logic and Design, Eighth Edition 14


Understanding
the Loop in a
Program’s
Mainline Logic
(continued)

Figure 5-6 A payroll program


showing hoe the loop control
variable is used

Programming Logic and Design, Eighth Edition 15


Nested Looping
Week 12
Nested Loops
• Nested loops: loops within loops
• Outer loop: the loop that contains the other loop
• Inner loop: the loop that is contained
• Needed when values of two (or more) variables
repeat to produce every combination of values

Programming Logic and Design, Eighth Edition 17


Nested Loops (continued)

Figure 5-8 Flowchart and pseudocode for


AnswerSheet program (Continues)

Programming Logic and Design, Eighth Edition 18


Nested Loops (continued)

Figure 5-8 Flowchart and


pseudocode for
AnswerSheet program
(Continues)

Programming Logic and Design, Eighth Edition 19


Nested Loops (continued)

Figure 5-8 Flowchart and


pseudocode for
AnswerSheet program

Programming Logic and Design, Eighth Edition 20


Nested Loops (continued)

• Nested Loop facts:


– Nested loops never overlap. An inner loop is
always completely contained within an outer loop
– An inner loop goes through all of its iterations
each time its outer loop goes through just one
iteration
– The total number of iterations executed by a
nested loop is the number of inner loop iterations
times the number of outer loop iterations

Programming Logic and Design, Eighth Edition 21


Avoiding Common Loops
Week 13
Avoiding Common Loop Mistakes
• 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

Figure 5-9 Correct logic for


greeting program

Programming Logic and Design, Eighth Edition 23


Avoiding Common Loop Mistakes
(continued)

Figure 5-10 Incorrect logic for greeting program because the loop control variable
initialization is missing
Programming Logic and Design, Eighth Edition 24
Avoiding Common Loop Mistakes
(continued)

• Mistake: neglecting to alter the loop control variable


– 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
Programming Logic and Design, Eighth Edition Figure 5-11 Incorrect logic for greeting program 25
because the loop control variable is not altered
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

Programming Logic and Design, Eighth Edition 26


Avoiding Common Loop Mistakes
(continued)

Figure 5-12 Incorrect logic for


greeting program because the
loop control variable is not
altered

Programming Logic and Design, Eighth Edition 27


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 the loop for efficiency

Programming Logic and Design, Eighth Edition 28


Avoiding Common Loop Mistakes
(continued)

Figure 5-13 Inefficient way to


produce 100 discount price
stickers for differently priced
items (Continues)

Programming Logic and Design, Eighth Edition 29


Avoiding Common Loop Mistakes
(continued)

Figure 5-13 Inefficient way to


produce 100 discount price
stickers for differently priced
items (Continues)

Programming Logic and Design, Eighth Edition 30


Avoiding
Common
Loop
Mistakes
(continued)

Figure 5-14 Improved discount


sticker-making program
(Continues)

Programming Logic and Design, Eighth Edition 31


Avoiding
Common
Loop
Mistakes
(continued)

Figure 5-14 Improved discount


sticker-making program

Programming Logic and Design, Eighth Edition 32


Using a for Loop and
Posttest Loops
Week 14
Using a for Loop
• for statement or for loop is a definite loop
• Provides three actions in one structure
– Initializes
– Evaluates
– Alters

Figure 5-15 Comparable while and for statements that each output Hello four times

Programming Logic and Design, Eighth Edition 34


Using a for Loop (continued)

• Example
for count = 0 to 3 step 1
output "Hello"
endfor
• Initializes count variable to 0
• Checks count variable against the limit value 3
• If evaluation is true, for statement body prints the
word “Hello”
• Increases count by 1 using a step value

Programming Logic and Design, Eighth Edition 35


Using a for Loop (continued)

• Step value: the amount by which a loop control


variable changes
– Can be positive or negative (incrementing or decrementing
the loop control variable)
– Default step value is 1
– Programmer specifies a step value when each pass
through the loop changes the loop control variable by a
value other than 1

Programming Logic and Design, Eighth Edition 36


Using a for Loop (continued)

Quick Reference 5-2 for Statement Pseudocode Standards


Programming Logic and Design, Eighth Edition 37
Using a for Loop (continued)

• while statement could be used in place of for


statement
• Pretest loop: the loop control variable is tested
before each iteration
– for loops and while loops are pretest loops
• Posttest loop: the loop control variable is tested
after each iteration
– do…while is a posttest loop

Programming Logic and Design, Eighth Edition 38


Common Loop Application
Week 15
Common Loop Applications
• Using a loop to accumulate totals
– Examples
• Business reports often include totals
• List of real estate sold and total value
• Accumulator: variable that gathers values
– Similar to a counter
• Counter increments by 1
• Accumulator increments by some value

Programming Logic and Design, Eighth Edition 40


Common Loop Applications (continued)

• Accumulators require three actions


– Initialize the accumulator to 0
– Accumulators are altered: once for every data set
processed
– At the end of processing, accumulators are output
• Summary reports
– Contain only totals with no detail data
– Loops are processed but detail information is not printed

Programming Logic and Design, Eighth Edition 41


Common Loop Applications (continued)

Figure 5-16 Month-end real estate sales report

Programming Logic and Design, Eighth Edition 42


Common Loop Applications (continued)

Figure 5-17 Flowchart and


pseudocode for real estate
sales report program
(Continues)
Programming Logic and Design, Eighth Edition 43
Common Loop Applications (continued)

Figure 5-17 Flowchart and


pseudocode for real estate
sales report program
(Continues)
Programming Logic and Design, Eighth Edition 44
Common Loop Applications (continued)

• Using a loop to validate data


– Defensive programming: preparing for all possible errors
before they occur
• When prompting a user for data, no guarantee that data is valid
– Validate data: make sure data falls in acceptable ranges
(month values between 1 and 12)
– GIGO: Garbage in, garbage out
• Unvalidated input will result in erroneous output

Programming Logic and Design, Eighth Edition 45


Common Loop Applications (continued)

Figure 5-18 Reprompting a


user once after an invalid
month is entered
Programming Logic and Design, Eighth Edition 46
Common Loop Applications (continued)

Figure 5-19 Reprompting


a user continuously after
an invalid month is
entered
Programming Logic and Design, Eighth Edition 47
Common Loop Applications (continued)

• Limiting a reprompting loop


– Reprompting can be frustrating to a user if it continues
indefinitely
– Maintain a count of the number of reprompts
– Forcing a data item means:
• Override incorrect data by setting the variable to a specific value

Programming Logic and Design, Eighth Edition 48


Common Loop Applications (continued)

Programming Logic and Design, Eighth Edition Figure 5-20 Limiting user reprompts 49
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 strings
– Use built-in methods to convert to correct data types

Programming Logic and Design, Eighth Edition 50


Common Loop Applications (continued)

Programming Logic and Design, Eighth Edition Figure 5-21 Checking data for correct type 51
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

Programming Logic and Design, Eighth Edition 52


Common Loop Applications (continued)

• Comparing Selections
and Loops
• Selection Structure
– The two logical paths
(True and False)
join together
• Loop Structure
– One of the logical
branches returns to
the same decision
Figure 5-22 Comparing a
selection and a loop
Programming Logic and Design, Eighth Edition 53
Common
Loop
Applications
(continued)

Figure 5-23 Inefficient logic for


reading and displaying employee
records

Programming Logic and Design, Eighth Edition 54


Common Loop Applications (continued)

Figure 5-24 Efficient and structured logic for getting and displaying employee records

Programming Logic and Design, Eighth Edition 55


Summary
• Loops write one set of instructions that operate on
multiple, separate sets of data
• Three steps must occur in every loop
– Initialize the loop control variable
– Compare the 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
Programming Logic and Design, Eighth Edition 56
Summary (continued)

• Common mistakes made by programmers


– 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
• Most computer languages support a for statement
– for loop used when the number of iterations is known
• Loops are used to accumulate totals in business
reports and to reprompt users for valid data
Programming Logic and Design, Eighth Edition 57
Summary (continued)

• In the Selection Structure the two logical paths that


emerge from the decision join together following
their actions
• In the loop structure, the paths that emerge from
the decision do not join together
– Instead, with a loop, one of the logical branches that
emerges from the structure-controlling decision eventually
returns to the same decision

Programming Logic and Design, Eighth Edition 58

You might also like