Télécharger posi.notice

Retour à la liste

Afficher cette notice en

Numérotation des lignes :
$$$$ POSI     NOTICE  GOUNAND   14/01/31    21:15:10     7927           
                                             DATE     14/01/31

    Operateur POSI                         Voir aussi : EXIS, DANS
    --------------  

    Objet :
    _______

    L'opérateur POSI recherche la ou les positions d'un ou plusieurs
    items au sein d'une liste.


    Syntaxe :
    _________


      OBJET1 = POSI OBJET2 'DANS' OBJET3 (OBJET4) ('TOUS')


      TYPES POSSIBLES :

        +------------++------------++------------++------------+
        |   OBJET1   ||   OBJET2   ||   OBJET3   ||   OBJET4   |
        +------------++------------++------------++------------+
        |  ENTIER    ||  ENTIER    ||  LISTENTI  || FLOTTANT   |
        |  LISTENTI  ||  FLOTTANT  ||  LISTREEL  || MOT 'NOCA' |
        |            ||  MOT       ||  LISTMOTS  ||            |
        |            ||  LISTENTI  ||  MOT       ||            |
        |            ||  LISTREEL  ||            ||            |
        |            ||  LISTMOTS  ||            ||            |
        +------------++------------++------------++------------+


    => Cherche la premiere occurrence d'un item dans une liste

          ENTIER = POSI ENTIER   'DANS' LISTENTI          ;
          ENTIER = POSI FLOTTANT 'DANS' LISTREEL (FLOT1)  ;
          ENTIER = POSI MOT      'DANS' LISTMOTS ('NOCA') ;
          ENTIER = POSI MOT      'DANS' MOT      ('NOCA') ;


    => Cherche toutes les occurrences d'un item dans une liste

          LISTENTI = POSI ENTIER   'DANS' LISTENTI          'TOUS' ;
          LISTENTI = POSI FLOTTANT 'DANS' LISTREEL (FLOT1)  'TOUS' ;
          LISTENTI = POSI MOT      'DANS' LISTMOTS ('NOCA') 'TOUS' ;
          LISTENTI = POSI MOT      'DANS' MOT      ('NOCA') 'TOUS' ;


    => Cherche la premiere occurrence de plusieurs items dans une liste

          LISTENTI = POSI LISTENTI 'DANS' LISTENTI          ;
          LISTENTI = POSI LISTREEL 'DANS' LISTREEL (FLOT1)  ;
          LISTENTI = POSI LISTMOTS 'DANS' LISTMOTS ('NOCA') ;



   Commentaires :
   ______________


   1) Si OBJET2 (ou un de ses items) n'est pas trouve dans la liste
      OBJET3, sa position vaut 0.


   2) Le premier item de la liste OBJET3 occupe la position 1.


   3) Pour detecter que deux nombres reels sont egaux, on compare leur
      difference (en valeur absolue) avec un nombre juge suffisamment
      petit. Par defaut, on utilise un critere RELATIF base sur la
      precision machine. L'utilisateur peut imposer une valeur ABSOLUE
      pour ce critere via la donnee de FLOT1 (type FLOTTANT).


   4) Par defaut, la comparaison de chaines est sensible a la casse,
      ce qui signifie que l'on distingue les majuscules des minuscules.
      On peut indiquer a la directive que l'on souhaite plutot faire une
      recherche insensible a la casse grace au mot-cle "NOCA".


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