Académique Documents
Professionnel Documents
Culture Documents
NB : On rappelle qu’un arbre binaire de recherche est un arbre dont le parcours infixé (GRD)
donne une liste des nœuds rangés dans l’ordre croissant sur un champ clé bien déterminé. Par
exemple, dans cet arbre, la clé du nœud « N12 » est inférieure à celle du « N10 » et « N5 » est
supérieure à « N2 ».
2. Donner le parcours adéquat (nom et résultat du parcours) de cet ABR qui donne une
liste des nœuds rangés dans l’ordre décroissant. [1,5 pt]
4. La hauteur d’un nœud dans un arbre est la longueur du plus long chemin que l’on puisse
mener entre ce nœud et une feuille de l’arbre. Sur la figure 1, le nœud N14 a une
hauteur zéro et le nœud N6 a une hauteur de 3.
Ecrire une fonction Hauteur qui renvoie la hauteur d’un arbre binaire A. [4 pts]
NB : Utiliser les primitives sur les arbres binaires vues en cours que vous jugeriez
appropriées (sans les définir).
Tâche=ENREG
pr, ta, np : entier
FENREG
Pour tester ce système, on considérera 3 niveaux de priorité (1, 2 et 3). A ces trois niveaux
de priorité sont associées les Files F1, F2, F3. La priorité 1 est la plus élevée.
Pour la suite nous supposons définies toutes les autres opérations nécessaires pour la
manipulation des piles et des files à savoir :
- InitialiserFile, - InitialiserPile,
- enfiler, - empiler,
- defiler, - depiler,
- fileVide, - pileVide,
- SommetFile, - SommetPile.
1) Ecrire la procédure qui lit une Tâche avec une priorité valide (entre 1 et 3). [1,5 pt]
PROCEDURE lireTâche (VAR T : Tâche)
2) Ecrire la fonction précède qui étant données deus Tâches T1 et T2 renvoie Vrai si T1
possède un temps d’arrivée inférieur à T2 et FAUX sinon. [1,5 pt]
Fonction précède (T1, T2 : Tâche) : Booléen
3) Ecrire la procédure Scheduling qui étant donnée un nombre N permet de lire N Tâches
tout en vérifiant l’ordre de leurs arrivées. La première tâche et acceptée et empilée dans
PTâches quel que soit son temps d’arrivée « ta ». Pour les Tâches suivantes, Une Tâche
n’est acceptée que si son heure d’arrivée succède l’heure d’arrivée de la Tâche au
sommet de la Pile. De ce fait chaque tâche nouvellement empilée possède un temps
d’arrivée supérieur à toutes les tâches qui se trouvent déjà dans la pile. [3 pts]
Exemple :
Soit N=5. Et soit l’état suivant de la pile après la lecture de toutes les informations des 5
processus.
1 4040 6
2 3980 5
3 3829 4
2 3780 3
1 3250 2
2 3120 1
ISETSO Juin 2019, Examen d’Algorithmique II Page 3 sur 4
pr ta np
4) Ecrire la procédure ordonnancement qui permet d’ordonnancer les processus selon leurs
priorités. Le traitement consiste à extraire les processus un par un de la pile pTâche et de
les insérer dans l’une des File F1, F2, F3 selon leurs priorités. F1 est la file correspondant à
la priorité la plus élevée (=1). [2,5 pts]
Exemple :
Soit la Pile de l’exemple précédent. Les Files qui résultent de l’exécution de la procédure
ordonnancement sont
les suivantes :
Queue Tête
1 4040 6 F1 1 3250 2 1 4040 6
2 3980 5
3 3829 4 F2 2 3120 1 2 3780 3 2 3980 5
2 3780 3
1 3250 2 F3 3 3829 4
2 3120 1 pr ta np
pr ta np
a) Ecrire la procédure exécuterPr qui exécute les processus ayant la même priorité càd
appartenant à la même File. [2 pts]
PROCEDURE exécuterPr (F : File)