B-Basic.net

Innovation Informatique France

Les itérations

Les itérations sont prises en charge par la classe REPETE. Cette classe propose les fonctions suivantes.

    I    Exécuter nb fois un groupe d'instructions
    C    Mise à jour du compteur répétitif
    M    Fin de groupe et mise à jour du compteur
    B    Fin de groupe.

La classe REPETE s'écarte des instructions  For DO While etc. des autres langages. Nous allons voir par l'exemple plusieurs contextes d'utilisations.

 

1 - Simple itération

    1    REPETE(I,10)
            -----
            GROUPE(A,20,1)
            -----
    2    REPETE(B)

Explication du code ..

    1    On désire exécuter 10 fois le code contenu entre 1 et 2
    2    Mise à jours du compteur

 

2 - Iterations programmées

    1    REPETE(I,nb)
            -----
            GROUPE(A,20,1)
            SI(T,valeur...)
    2            REPETE(C,nouvelle valeur)
            SI(F)
            -----
    3    REPETE(B)

Explication du code ..

    1    On désire exécuter nb fois le code contenu entre 1 et 2
    2    En cour de programme on décide de changer le processus
    3    Mise à jours du compteur

 

3 - Mode d'itération tant que ...

    1    V1=1
        REPETE(I,1)
            -----
            GROUPE(A,20,1)
    2        SI(T,valeur...)
                v1=1
            SI(T,valeur...)
                V1=0
            SI(F)
            -----
    3    REPETE(M,V1)

Explication du code ..

    1    On désire exécuter le code tant qu'une condition n'est pas remplie
    2    En cour de programme on décide de provoquer la fin d'itérations
    3    Initialisation du compteur d'après la valeur de V1 si égal à 0 c'est fini.

 

4 - Les conventions

Toute itération doit être finalisée par une instruction de fin d'itération. Sois par l'instruction B, sois par l'instruction M avec une mise à jour ayant la valeur 0.

Vous ne pouvez écrire ...

    REPETE(I,10)
        -----
        GROUPE(A,20,1)
        SI(T,valeur...)
            TERMINE(B)
        SI(F)
        -----
    REPETE(B)

Par contre ...

    REPETE(I,10)
        -----
        GROUPE(A,20,1)
        SI(T,valeur...)
            REPETE(M,0)
            TERMINE(B)
        SI(F)
        -----
    REPETE(B)

    Correct ...

Ou ...

    REPETE(I,10)
        -----
        GROUPE(A,20,1)
        SI(T,valeur...)
            REPETE(C,0)
        SI(F)
        -----
    REPETE(B)

 

Imprimer cette page