The QBASIC section has been archived, and is no longer updated.

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

(Download)
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

(Download)