Vous êtes sur la page 1sur 5

Université de Manouba

Ecole Supérieure d’Economie Numérique ESEN

Algorithmique et structures de
données II
(Cours 2)

L’enregistrement

Réalisé par: Dhouha Maatar 1

Les enregistrements
I- Définition :
Un enregistrement est un type de données défini par l'utilisateur et qui permet
de grouper un nombre fini d'éléments de types éventuellement différents.

 Un enregistrement, appelé aussi structure, est une variable complexe qui


permet de désigner sous un seul nom un ensemble de valeurs pouvant être de
types différents (simples ou complexes).

Chaque élément de l’enregistrement est nommé champ.


L’accès à un champ se fait par son nom dans l’enregistrement.
2

1
Les enregistrements
II-Déclaration :
Puisque l'enregistrement est un nouveau type, on commence par sa déclaration.
Lors de la déclaration de l’enregistrement, on définit un modèle où on indique les champs
de l’enregistrement, c'est-à-dire le type et le nom des variables qui la composent :

Puis la déclaration des objets (variables) utilisant ce type:

Exemple:
VAR
3
e1, e2: Etudiant

Les enregistrements
III- Utilisation :
Utilisation pour une action d'affectation
L'affectation de valeurs aux différents champs d'une variable de type enregistrement se fait par une
opération de type :
variable.champ ← valeur
Exemple :
1)Déclaration de Type: 3)Affectation de valeurs à cette variable :
Fiche = enregistrement élève.nom ← "Swidi"
nom, prénom : Chaîne élève.prénom ← "Basma"
sexe : Caractère élève.sexe ← ‘F’
numéro : Entier élève.numéro ← 18
moyenne : Réel élève.moyenne ← 13.25
num_cin : Entier élève.num_cin ← 12345678
Fin Fiche
2)Déclaration de variable:
VARIABLE
eleve : Fiche

2
Les enregistrements
III- Utilisation :
Utilisation pour une action de lecture Utilisation pour une action d'écriture
Lire (variable.champ) Ecrire (variable.champ)
Exemple : Exemple :
Ecrire ("Entrer le nom de l'élève : ") Ecrire ("Nom : ", élève.nom)
Lire (élève.nom)
Enregistrement comportant des tableaux
Comme on a vu précédemment, un enregistrement peut contenir des champs de type chaîne de
caractères ou bien de type tableau.

Notation : 5
e2.notes[4] : désigne la quatrième note du tableau notes de l’étudiant e2.

Les enregistrements
IV- Passage d'un enregistrement en paramètre d'un sous-programme :
Il est possible de passer tout un enregistrement en paramètre d'une fonction ou d'une procédure (on
n'est pas obligé de passer tous les champs uns à uns, ce qui permet de diminuer le nombre de
paramètres à passer), exactement comme pour les tableaux.
Exemple :
Type
tpersonne = enregistrement
nom : chaîne
prénom : chaîne
âge : entier
Fin tpersonne
Variable
pers1, pers2 : tpersonne
Voilà une fonction qui renvoie la différence d‘âge entre deux personnes:
Fonction différence (pers1, pers2 : tpersonne): entier
Début
Si (pers1.age > pers2.age)
Alors Retourne ( pers1.age – pers2.age )
Sinon Retourne ( pers2.age – pers1.age )
FinSi 6
FinFonct

3
Les enregistrements
V- L'imbrication d'enregistrements :
Supposons que dans le type personne, nous ne voulions plus l'âge de la personne, mais sa date de
naissance. Une date est composée de trois variables (jour, mois, année) indissociables. Une date
correspond donc à une entité du monde réel qu'on doit représenter par un type enregistrement à 3
champs. Si on déclare le type date au préalable, on peut l'utiliser dans la déclaration du type
personne pour le type de la date de naissance.
Un type structuré peut être utilisé comme type pour des champs d'un autre type structuré
Exemple :
TYPE
Date = enregistrement
jour: entier Pour accéder à l'année de naissance d'une
mois: chaîne personne, il faut utiliser deux fois l'opérateur '.'
année: entier
pers1.ddn.année
FinDate
Personne = enregistrement
Il faut lire une telle variable de droite à gauche :
nom: chaîne l'année de la date de naissance de la personne 1.
ddn: Date
Fin Personne
Variable
pers 1: Personne 7

Les enregistrements
VI- Tableau d’enregistrement
Un tableau ne peut grouper ou contenir que des éléments de même type, et puisque les éléments d'un
enregistrement sont de même type qui est celui de l'enregistrement, donc on peut utiliser un tableau
ou un vecteur d'enregistrements.
Exemple 1 :
Déclaration de la variable T utilisant les enregistrements des fiches :
Type
Fiches = Enregistrement
nom, prénom : Chaîne
sexe : Caractère
numéro : Entier
moyenne : Réel
num_cin : Entier
Fin Fiches

Tab = Tableau [1.. 30] de Fiches {tableau d'enregistrements fiches}


Variable
T : tab
8

4
Les enregistrements
VI- Tableau d’enregistrement
Exemple 2 : Soit la déclaration suivante :

On peut écrire les instructions suivantes :

Vous aimerez peut-être aussi