Télécharger repe.notice

Retour à la liste thématique

Afficher cette notice en

Numérotation des lignes :
$$$$ REPE     NOTICE  PV090527  24/01/09    21:15:25     11817          
                                             DATE     24/01/09

  Directive REPETER                        Voir aussi : ITER QUIT
    -----------------                                     FIN  
    REPETER BLOC1 | (N1)           ;
                  | (List_objet)

    Objet :
    _______

    L'objet BLOC1 (de type BLOC) est constitue de l'ensemble des
    instructions comprises entre la directive REPETER BLOC1 et
    la directive FIN BLOC1.

    La directive REPETER permet de repeter plusieurs fois
    l'execution de cet ensemble d'instructions.

    Si l'entier N1 est specifie, il faut le mettre apres le nom de la boucle, 
    et la boucle est repetee N1 fois. Si N1 est negatif ou nul, la repetition
    se fait indefiniment.  
    Un objet ENTIER s'appelant &BLOC1 est incremente a chaque iteration
    (compteur de la boucle valant 1 lors du premier passage).
    
    Si un LISTOBJE List_objet est specifie, la boucle est repetee pour 
    chaque objet dans List_objet, et le nom &BLOC1 permet d'acceder a
    cet objet.


    ATTENTION : seules les 7 premieres lettres du nom BLOC1 sont mises
                derriere le caractere &.

    
    Remarque :
    __________

    Si N1 est specifie, il faut le mettre apres le nom de la boucle.
    
    Si N1 est nul, le code de la boucle n'est jamais execute.

    Si N1 est negatif ou s'il n'est pas specifie, la repetition se fait
    indefiniment.
    
    Si N1 et List_objet ne sont pas specifies, la repetition se fait
    indefiniment.

    L'operateur ENUM permet de creer facilement un LISTOBJE.

    Il est possible dans tous les cas d'interrompre la repetition a
    l'aide de la directive QUITTER. L'instruction ITERER permet quant
    a elle de passer directement a l'iteration suivante, sans executer
    le reste du code present jusqu'a la fin du bloc.

    
    Exemple :
    _________
    
    
    * Calcul de la constante d'Euler

    I=0 ; CRIT= 1E-5; CRITM= CRIT*-1; C=0. ;
    EPS1= 0 ; OK = FAUX ;

    REPETER BLOTO 100 ;

    I = I + 1; C = C + (1./ I) ;
    EPS = C - (LOG I) ;
    D = EPS - EPS1 ;

    SI ( (D < CRIT) ET (D > CRITM) ) ;

    OK = VRAI ;
    MESS ' constante d'euler atteinte au bout de ' &BLOTO 'iterations';
    QUITTER BLOTO ;

    FINSI ;
    EPS1 = EPS ;

    FIN BLOTO ;

    SI OK ;
    LIST EPS ;
    SINON ;
    MESSAGE 'RATE' ;
    FINSI ;
    FIN;

© Cast3M 2003 - Tous droits réservés.
Mentions légales