Les boucles :

Les questions les plus posées trouvent leurs réponses ici
Répondre
Avatar du membre
Onissius
Messages : 640
Enregistré le : 11 avr. 2014, 22:47
Localisation : Lyon (France)
Contact :

Les boucles :

Message par Onissius » 15 mai 2016, 17:55

Elles servent à répéter plusieurs fois quelque chose ou à attendre que quelque choses arrive pour faire autre chose.

Il y a deux types :
  1. Les boucle infini (celle qui ne s’arrête jamais) :

    Code : Tout sélectionner

    Label	<Debut>
             la macro
     Goto	<Debut>
    Label <Debut>
    Je donne le nom "Debut" à cet endroit comme le début de la boucle, mais j'aurais pu l'appeler autrement. Si possible, évitez les caractère accentués, les caractères spéciaux ou les espace dans le nom. Ça n'est pas une faute en soi, mais prenez en l'habitude en programmation. En effet, pour certains systèmes le A et le a sont deux caractères différents. Parfois le programme que vous utilisez gère mal les espaces et le caractères accentué peuvent être une cause d'erreurs.

    Commentaire Action de la macro
    ici, on fait la ou les actions que l'on souhaite répéter. C'est à la place du commentaire qu'est votre macro.

    Goto <Debut>
    C'est la fin de la boucle qui nous renvois au début de la boucle pour recommencer votre macro.
  2. Les boucle définie (Celles qui s'arrête au bout de x fois "plus un") :

    Code : Tout sélectionner

    Variable <nbr_de_boucle>;5;Numerique;
    Calcul évolué <nbr_de_boucle>=<nbr_de_boucle>-1
    Label <Début>
    Commentaire Action de la macro
    Calcul évolué <nbr_de_boucle>=<nbr_de_boucle>-1
    Examine <nbr_de_boucle>;=;0;
    Goto <Fin>
    Goto <Début>
    Label <Fin>
    Variable <nbr_de_boucle>;5;Numerique; (Variable où on défini le nombre de fois que l'on souhaite faire boucler la boucle. Cinq fois dans cet exemple)

    Calcul évolué <nbr_de_boucle>=<nbr_de_boucle>-1
    Vu que la boucle va tourner une première fois sans que le compteur soit incrémenté, ou soustrait ici 1 au nombre de boucle. Sinon, la boucle va tourner en tout six fois.

    Label <Début>
    (on nome cet endroit comme le début de la boucle)

    Commentaire Action de la macro
    Là, j'ai mis un label, mais c'est le contenu de votre macro qui doit être placé ici.

    Calcul évolué <nbr_de_boucle>=<nbr_de_boucle>-1
    Ici, en fin de boucle ou change le compteur de boucle en lui enlevant 1 à chaque fois.

    Examine <nbr_de_boucle>;=;0;
    Examine fonctionne un IF…Then…Else. Ici, si la condition est de vérifier si le nombre de boule est égale à Zéro...

    Goto <Fin>
    …si la condition est vérifié et donc VRAI que le nbr_de_boucle est bien égale à Zéro, alors on va en fin de macro…

    Goto <Début>
    …si la condition n'est pas vérifié et donc FAUSSE, alors on retourne en début de macro.

    Label <Fin>
    On nome cet endroit comme étant la fin de la boucle.

    On peu aussi utiliser le plug-in "Boucle" pour faire moins de ligne dans la macro.

    Code : Tout sélectionner

    Boucle	4
    Commentaire	Action de la macro
    Boucle	[FIN]
ATTENTION :
Une boucle s’exécute toujours une première fois avant de boucler, il faut donc en tenir compte.
Si on veut faire 5 boucles il fait bien penser à demander à la boucle de tourner 4 fois.
Rejoins moi sur DISCORD, ou TWITTER.
J'ai découvert SM en 99, rapidement Adam m'a promu admin. Posez vos questions aussi clairement possible, sans fautes qui piquent l’œil, et pour éviter ça et relisez vous et respectez les autres.

Répondre