Neal Stublen nstublen@jccc.edu. Loop Structure Sometimes it’s useful to repeat yourself The same...

Preview:

Citation preview

PROGRAMMING FUNDAMENTALS

Neal Stublen

nstublen@jccc.edu

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.

Recommended