1 : $$$$ ORDO NOTICE FD218221 26/09/21 21:15:18 12651 2 : DATE 26/09/21 3 : 4 : Operateur ORDONNER Voir aussi : UNIQ, ORIE 5 : ------------------ 6 : 7 : 8 : Objet : 9 : _______ 10 : 11 : L'operateur ORDONNER range le contenu d'un objet ordonnable. 12 : 13 : 14 : 15 : Syntaxes : 16 : __________ 17 : 18 : 19 : Tri d'un seul objet LISTENTI, LISTREEL ou LISTMOTS 20 : ************************************************** 21 : 22 : LIS2 = ORDO LIS1 |('CROI')| ('ABSO') ('NOCA') ('UNIQ' (FLOT1)) ; 23 : |('DECR')| 24 : 25 : 26 : 27 : Tri d'un ou plusieurs objets LISTENTI, LISTREEL, LISTMOTS 28 : et/ou LISTOBJE 29 : ********************************************************* 30 : 31 : a) Tri CROIssant ou DECRoissant 32 : ---------------------------- 33 : 34 : RES1 (.. RESN) = ORDO LIS1 (.. LISN) |('CROI')| ('ABSO') ('NOCA') ; 35 : |('DECR')| 36 : 37 : TAB2 = ORDO TAB1 OBJ1 |('CROI')| ('ABSO') ('NOCA') ; 38 : |('DECR')| 39 : 40 : 41 : b) Tri minimisant un COUT 42 : ---------------------- 43 : 44 : RES0 RES1 (.. RESN) = ORDO LIS1 (.. LISN) 'COUT' LISCOU |('HONG')| ; 45 : | 'COMP' | 46 : 47 : 48 : Tri d'un objet EVOLUTION 49 : ************************ 50 : 51 : EVOL2 = ORDO EVOL1 |('CROI')| ('ABSO') ; 52 : |('DECR')| 53 : 54 : 55 : Tri d'un objet MAILLAGE 56 : *********************** 57 : 58 : MAIL2 = ORDO MAIL1 ; 59 : 60 : 61 : 62 : Commentaires : 63 : ______________ 64 : 65 : 66 : 1) Les actions sont differentes selon le type de l'objet a traiter : 67 : 68 : - LISTENTI ou LISTREEL : on ordonne les nombres 69 : - LISTMOTS : on range les mots par ordre alphabetique 70 : - EVOLUTION : on ordonne les abscisses de chaque courbe 71 : - MAILLAGE : 72 : o POI1 : on ordonne les points par distance croissante au 73 : premier d'entre eux 74 : o SEG2, SEG3 : on ordonne les elements de maniere a decrire 75 : une ligne continue d'une extremite a l'autre 76 : (dans le cas d'une ligne fermee, celle-ci 77 : est ordonnee a partir du premier point du 78 : premier element, et le sens de parcours 79 : est celui du premier element) 80 : o autres : on ordonne par voisinnage des elements 81 : 82 : 83 : 2) Dans le cas d'un objet LIS1 (type LISTENTI, LISTREEL ou LISTMOTS) 84 : il est possible de fournir d'autres listes LIS2, LIS3, ...LISN 85 : (de types quelconques parmi LISTENTI, LISTREEL, LISTMOTS et 86 : LISTOBJE) qui subiront les memes permutations que LIS1. 87 : Toutes les listes doivent avoir la meme longueur. 88 : 89 : 90 : 3) Il est possible de regrouper les listes (type LISTENTI, LISTREEL 91 : LISTMOTS ou LISTOBJE) dans un objet TAB1 de type TABLE. Le tri 92 : s'effectue alors sur celle d'indice OBJ1 (type LISTENTI, LISTREEL 93 : ou LISTMOTS), et les autres listes subissent ensuite les memes 94 : permutations. 95 : 96 : 97 : 4) Description des mots-cles disponibles : 98 : 99 : >>> 'CROI' & 'DECR' 100 : s'applique a : LISTENTI, LISTREEL, LISTMOTS et EVOLUTION 101 : \__________________________/ 102 : ou TABLE 103 : 104 : Il est possible de trier le contenu par ordre croissant 105 : (mot-cle 'CROI') ou decroissant (mot-cle 'DECR'). 106 : 107 : 108 : >>> 'ABSO' 109 : s'applique a : LISTENTI, LISTREEL et EVOLUTION 110 : \________________/ 111 : ou TABLE 112 : 113 : Le mot-cle 'ABSO' signifie que l'on ne tient compte que de 114 : la valeur absolue des nombres pour faire la mise en ordre. 115 : 116 : 117 : >>> 'NOCA' 118 : s'applique a : LISTMOTS (ou TABLE) 119 : 120 : Le mot-cle 'NOCA' indique que le tri est insensible a 121 : la casse des caracteres. En son absence, les majuscules 122 : precedent les minuscules dans l'ordre de tri. 123 : 124 : 125 : >>> 'UNIQ' 126 : s'applique a : LISTENTI, LISTREEL, LISTMOTS 127 : \__________________________/ 128 : ou TABLE d'une seule liste 129 : 130 : (INVALIDE quand plusieurs listes sont triees simultenement) 131 : 132 : Le mot-cle 'UNIQ' permet de supprimer les eventuels doublons 133 : une fois le tri effectue. Si le mot 'NOCA' est present, deux 134 : mots seront consideres identiques meme si leur casse est 135 : differente, et seul l'un des deux sera conserve. Si un 136 : nombre FLOT1 (type FLOTTANT) est donne, deux reels seront 137 : consideres egaux si que leur difference (en valeur absolue) 138 : est inferieure a ce nombre. 139 : 140 : 141 : >>> 'COUT' 142 : s'applique a : LISTENTI, LISTREEL, LISTMOTS 143 : \__________________________/ 144 : ou TABLE 145 : 146 : Le mot-cle 'COUT' doit obligatoirement etre suivi d'un objet 147 : LISCOU de valeurs C_i_j traduisant le cout de l'association 148 : (i;j). Cet objet de type LISTENTI ou LISTREEL est donc de 149 : dimension n**2 avec n la dimension des autres listes de 150 : valeurs LIS1 (.. LISN). 151 : 152 : ORDO calculera alors la permutation j=perm(i) minimisant 153 : le cout total, soit la somme pour i=1..n des C_i_perm(i) 154 : (retournee dans RES0). Les listes RES1 (.. RESN) sont les 155 : images des LIS1 (.. LISN) soumises a cette permutation-ci. 156 : 157 : L'option 'COMP' (pour COMPLET) calcule les (n!) permutations 158 : possibles, ce qui peut etre tres long. L'option 'HONG' 159 : utilise la methode "Hongroise", beaucoup plus rapide. 160 : 161 : 162 :
© Cast3M 2003 - Tous droits réservés.
Mentions légales