Académique Documents
Professionnel Documents
Culture Documents
TECHNOLOGIQUES DE SFAX
EXAMEN
Département : Technologies de l’Informatique Date : Juin 2021
Section : LMD1 – Semestre2 Documents : Non autorisés
Enoncé
Le port de Radès ( )ميناء رادسcontient 10 quais ( )أرصفةde dépôt de marchandises, numérotés de 1
à 10 et classés en trois catégories :
- 1..3 : ne peuvent décharger que les navires de charge moins de 15000 tonnes.
- 4..8 : peuvent décharger les navires de charge comprise entre 15000 et 50000 tonnes.
- 9 et 10 : peuvent décharger les navires de plus de 50000 tonnes.
Dans le but d’optimiser le temps d’attente et de décharge des navires, le responsable du port met
à votre disposition les informations suivantes :
A chaque quai on affecte une file d’attente de navires initialement vide, le nombre de navires de
la file (NbreNav) et le temps pour lequel le quai sera occupé pour la décharge des navires de sa
file (TempsOcc). Ce temps, calculé en minutes, est initialement égal à zéro pour une file d’attente
vide et il sera incrémenté/décrémenté à chaque entrée/sortie d’un navire de cette file pour ce
quai ; sachant qu’une tonne de marchandise nécessite en moyenne 3 minutes pour être
déchargée et qu’un navire est caractérisé par son nom (NomN), le poids de sa charge (PoidsN)et
le poids restant à décharger (PoidsRest : initialement égal au poids de sa charge et décrémenté à
chaque opération de décharge).
A l’arrivée d’un navire au port, on consulte le poids de sa charge et on l’affecte au quai, le moins
occupé (ayant un temps d’occupation minimal), de la catégorie adéquate ()المناسبة.
Le responsable vous propose l’algorithme principal « GérerPort », ci-après présenté, en spécifiant
les structures de données utilisées, sachant qu’il maintient un tableau TQ regroupant les
informations des 10 quais du port (Les numéros des quais sont représentés par les indices du
tableau).
Algorithme GérerPort
Type Navire = Structure
NomN : Chaîne //Nom du navire
PoidsN : Réel //Poids de la charge portée
PoidsRest : Réel //Poids restant à décharger
Svt : Navire //Pointeur sur le navire suivant de la file
Fin Structure
Quai = Structure
NbreNav : Entier //Nombre de navires dans la file d’attente du quai
TempsOcc : Réel //Temps, en minutes, pendant lequel le quai est occupé
Tête, Queue : Navire //Pointeurs désignant la File d’attente des navires
Fin Structure
1/3
TabQ = Tableau[1..10] de Quai
Var TQ : TabQ
i : Entier
Cet algorithme permet de :
Début
initialiserTab (TQ) - Initialiser le tableau TQ.
Pour i de 1 à 5 Faire - Prendre en charge l’arrivée de 5 navires,
Ecrire("Prise en charge du navire N°", i) en les affectant aux quais adéquats.
ajouterNavire (TQ) - Actualiser les quais du port après
Fin Faire écoulement de 30mn (càd décharge de
Pour i de 1 à 10 Faire 10 tonnes de chaque navire en cours de
Si (Non(FileVide(TQ[i].Tete))) Alors déchargement). On suppose que tous les
actualiserQuai (i, 10, TQ) navires en cours de déchargement
Fin Si nécessitent plus que ce temps.
Fin Faire
Fin
3/3