Upload
quintin-layer
View
213
Download
0
Embed Size (px)
Citation preview
LOOPING
Loop Structure
Sometimes it’s useful to repeat yourself The same actions need to occur more
than once Ensures that each repetition is done in
exactly the same way Examples?
Example Loops
while book is not finished
read another page
endwhile
while thirsty
drink water
endwhile
Loop Control Variables
Usually, we want to continue looping until some condition is satisfied
The condition is represented by a loop control variableInitialized before entering the loopTest control variable with each iteration of
the loopTake some action in the body of the loop
that may update the loop control variable
Example Loops// Definite loop – fixed number of iterations
num pagesLeft = 100
while pagesLeft > 0
read another page
pagesLeft = pagesLeft - 1
endwhile
// Indefinite loop – unknown number of iterations
while sick
take medicine
sick = is patient feverish?
endwhile
Nested Loops
Loops can be “nested” so one loop occurs within another loop
Examples?Spreadsheet tables have rows and columnsSmartphone home screen has pages, rows,
and columns
Example Nested Loops
num reports = number of reports
while reports > 0
num pagesLeft = number of pages in report
while pagesLeft > 0
print another page
pagesLeft = pagesLeft - 1
endwhile
reports = reports - 1
endwhile
Common Loop Mistakes Infinite loops
The condition that terminates the loop is missing or incorrect
Failure to initialize the control variable?
Failure to update the control variable?
Failure to check the control variable correctly?
Loop Inefficiencyuser = 1
while user <= lookup number of users
print “User “ + user + " of “ + lookup number of users
print user information
endwhile
user = 1
totalUsers = lookup number of users
while user <= totalUsers
print “User “ + user + " of “ + totalUsers
print user information
endwhile
Thermostat Logic
What logic would we need to implement a thermostat that controls a home furnace?
What if we also wanted to control the air conditioner?
Using for Loops
count = 0
while count < 10
take some action
count = count + 2
endwhile
for count = 0; count < 10; count += 2
take some action
endfor
for Loops Explained
for count = 0; count < 10; count += 2
take some action
endfor
The loop initializes the control variable.
for Loops Explained
for count = 0; count < 10; count += 2
take some action
endfor
The loop checks for a terminating condition.
for Loops Explained
for count = 0; count < 10; count += 2
take some action
endfor
The loop modifies the control variable with each iteration.
for Loops Explained
for count = 8; count >= 0; count -= 2
take some action
endfor
The initial value, condition, and step can also go backwards.
Common Loop Applications
Common Loop Applications Accumulate totals
Sum numeric values in a column from a spreadsheet
Validate dataImporting records from a file, values can be
validated to make sure they fit within an expected range
Keep prompting for the same user input if it was not valid the first time
Summary
Loop structure Loop control variables Nested loops Common loop mistakes Using for loops Common loop applications
Guess a Number
What logic is necessary to have a user guess a random number between 1 and 100?
After each guess, the user will be told if his guess was correct, too high, or too low.
After seven guesses, the user has failed at the task.