C++ for Engineers and Scientists - Repetition Statements


Objectives

•Basic Loop Structures

•while Loops

•Interactive while Loops

•for loops

•Loop Programming Techniques

 

Objectives (continued)

•Nested Loops

•do while Loops

•Common Programming Errors

 

 

Basic Loop Structures

•Repetition structure has four required elements:

–Repetition statement

–Condition to be evaluated

–Initial value for the condition

–Loop termination

•Repetition statements include

–while

–for

–do while

Basic Loop Structures (continued)

•The condition can be tested

–At the beginning: pretest or entrance-controlled loop

–At the end: posttest or exit-controlled loop

•Something in the loop body must cause the condition to change, to avoid an infinite loop, which never terminates

while Loops

while Loops (continued)

while Loops (continued)

Interactive while Loops

Interactive while Loops (continued)

Interactive while Loops (continued)

Interactive while Loops (continued)

•break statement: forces an immediate break, or exit, from switch, while, for, and do-while statements

•break statement violates pure structured programming, but is useful for breaking out of loops when an unusual condition is detected

Interactive while Loops (continued)

Interactive while Loops (continued)

•continue statement: applies to while, do-while, and for statements; causes the next iteration of the loop to begin immediately

•continue statement is useful for skipping over data that should not be processed in this iteration, while staying within the loop

•Null statement: a semicolon with nothing preceding it; a do-nothing statement required for syntax purposes only

 

for Loops

for Loops (continued)

•Altering list: provides the increment value that is added or subtracted from the counter in each iteration of the loop

•If initializing list is missing, the counter initial value must be provided prior to entering the for loop

•If altering list is missing, the counter must be altered in the loop body

•Omitting the expression will result in an infinite loop

for Loops (continued)

for Loops (continued)

 

 

Loop Programming Techniques

•These techniques are suitable for pretest loops (for and while):

–Interactive Input within a Loop

•Includes a cin statement within a while  or for loop

–Selection within a Loop

•Using a for or while loop to cycle through a set of values to select those values that meet some criteria

 

 

Loop Programming Techniques (continued)

Loop Programming Techniques (continued)

Loop Programming Techniques (continued)

Loop Programming Techniques (continued)

–Interactive Loop Control

•Variable is used to control the loop repetitions

•Provides more flexibility at run-time

 

Loop Programming Techniques (continued)

Nested Loops

•Nested loop: a loop contained within another loop

–All statements of the inner loop must be completely contained within the outer loop; no overlap allowed

–Different variables must be used to control each loop

–For each single iteration of the outer loop, the inner loop runs through all of its iterations

 

Nested Loops (continued)

Nested Loops (continued)

do while Loops

•do while loop is a posttest loop

–Loop continues while the condition is true

–Condition is tested at the end of the loop

    Syntax:

          do

                   statement;

          while (expression);

•All statements are executed at least once in a posttest loop

do while Loops (continued)

do while Loops: Validity Checks

•Useful in filtering user-entered input and providing data validation checks

 

 

 

 

•Can enhance with if-else statement

 

 

Common Programming Errors

•Making the “off by one” error: loop executes one too many or one too few times

•Using the assignment operator (=) instead of the equality comparison operator (==) in the condition expression

•Testing for equality with floating-point or double-precision operands; use an epsilon value instead

Common Programming Errors (continued)

•Placing a semicolon at the end of the for clause, which produces a null loop body

•Using commas instead of semicolons to separate items in the for statement

•Omitting the final semicolon in a do statement

Summary

Summary (continued)