# For...Next

FOR...NEXT is a loop that always goes around a specific number of times. It puts how many times it has gone around in a variable you give it, which can be any numeric variable you want, but is generally I, J, or X. Generally, it looks like this:

``` FOR X = 1 TO num
instructions
NEXT X
```

Here is an example of a very simple program, which counts from 1 to 50:

``` FOR I = 1 TO 50
PRINT I,
NEXT I
```

Note that the counting variable is no longer X, but is now I. This code simply prints the variable I 50 times, because we have told it to do everything between the `FOR` and the `NEXT` 50 times. I changes every time, so it prints a different number each time. Now here is a program that uses a variable to tell the `FOR` how many times to repeat:

``` INPUT "Launch how many rockets? ", launch
FOR J = 1 TO launch
PRINT "Rocket "; J; " launched!"
SLEEP 1
NEXT J
```

This is a sample run:

``` Launch how many rockets? +5+
Rocket 1 launched!
Rocket 2 launched!
Rocket 3 launched!
Rocket 4 launched!
Rocket 5 launched!
```

The `SLEEP 1` simply tells QBASIC to pause for 1 second, to keep the rockets from all launching at once. Of course, we don't need to put `PRINT` into the loop. Nor do we need to put the variable we use for counting into the loop. Here is another program, which just asks for the ages of a group of people, then averages them.

``` INPUT "How many people? ", people
FOR I = 1 TO people
INPUT "Age of person? ",age
total = total + age
NEXT I
average = total / people
PRINT "Average age: ";
PRINT USING "##.#"; average
```