{{htmlmetatags>metatag-robots=() metatag-title=(FOR...NEXT | ugBASIC User Manual) metatag-keywords=(ugBASIC,Commodore 64,Commodore PLUS/4,ZX Spectrum) metatag-description=(Manual page for FOR...NEXT) metatag-media-og:image=(:ugbasic:logo-ugbasic-fb.png) metatag-og:title=(FOR...NEXT | ugBASIC User Manual) metatag-og:description=(Manual page for FOR...NEXT) }} ====== ugBASIC User Manual ====== ===== FOR...NEXT ✓ ===== ===== SYNTAX ===== FOR var = start TO end [ STEP increment ] ... NEXT [var] ==== PURPOSE ==== The ''FOR...NEXT'' is a basic tool for executing a block of code a specified number of times. It is a control structure that creates a loop, which is a segment of code that is repeated until a certain condition is met. Once inside the loop, the index used to loop can be read and modified by the program as if it is a normal variable. Normally, the index counter is increased by 1 unit at every turn of a ''FOR...NEXT'' loop. When the current value exceeds that of the last number specified, the loop is terminated. ''STEP'' is used to change the size of increase in the index value. The ''FOR...NEXT'' loop is ideal for performing the same operation a specific number of times. It can be used to create tables of values, such as a multiplication table. It is often used in algorithms that require repeated calculations, such as calculating the factorial of a number. Generally speaking, you can use the ''FOR...NEXT'' when you know the number of iterations in advance, want to perform a sequence of operations repetitively and you need a simple and effective control structure. ==== EXAMPLE ==== i = 0 FOR i = 1 TO 100 STEP 2 PRINT i NEXT See also the following example files: * ''[[https://github.com/spotlessmind1975/ugbasic/tree/main/examples/control_controlled_01.bas|control_controlled_01.bas]]'' * ''[[https://github.com/spotlessmind1975/ugbasic/tree/main/examples/control_controlled_02.bas|control_controlled_02.bas]]'' ==== ABBREVIATION ==== FoNx ==== AVAILABLE ON ==== * * Atari (400/800) * Atari XL/XE * Commodore 128 (MOS 8502) * Commodore 128 (Zilog Z80) * Commodore 64 * Commodore 64+REU * TRS-80 Color Computer * TRS-80 Color Computer 3 * ColecoVision * Amstrad CPC 664 * Dragon 32 * Dragon 64 * Thomson MO5 * Thomson MO5 * Olivetti Prodest PC128 * Commodore PLUS/4 * SEGA SC-3000 * SEGA SG-1000 * * VG-5000 * Commodore VIC-20 * ZX Spectrum 48 ==== SEE ALSO ==== [[DO...LOOP]] [[WHILE...WEND]] [[REPEAT...UNTIL]] ==== ANY PROBLEM? ==== If you have encountered a problem using this command, if you think there is a bug or the explanation is unclear, please [[https://github.com/spotlessmind1975/ugbasic/issues/new?title=ISSUE ON FOR...NEXT|open an issue]] for this keyword on GitHub. Thank you!===== POWERED BY ===== [[:ugbasic:user:index|{{ :ugbasic:user:logo-ugbasic.png?nolink&600 |}}]]