Académique Documents
Professionnel Documents
Culture Documents
Var
type Statut =(repos,demandeNS,demandeSN, entrerNS,entrerSN,sortirNS,sortirSN);
var nbtrains : entier;
Statut etat[nbtrains];
Accès_Nord[nbtains] ; Accès_Sud[nbtrains] : condition ;
etat[i]=demande;
p = true
j=0
tant que ( p == true) && ( j != nbtrains) faire
si (j!=i) alors
si (etat[j] == entrerSN) alors
accés_Nord[i].wait;
p = false;
finsi
finsi
j = j+1
fin tantque
si (p = true) alors
etat[i] = entrerNS;
finsi;
fin
si (p = true) alors
etat[i] = entrer;
finsi;
fin
Début
Pour i de 0 à nbtrains faire
etat[i]=repos;
finpour
ecrire("donner le nombre des trains");
lire(nbtrains);
Fin