Rechercher : dans
Par :

Sempahore

Dernière réponse le 31 déc 2008 à 01:27:54 lafa73, le 15 oct 2008 à 18:20:42 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « sempahore » dans :

1

Yuku, le 15 oct 2008 à 18:25:03

Si j'ai bien compris il faut créer 4 fonctions et les assigner à la fonction principale ?

Répondre à Yuku

2

Yuku, le 15 oct 2008 à 18:37:33

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

Répondre à Yuku

3

fiddy, le 15 oct 2008 à 18:38:33

Oui, sauf qu'il veut avec des sémaphores ^^.
Google is your friend

Répondre à fiddy

4

fiddy, le 15 oct 2008 à 18:40:01
  • +1

Salut,
Les sémaphores doivent être binaires ou pas forcément dans ton exercice ?
Cdt
Google is your friend

Répondre à fiddy

5

Yuku, le 15 oct 2008 à 18:43:18
  • +1

Ah oui avec un truc genre

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



?

Répondre à Yuku

6

fiddy, le 15 oct 2008 à 18:47:35

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.
Google is your friend

Répondre à fiddy

7

lafa73, le 15 oct 2008 à 19:36:27

Non pas necessairement des semaphore binaire , juste les p() et v() je vous remercie

Répondre à lafa73

8

lafa73, le 27 oct 2008 à 09:27:51

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

Répondre à lafa73

9

kaso, le 31 déc 2008 à 00:57:30

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.

Répondre à kaso

10

 spoophy, le 31 déc 2008 à 01:27:54

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

Répondre à spoophy