GFA
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment :
Jeux, jouets et Lego : le deuxième à ...
Voir le deal

Débutant 02 Boucles FOR NEXT

GFA :: TUTOS :: Débutants

Aller en bas

Débutant 02 Boucles FOR NEXT Empty Débutant 02 Boucles FOR NEXT

Message par Shadow272 Jeu 28 Déc - 12:05

Boucles FOR NEXT avec TO et DOWNTO

On utilisera ici une variable numérique « i » qui pourait être « atari » ou tout autre mot mais pas un mot clef du GFA
Ces variables qui ne comportent pas le "$" ont uniquement des valeurs numériques.

Ces boucles permettent de répéter X fois une commande ou une série de commandes.

Elle se présente sous la forme :
FOR i=1 TO 100
__( Commandes )
NEXT i

Dans le cas que nous venons de voir, la ou les commandes entre le FOR et le NEXT seront répétées 100 fois.
Le première fois, la variable numérique i sera égale à 1, la deuxième elle sera égale à 2, etc jusque 100.

On peut aussi y mettre un pas d’incrémentation « STEP » suivit d’une valeur

FOR i= 1 TO 12 STEP 3
NEXT i

Appliquons la à l’exemple précédent :
CLS
t$=”Hello”
FOR i=1 TO 12 STEP 3
__PRINT AT(i,i);t$
NEXTi
~INP(2)
On remarque directement le gain en lignes de code, cela se répercutera aussi dans la taille du programme.


Le STEP doit être de valeur négative si le FOR NEXT est inversé

FOR i=12 TO 1STEP -3
NEXT i


On peut coder :
FOR i=1 TO 12
NEXT i

Par contre celui-ci ne fonctionnera pas
FOR i=12 TO 1
NEXT i

Il faut coder :
FOR i=12 TO 1 STEP -1
NEXT i

En décrémentation, le STEP est obligatoire pour pouvoir compiler le programme.
Si le programme est destiné à tourner sous interpréteur et ne pas être compilé, on peut faire comme ça, il fonctionnera parfaitement :
FOR i=12 DOWNTO 1
NEXT i
Shadow272
Shadow272
Admin

Messages : 328
Date d'inscription : 28/12/2017
Age : 65
Localisation : Hainaut Belgique

http://toutatari.blog4ever.xyz/

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

GFA :: TUTOS :: Débutants

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum