Title: 6.2 For
16.2 ForNext Loops
- General Form of a ForNext Loop
- Nested ForNext Loops
- Local Type Inference
2ForNext Loops
- Used when we know how many times we want the loop
to execute - A counter controlled loop
3ForNext Loop Syntax
4Sample
- For i As Integer 1 To 5
- lstTable.Items.Add(i " " i 2)
- Next
- The loop counter variable, i, is
- initialized to 1
- tested against the stop value, 5
- incremented by 1 at the Next statement
The loop counter variable is often used in
statements within the loop body. In this case,
displaying a sequence of numbers and their squares
5Similar Do While Loop
- Dim i As Integer 1
- Do While i lt 5
- lstTable.Items.Add(i " " i 2)
- i 1
- Loop
Loop counter initialization
Loop counter initialization
increment
6Example 1 Output
7Example 1 Code
- Dim pop As Double 300000
- For yr As Integer 2010 To 2014
- lstTable.Items.Add(yr " "
- FormatNumber(pop, 0))
- pop 0.03 pop
- Next
8Step Clause
- Normally after each pass the value of the counter
variable increases by 1 - If the clause Step s is appended to the For
statement, the value of s will be added to the
counter variable after each pass. - If the value of s is a negative number, the value
of the counter variable will decrease after each
pass.
9Example with Negative Step Value
- For j As Integer 10 To 1 Step -1
- lstBox.Items.Add(j)
- Next
- lstBox.Items.Add("Blastoff")
Looping backward through the numbers. Start at
10, test to see if j gt 1, decrement by 1.
Question What would happen with Step -2?
10Example with Negative Step Value
- For j As Integer 1 To 10 Step -1
- lstBox.Items.Add(j)
- Next
- lstBox.Items.Add("Blastoff")
Question What would happen in this case?
11Example 2
This is a good example for testing out various
values for the loops test and step
increment/decrement.
12Example 3
Note Here we have a separate function that is
called by the event procedure.
Function call
Parameter passing
Function declaration
More on this in Ch5.
13Example 3
Here, the loop counter variable is used as an
index into the string. It is common practice to
use loops for retrieving or manipulating
successive positions of a string or an array or a
listboxs collection.
14Example 3
Loop starts at the last character of the string,
and goes backward until the first.
15Nested Loops
- Loops can be nested inside other loops.
16Example 4
Outer loop will execute three times
Each time the outer loop executes, the inner loop
will execute three times
Therefore, the inner loop executes a total of
nine times
17Example Nested ForNext Loops
- For i As Integer 65 To 70
- For j As Integer 1 To 25
- lstBox.Items.Add(Chr(i) j)
- Next
- Next
- Output A1
- A2
- A3
-
Outer loop
Inner loop
Question 1 how many times will the outer loop
execute? Question 2 how many times (total) will
the inner loop execute?
18The Nested for Loop -- Flowchart
Statements preceding loop
No
Statements following loop
Yes
No
Yes
19Example 4
This example produces a multiplication
table. The inner and outer loop counters are
used for doing the calculations and displaying
the results.
20For and Next Pairs
- For and Next statements must be paired.
- If one is missing, the automatic syntax checker
will complain with a wavy underline and a message
such as - A For must be paired with a Next.
21Start, Stop, and Step values
- Consider a loop beginning with
- For i As Integer m To n Step s
- The loop will be executed exactly once if m
equals n no matter what value s has. - The loop will not be executed at all if m is
greater than n and s is positive, - or if m is less than n and s is negative.
22Altering the Counter Variable
- The value of the counter variable should not be
altered within the body of the loop. - Doing so might cause the loop to repeat
indefinitely or have an unpredictable number of
repetitions.
23Non-Integer Step Values
- Can lead to round-off errors with the result that
the loop is not executed the intended number of
times. - We will only use Integers for all values in the
header.