mardi 31 juillet 2007

LES ENSEMBLES

ENSEMBLES
Un ensemble est une "collection" d'éléments de même type (cf cours maths 6ème). Supposons vouloir représenter des vendeurs et leurs domaines d'action.
Le type ensemble est défini par SET OF : TYPE produits=(velos,motos,autos,accessoires);
VAR vendeur1,vendeur2 : SET OF produits;
On "remplit" un ensemble en donnant ses éléments entre crochets : vendeur1:=[velos,motos];
vendeur2:=[motos,accessoires];
l'ensemble vide est : []
On peut faire les opérations suivantes :
UNION : vendeur1+vendeur2=[velos,motos,accessoires]INTERSECTION : vendeur1*vendeur2=[motos]COMPLEMENT : vendeur1-vendeur2=[velos] vendeur2-vendeur1=[accessoires]
les tests booléens possibles sont : = , <> , <= (inclus) , >= (contenant).
On teste l'appartenance d'un élément par IN : si X vaut motos, alors X IN VENDEUR1 et [motos]<=VENDEUR1 sont équivalents (IN compare un élément et un ensemble, alors que <= compare deux ensembles.
Rq: En général, on ne pense pas à utiliser les ensembles (le prof de maths aurait-il oublié de nous dire à quoi ça sert ?), et l'on s'embrouille dans des programmes complexes. Voici par exemple, des idées pour programmer facilement un automatisme défini par plusieurs Grafcet complexes ([xx] se lisant "ensemble des xx") :[étapes actives]:=[étapes initiales]
pour chaque transition :
si [étapes immédiatement précédentes] <= [étapes actives]
et [capteurs nécessaires] <= [capteurs]
alors [ét. actives]:=[ét. actives]-[précédentes]+[suivantes]
activer [sorties] en fonction [étapes actives] et boucler
On peut trouver un exemple détaillé dans mon document sur la mise en oeuvre du Grafcet

Aucun commentaire: