Caractéristiques : Détermine
à partir de la matrice booléenne des antécédants
les tâches
immédiatement antérieure et les tâches pour les différents
niveaux.
Il n'y a plus qu'à tracer le graph d'ordonnancement.
Remarques :
- Il manque parfois des " ou des ) mais c'est pour gagner de la place.
Exemple :
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rq :La calculatrice nomme les tâches par des numéros. A vous de faire la correspondance suivant l'énoncé :
Ici, la tâche 1=A, 2=B, 3=C, 4=D, 5=E, 6=F, 7=G, 8 =H, 9=I, 10=J, 11=K, 12=L
Saisie dans la Matrice A (MATRX A) de la matrice booléenne correspondant
(Taille de la matrice 12 x 12).
(Il y a autant de ligne et colonne que de tâches. Ici 12 tâches
donc 12 lignes et 12 colonnes)
Rappel : Les précédents correspondent aux colonnes (les
précédents de la tâche 5 (ou E) sont
toutes les tâches pour lesquelles il y a un 1 dans la colonne
5 de la matrice booléenne).
MATRX A (12 x 12) :
0 1 1 1 1 0 0 0 0 0 0 0
0 0 1 1 1 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 1 1 0 1 0 0
0 0 0 0 0 0 0 1 1 1 0 0
0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
Immediatement antérieure
1 =
(Tâche immédiatement antérieure à 1 (A) c'est
Rien)
2 = 1
(Tâche immédiatement antérieure à 2 (B) c'est
la tâche 1 (A))
3 = 2
(Tâche immédiatement antérieure à 3 (C) c'est
la tâche 2 (B))
4 = 2
(Tâche immédiatement antérieure à 4 (D) c'est
la tâche 2 (B))
5 = 2
(Tâche immédiatement antérieure à 5 (E) c'est
la tâche 2 (B))
6 = 3 4
(Tâche immédiatement antérieure à 6 (F) c'est
la tâche 3 et 4 (C et D))
7 = 6
(Tâche immédiatement antérieure à 7 (G) c'est
la tâche 6 (F))
8 = 5 7
(Tâche immédiatement antérieure à 8 (H) c'est
la tâche 5 et 7 (E et G))
9 = 8
(Tâche immédiatement antérieure à 9 (I) c'est
la tâche 8 (H))
10 = 7
(Tâche immédiatement antérieure à 10 (J)
c'est la tâche 7 (G)
11 = 9 10
(Tâche immédiatement antérieure à 11 (K)
c'est la tâche 9 et 10 (I et J))
12 = 9 10
(Tâche immédiatement antérieure à 12 (L)
c'est la tâche 9 et 10 (I et J))
Niveau = Tâches
0 = 1
(Tâche au niveau 0 = 1 (A))
1 = 2
(Tâche au niveau 0 = 2 (B))
2 = 3 4 5
(Tâche au niveau 0 = 3, 4 et 5 (C,D et E))
3 = 6
(Tâche au niveau 0 = 6 (F))
4 = 7
(Tâche au niveau 0 = 7 (G))
5 = 8 10
(Tâche au niveau 0 = 8 et 10 (H et J))
6 = 9
(Tâche au niveau 0 = 9 (I))
7 = 11 12
(Tâche au niveau 0 = 11 et 12 (K et L))
En Résumé on à :
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Listing :
: ClrHome
: prgmZCLEAR
: dim([A])®L1:L1(1)®L
: dim([A])®L1:L1(2)®C
: {L,C}®dim([B]
: [A]®[B]
: For (X,1,L
: For (Y,1,C
: If [A](X,Y)¹0
: Then
: For(Z,1,L
: If Z¹Y and X¹Y
: Then
: If [A](X,Y]=1 and [A](X,Z)=1 and [A](Y,Z)=1
: Then
: If [B](X,Z)=1
: Then
: 0®[B](X,Z)
: End
: End
: End
: End
: End
: End
: End
: FnOff
: .1®Xmin
: 99®Xscl
: .1®Ymin
: 99® Yscl
: ClrDraw
: Text(1,1,"IMMEDIATEMENT ANTERIEURE
:13®H
: 3®I
: For (P,1,C
: If P=7 or P=14 or P=21 or P=28
: Then
: Pause
: ClrDraw
: Text(1,1,"IMMEDIATEMENT ANTERIEURE
: 13®H
: 3®I
: End
: I+7®I
: 13®H
: Text(I,1,P
: Text(I,10,"=
: For(R,1,L
: If [B](R,P)=1
: Then
: H+9®H
: Text(I,H,R
: End
: End
: End
: Pause
: -1®H
: 1®J
: 3®I
: ClrDraw
: Lbl 7
: For(W,1,C
: 0®N
: If [A](1,W)¹9:1®N
: End
: If N=0:Goto 9
: 1+H®H
: I+7®I
: 11®J
: If H=0 or fPart(H/7)=0
: Then
: 10®I
: 11®J
: If H¹0:Pause
: ClrDraw
: Text(1,5,"NIVEAU = TACHES
: End
: Text(I,1,H
: Text(I,8,"=
: For(W,1,C
: 0®N
: For(Z,1,L
: If [B](Z,W)=1:1+N®N
: End
: If N=0 and [A](1,W)¹9
: Then
: J+11®J
: Text(I,J,W
: 9®[A](1,W)
: End
: End
: For(R,1,C
: If [A](1,R)=9
: Then
: For (P,1,C
: 0®[B](R,P)
: End
: End
: End
: Goto 7
: Lbl 9
: Text(57,75,"FINI