Télécharger ordo.notice

Retour à la liste thématique

Afficher cette notice en

Numérotation des lignes :
   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