Transcript Iterations

Repeating
Actions
While and For Loops
Forms of the Repetition
Structure
• For Next loops
–Count controlled
• Do While loops
–Condition controlled
2
For Next Loops
• Tells the computer to repeat one or more
statements a specified number of times.
Called a pretest loop because the loop is
evaluated before the instructions are
processed.
• For loops are used to repeat actions a
predetermined number of times.
3
For Next Loop Tasks
• The loop initializes the counter (often called the
index) variable to the startvalue (done only once,
at the beginning of the loop).
• If the stepvalue is positive, the loop tests if the
value in counter is greater than the endvalue
(when negative the test is less than). If it is, the
loop stops; otherwise the instructions within the
loop are processed.
• The loop increments the counter by the
stepvalue. It then tests the condition again.
4
For Loop in VL
The for loop
element
displays the
loop variable,
initial value,
final value, and
step by value if
it is something
other than 1
5
Nested Loops
• For loops allow code inside the body of the
loop to be repeated many times.
• A nested loop refers to a loop contained
inside the body of another loop.
6
Nested For Loops
For each time through the outer loop, the inner loop
executes from initial to final by step times.
7
Nesting At The Same Level
8
Diamond Problem
9
Do While Loops
• Do While loops are used when an action is to be
repeated an unknown number of times.
• A pre-test loop tests the looping condition before
executing the body of the loop. The body of the
loop may not be executed.
• A post-test loop guarantees at least one execution
of the loop body regardless of the condition. The
test is after the body of the loop.
10
Pre-test loop
Do It?
True
False
Note: This loop may or
may not be executed at all
11
Post-test Loop
Again?
True
False
Note: This loop will be executed
at least once
12
Sentinel Value
• A sentinel value (or signaling value) is
used to indicate the end of input.
• The solution flowchart in Figure 3-13
shows -1 as the sentinel value which is
checked twice (if and while).
13
Grocery Checkout
14
Counters and Accumulators
• Used within a repetition structure to
calculate subtotals, totals, and averages
– Initialized (usually to 0 or 1) outside the
loop and updated within the loop
– A counter is a numeric variable used for
counting something and is updated by 1
– An accumulator is a numeric variable used
for accumulating (adding together) and is
updated by an amount that varies
15
Counters and Accumulators
• Counters are variables that keep track of
how many times a statement has executed.
Counter = Counter + 1
• Accumulators are variables that maintain a
running total.
Accumulator = Accumulator + NewValue
16
Nested While Loops
17
Endless Loops
• When writing loops you must be sure that
the condition will terminate the loop or you
have what is called an endless or infinite
loop.
• When you write a loop you must be careful
to increment the variable or input a new
value inside the loop so it will terminate.
18