Télécharger ordo.notice

Retour à la liste

Afficher cette notice en

Numérotation des lignes :
   1 : $$$$ ORDO     NOTICE  JC220346  16/09/19    21:15:01     9094           
   2 :                                              DATE     16/09/19
   3 : 
   4 :     Operateur ORDONNER                       Voir aussi : UNIQ
   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 :           o autres : on ordonne par voisinnage des elements
  76 :           
  77 :           
  78 :     2) Dans le cas d'un objet LIS1 (type LISTENTI, LISTREEL ou LISTMOTS)
  79 :        il est possible de fournir d'autres listes LIS2, LIS3, ...LISN
  80 :        (de types quelconques parmi LISTENTI, LISTREEL et LISTMOTS) qui
  81 :        subiront les memes permutations que LIS1. Toutes les listes
  82 :        doivent avoir la meme longueur.
  83 :        
  84 :        
  85 :     3) Il est possible de regrouper les listes (type LISTENTI, LISTREEL
  86 :        ou LISTMOTS) dans un objet TAB1 de type TABLE. Le tri s'effectue
  87 :        alors sur celle d'indice OBJ1, et les autres listes subissent
  88 :        ensuite les memes permutations.
  89 :        
  90 :        
  91 :     4) Description des mots-cles disponibles :
  92 : 
  93 :        >>> 'CROI' & 'DECR'
  94 :             s'applique a : LISTENTI, LISTREEL, LISTMOTS et EVOLUTION
  95 :                            \__________________________/
  96 :                                      ou TABLE
  97 :        
  98 :             Il est possible de trier le contenu par ordre croissant
  99 :             (mot-cle 'CROI') ou decroissant (mot-cle 'DECR').
 100 : 
 101 :     
 102 :        >>> 'ABSO'
 103 :             s'applique a : LISTENTI, LISTREEL et EVOLUTION
 104 :                            \________________/
 105 :                                 ou TABLE
 106 :        
 107 :             Le mot-cle 'ABSO' signifie que l'on ne tient compte que de 
 108 :             la valeur absolue des nombres pour faire la mise en ordre.
 109 : 
 110 :     
 111 :        >>> 'NOCA'
 112 :             s'applique a : LISTMOTS (ou TABLE)
 113 :        
 114 :             Le mot-cle 'NOCA' indique que le tri est insensible a   
 115 :             la casse des caracteres. En son absence, les majuscules
 116 :             precedent les minuscules dans l'ordre de tri.
 117 : 
 118 :        
 119 :        >>> 'UNIQ'
 120 :             s'applique a : LISTENTI, LISTREEL, LISTMOTS
 121 :                            \__________________________/
 122 :                             ou TABLE d'une seule liste
 123 :        
 124 :             (INVALIDE quand plusieurs listes sont triees simultenement)
 125 :        
 126 :             Le mot-cle 'UNIQ' permet de supprimer les eventuels doublons 
 127 :             une fois le tri effectue. Si le mot 'NOCA' est present, deux 
 128 :             mots seront consideres identiques meme si leur casse est
 129 :             differente, et seul l'un des deux sera conserve. Si un
 130 :             nombre FLOT1 (type FLOTTANT) est donne, deux reels seront
 131 :             consideres egaux si que leur difference (en valeur absolue)
 132 :             est inferieure a ce nombre.
 133 : 
 134 :                           
 135 :        >>> 'COUT'
 136 :             s'applique a : LISTENTI, LISTREEL, LISTMOTS
 137 :                            \__________________________/
 138 :                                      ou TABLE
 139 :        
 140 :             Le mot-cle 'COUT' doit obligatoirement etre suivi d'un objet 
 141 :             LISCOU de valeurs C_i_j traduisant le cout de l'association 
 142 :             (i;j). Cet objet de type LISTENTI ou LISTREEL est donc de
 143 :             dimension n**2 avec n la dimension des autres listes de
 144 :             valeurs LIS1 (.. LISN).
 145 :             
 146 :             ORDO calculera alors la permutation j=perm(i) minimisant
 147 :             le cout total, soit la somme pour i=1..n des C_i_perm(i)
 148 :             (retournee dans RES0). Les listes RES1 (.. RESN) sont les
 149 :             images des LIS1 (.. LISN) soumises a cette permutation-ci.
 150 :             
 151 :             L'option 'COMP' (pour COMPLET) calcule les (n!) permutations
 152 :             possibles, ce qui peut etre tres long. L'option 'HONG'
 153 :             utilise la methode "Hongroise", beaucoup plus rapide.
 154 :        
 155 : 
 156 : 

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