$$$$ ORDO NOTICE JB251061 21/02/09 21:15:05 10884 DATE 21/02/09 Operateur ORDONNER Voir aussi : UNIQ, ORIE ------------------ Objet : _______ L'operateur ORDONNER range le contenu d'un objet ordonnable. Syntaxes : __________ Tri d'un seul objet LISTENTI, LISTREEL ou LISTMOTS ************************************************** LIS2 = ORDO LIS1 |('CROI')| ('ABSO') ('NOCA') ('UNIQ' (FLOT1)) ; |('DECR')| Tri d'un ou plusieurs objets LISTENTI, LISTREEL et/ou LISTMOTS ************************************************************** a) Tri CROIssant ou DECRoissant ---------------------------- RES1 (.. RESN) = ORDO LIS1 (.. LISN) |('CROI')| ('ABSO') ('NOCA') ; |('DECR')| TAB2 = ORDO TAB1 OBJ1 |('CROI')| ('ABSO') ('NOCA') ; |('DECR')| b) Tri minimisant un COUT ---------------------- RES0 RES1 (.. RESN) = ORDO LIS1 (.. LISN) 'COUT' LISCOU |('HONG')| ; | 'COMP' | Tri d'un objet EVOLUTION ************************ EVOL2 = ORDO EVOL1 |('CROI')| ('ABSO') ; |('DECR')| Tri d'un objet MAILLAGE *********************** MAIL2 = ORDO MAIL1 ; Commentaires : ______________ 1) Les actions sont differentes selon le type de l'objet a traiter : - LISTENTI ou LISTREEL : on ordonne les nombres - LISTMOTS : on range les mots par ordre alphabetique - EVOLUTION : on ordonne les abscisses de chaque courbe - MAILLAGE : o POI1 : on ordonne les points par distance croissante au premier d'entre eux o SEG2, SEG3 : on ordonne les elements de maniere a decrire une ligne continue d'une extremite a l'autre (dans le cas d'une ligne fermee, celle-ci est ordonnee a partir du premier point du premier element, et le sens de parcours est celui du premier element) o autres : on ordonne par voisinnage des elements 2) Dans le cas d'un objet LIS1 (type LISTENTI, LISTREEL ou LISTMOTS) il est possible de fournir d'autres listes LIS2, LIS3, ...LISN (de types quelconques parmi LISTENTI, LISTREEL et LISTMOTS) qui subiront les memes permutations que LIS1. Toutes les listes doivent avoir la meme longueur. 3) Il est possible de regrouper les listes (type LISTENTI, LISTREEL ou LISTMOTS) dans un objet TAB1 de type TABLE. Le tri s'effectue alors sur celle d'indice OBJ1, et les autres listes subissent ensuite les memes permutations. 4) Description des mots-cles disponibles : >>> 'CROI' & 'DECR' s'applique a : LISTENTI, LISTREEL, LISTMOTS et EVOLUTION \__________________________/ ou TABLE Il est possible de trier le contenu par ordre croissant (mot-cle 'CROI') ou decroissant (mot-cle 'DECR'). >>> 'ABSO' s'applique a : LISTENTI, LISTREEL et EVOLUTION \________________/ ou TABLE Le mot-cle 'ABSO' signifie que l'on ne tient compte que de la valeur absolue des nombres pour faire la mise en ordre. >>> 'NOCA' s'applique a : LISTMOTS (ou TABLE) Le mot-cle 'NOCA' indique que le tri est insensible a la casse des caracteres. En son absence, les majuscules precedent les minuscules dans l'ordre de tri. >>> 'UNIQ' s'applique a : LISTENTI, LISTREEL, LISTMOTS \__________________________/ ou TABLE d'une seule liste (INVALIDE quand plusieurs listes sont triees simultenement) Le mot-cle 'UNIQ' permet de supprimer les eventuels doublons une fois le tri effectue. Si le mot 'NOCA' est present, deux mots seront consideres identiques meme si leur casse est differente, et seul l'un des deux sera conserve. Si un nombre FLOT1 (type FLOTTANT) est donne, deux reels seront consideres egaux si que leur difference (en valeur absolue) est inferieure a ce nombre. >>> 'COUT' s'applique a : LISTENTI, LISTREEL, LISTMOTS \__________________________/ ou TABLE Le mot-cle 'COUT' doit obligatoirement etre suivi d'un objet LISCOU de valeurs C_i_j traduisant le cout de l'association (i;j). Cet objet de type LISTENTI ou LISTREEL est donc de dimension n**2 avec n la dimension des autres listes de valeurs LIS1 (.. LISN). ORDO calculera alors la permutation j=perm(i) minimisant le cout total, soit la somme pour i=1..n des C_i_perm(i) (retournee dans RES0). Les listes RES1 (.. RESN) sont les images des LIS1 (.. LISN) soumises a cette permutation-ci. L'option 'COMP' (pour COMPLET) calcule les (n!) permutations possibles, ce qui peut etre tres long. L'option 'HONG' utilise la methode "Hongroise", beaucoup plus rapide.
© Cast3M 2003 - Tous droits réservés.
Mentions légales