Maitre Obiwan a écrit :
Voila j'ai un petit prob! Je dois rendre ce projet dans moins d'une semaine! Y aurait-il une ame charitable pour m'aider!!! Je sais c'est un peu abusé mais ça urge!!!! AIDEZ MOI!!! Au moins un ou deux scripts!! Le package SET contient un ensemble de scripts chargés de la mise en ?uvre des opérations ensemblistes de base : ? Cardinal d?un ensemble
? Union de deux ensembles
? Intersection de deux ensembles
? Complémentaire d?un ensemble par rapport à un ensemble incluant
? Contrôle de la présence d?un élément dans un ensemble cible
? ?
Les ensembles cibles seront exclusivement constitués de nombres entiers positifs, nuls ou négatifs. Chaque ensemble sera fourni aux scripts sous forme d?une suite contiguë de paramètres effectifs. Par convention, la description en extension d?un ensemble quelconque utilisé dans le cadre de ce module respecte la syntaxe générique et formelle décrite ci-dessous : { elem_1, elem_2, elem_3, ? , elem_N }
avec les règles individualisées ou complémentaires suivantes :
R1 L?accolade ouvrante est le premier caractère de la description
R2 L?accolade fermante est le dernier caractère de la description
R3 La description de l?ensemble vide est la séquence suivante (deux caractères) : {} ou { }
R4 Chaque valeur elem_I ne peut être qu?un nombre entier, signé ou pas R5 Si le signe ? (moins) est présent, il doit être obligatoirement en tête, avec une occurrence unique
R6 Chaque valeur elem_I (pour i=2, N-1) est séparée de la précédente par une virgule obligatoire
R7 Chaque valeur elem_I (pour i=1, N) peut être précédée et/ou suivie d?un ou plusieurs espaces. R8 Aucun espace n?est significatif.
R9 Un ensemble ne doit pas contenir deux éléments distincts de même valeur numérique
R10 Le nombre d?éléments d?un ensemble est limité à 128, pour des raisons d?efficacité
R11 L?ordre des éléments dans la description est sans importance (et donc sans aucune incidence)
Les descriptions suivantes, données à titre d?exemple, sont conformes à toutes les règles ci-avant et donc valides :
? { }
? {1, 3 , 5, 7, 9 }
? { -1, +3 , -5, 7, -9 }
? { +0 , 3}
? { 12 }
Représentation interne d?un ensemble
Tout ensemble source sera capturé sur la ligne d?appel par le script IsSet. Lors sa capture, la conformité de l?ensemble source sera contrôlée par le script. Dans le cas où la description est effectivement conforme, le script IsSet transcodera l?ensemble source en une liste simple normalisée (Cf spécifications techniques du package LIST). Une liste normalisée ne contient aucun espace intermédiaire. Son format général est le suivant :
[v1:v2:v3:?:vN]
Tous les scripts majeurs exploiteront cette forme interne pour toutes les opérations qu?ils ont à effectuer, avant de restituer le résultat final sous la forme externe définie par les règles ci-avant.
Spécification des scripts majeurs
1. IsSet : vérifie la conformité du début de sa ligne d'appel avec la description externe d'un ensemble et produit en sortie la description de l?ensemble source sous forme d?une liste normalisée. Chaque élément de la liste est un des éléments de l?ensemble source. Le script contrôle la conformité de chaque élément et son unicité
2. FromSet : transforme la description externe d'un ensemble en une suite de paramètres effectifs
3. ToSet : produit la description interne d'un ensemble à partir de la suite de ses paramètres effectifs. La conformité de cette suite par rapport à la description d'un ensemble est supposée déjà acquise
4. CardSet : calcule le cardinal d?un ensemble. Le script fournit en retour le nombre d?éléments de l?ensemble source
5. USet : réalise l?union (au sens ensembliste du terme) de deux ensembles source pour produire un nouvel ensemble résultant
6. VSet : réalise l?intersection (au sens ensembliste du terme) de deux ensembles source pour produire un nouvel ensemble résultant
7. CSet : construit le complément (au sens ensembliste du terme) d?un ensemble source par rapport à un ensemble englobant. Les deux ensembles sont fournis en paramètre. Le résultat est un nouvel ensemble
8. IsElem : détermine si une valeur entière fournie en premier paramètre appartient ou pas à un ensemble source, fourni en second paramètre. Le script retourne 1 si l?élément est présent dans l?ensemble source et 0 sinon
9. IdemSet : détermine si deux ensembles source, fournis en paramètres, sont identiques (au sens ensembliste du terme) ou pas. Le script retourne 1 si les deux ensembles source sont identiques et 0 sinon
Bon courage! M'insultez pas!
|