Télécharger ordo.notice

Retour à la liste thématique

Afficher cette notice en

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

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