Vous êtes sur la page 1sur 3

Terminale , Spécialité Numérique et Sciences Informatiques

Une application des les


Activité de programmation

I. Structure de le
I. 1. Présentation

En informatique, une le (queue en anglais ) est une structure de données basée sur le principe
Premier entré,premier sorti, en anglais FIFO (First In, First Out), ce qui veut dire que les premiers
éléments ajoutés à la le seront les premiers à être récupérés.
Dans cette structure, on n'a donc accès qu'aux "extrémités" de la le, l'une où l'on "enle" les
éléments ( que l'on appelle souvent la "queue" ), l'autre où on les "déle" ( la "tête" ).
Le fonctionnement ressemble à une le d'attente : les premières personnes à arriver sont les
premières personnes à sortir de la le.

Important
Une le est utile dans tous les cas où des informations doivent être traitées par ordre de priorité,
l'information placée en début de le étant la plus prioritaire.

I. 2. Primitives sur les listes

Primitive (Constructeur)

# File vide
Queue()
"""
Instancie une file vide
"""

Primitive (Opérateurs)

# enfiler # défiler
enqueue(X) dequeue()
""" """
Enfile un élément en queue de file Défile ( si la file n'est pas vide ! )
""" un élément en tête de file et le renvoie
"""

2.3b - Une application des les Page 1/3


J.Devalette - NSI, LFT
Terminale , Spécialité Numérique et Sciences Informatiques

Primitive (Sélécteur)

# accès àla tête de la liste


get_head()
"""
Renvoie l'élément en tête de file, mais sans le défiler !
"""

Primitive (Prédicat)

# est_vide
is_empty()
"""
Renvoie True si la file est vide, False sinon
"""

II. Exercice et activité


Exercice (Une file avec deux piles).
On utilise donc deux piles : la première dont le sommet cor-
respondra à la queue de la le ( appelons-la pile_queue ), le
sommet de la deuxième à sa tête ( pile_tete ).
 Enler un élément : on place simplement l'élément au
sommet de pile_queue
 Déler la tête : deux cas peuvent se présenter.
 si pile_tete est vide : on va se servir du fait que,
si on inverse une pile, son élément le plus en bas se
retrouve au sommet. La tête de liste étant "tout en
bas" de pile_queue, on va donc dépiler cette der-
nière entièrement dans pile_tete ; on dépile alors
simplement le sommet de pile_tete.
 si pile_tete n'est pas vide : on dépile simplement
son sommet.
Sur le schéma ci-dessous, donnez la trace des opérations suivantes en dessinant, après les étapes 1,2, 3,
4, 5 et 6 le contenu des deux piles.
1. On crée une le vide.
2. On enle les éléments a,b et c.
3. On déle un élément.
4. On enle les éléments d et e.
5. On déle deux éléments.
6. On déle un élément.

2.3b - Une application des les Page 2/3


J.Devalette - NSI, LFT
Terminale , Spécialité Numérique et Sciences Informatiques

Activité (File d’attente).


Dans un supermarché, il y a 5 caisses et une le d'attente commune.
Dès qu'une caisse est libre, le client en tête de le y est envoyé. Le temps de passage d'un client en
caisse est aléatoirement compris entre 3 et 10 minutes.
Un nouveau client entre dans la queue de la le toutes les 1 min.
1. Réaliser une simulation de leurs passages en caisses et acher en combien de minutes 10 clients sont
passés.
2. Refaire quelques essais avec un temps d'attente aux caisses plus élevé.
Indications :
 La simulation sera une boucle, dont chaque "tour" correspondra à une durée simulée de 1 min.
 Pour modéliser la le d'attente, vous utiliserez....une le ( version quelconque ), chaque élément
de la le correspondant à un client ( repéré par exemple par un numéro ).
 Pour les caisses, vous utiliserez une liste : chaque élément de cette liste représente le temps d'attente
à la caisse ( premier élément temps caisse 1, puis temps caisse 2, etc... ces temps variant au cours
de la simulation dans les limites indiquées ci-dessus.).
Prolongements possibles :
 Acher la liste des clients passés aux caisses, avec leurs numéros dans l'ordre de leur sortie.

2.3b - Une application des les Page 3/3


J.Devalette - NSI, LFT

Vous aimerez peut-être aussi