Sempahore

lafa73 -  
spoophy Messages postés 355 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
lorsque une fille entre dans la douche , une autre fille peut y rentrer mais pas un garcon et la meme chose pour les garcons, une glissiere indique vide, occupe par les fille, occuper par les garcons
ecrire un algorithme avec des sempahores faire des code des fonctions suivants fille-veut-entrer, garcon-veut-entrer, fille-sort, garcon-sort ensuite en utilisant ces 4 fonctions faire le code filles et garcons

voici ma reponse que j ai faite

fille-veut-entrer ()
p(mutex)
p(fille)
repeter
entrer-fille()
finrepeter
V(mutex)
v(fille)
Configuration: Windows XP
Internet Explorer 6.0

9 réponses

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Salut,
    Les sémaphores doivent être binaires ou pas forcément dans ton exercice ?
    Cdt
    1
  2. Yuku Messages postés 215 Statut Membre 4
     
    Ah oui avec un truc genre

    Bool Semaphore
    Si Semaphore := 0
    Semaphore_Allume;
    Sinon Si Semaphore := 1
    Semaphore_Eteint;
    Fin Si
    Fin Si


    ?
    1
  3. lafa73 Messages postés 39 Statut Membre 1
     
    rebonjour tout lemonde
    voici une proposition y as t il quelqu un qui pourrait m aider

    entrer_fille()
    debut
    p(entrer_fille)
    compt = compt +1
    si compt = 1 alors
    p(glissiere)
    glissiere = "occupe"
    fsi
    v(glissiere)
    v(entrer_fille)
    fin
    j attend vos remarque a plus
    0
  4. kaso
     
    Bonjour,

    J'ai exactement le même exercice et je bloque complètement. Est ce que tu as réussi à avoir une solution depuis? Si oui, je serai intéressée.

    Merci d'avance.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. spoophy Messages postés 355 Date d'inscription   Statut Membre Dernière intervention   41
     
    et bien de nos jours on donne des exo sur les semaphores de plus en plus interessant si sa revené a moi je le ferer faux exprès
    0
  7. Yuku Messages postés 215 Statut Membre 4
     
    Si j'ai bien compris il faut créer 4 fonctions et les assigner à la fonction principale ?
    -1
  8. Yuku Messages postés 215 Statut Membre 4
     
    Perso je ferais ça ...

    Algorithme Douche(personne, personne2)

    Début

    Tant que personne != 'F' OU personne != 'G' faire

    Ecrire("Qui est dans la douche? (F : fille, G : garçon)");
    Lire(Personne);

    Fin Tant que

    Tant que personne2 != 'F' OU personne2 != 'G' faire

    Ecrire("Qui d'autre veut rentrer? (F : fille, G : garçon)");
    Lire(Personne2);

    Fin Tant que

    Si (personne := 'F') alors
    Ecrire("Occupé par les filles");
    Si (personne2 := 'F') alors
    Ecrire("L'autre fille peut rentrer");
    Fin Si

    Sinon Si (personne2 := 'G') alors
    Ecrire("Le garçon ne peut pas rentrer");
    Fin Si
    Fin Si

    Si (personne := 'G') alors
    Ecrire("Occupé par les garçons");
    Si (personne2 := 'G') alors
    Ecrire("L'autre garçon peut rentrer");
    Fin Si

    Sinon Si (personne2 := 'F') alors
    Ecrire("La fille ne peut pas rentrer");
    Fin Si
    Fin Si

    Fin Douche
    -1
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Oui, sauf qu'il veut avec des sémaphores ^^.
      -1
  9. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    C'est déjà mieux.
    En fait c'est juste avec des P() et des V() comme dans son exemple.
    Mais, je me demande s'il doit utiliser des sémaphores binaires ou pas forcément.
    -1
  10. lafa73 Messages postés 39 Statut Membre 1
     
    non pas necessairement des semaphore binaire , juste les p() et v() je vous remercie
    -1