Vous êtes sur la page 1sur 4

Chapitre 5 : Les enregistrements DUT : GI

Chapitre 5: Les enregistrements

1. Introduction :
Jusqu'à présent, pour manipuler les données nous avons utilisé seulement les
types de base (caractères, entiers, réels...) et les tableaux de types de base.
Un tableau permet de réunir au sein d'une même structure de données plusieurs
valeurs de même type, mais si nous voulons rassembler au sein d'une même structure de
données des valeurs n'ayant pas nécessairement le même type, par exemple: les
informations concernant un étudiant (N° inscription, Nom, Prénom, Date Naissance, Notes…).
Pour la manipulation des données, les langages de programmation offrent en
plus des types de base (entier, réel, booléen…) et des tableaux, d’autres structures de
données appelés enregistrements.

1.1.Définition :
Un enregistrement (Appelé aussi une structure de donnée) est un type de
données défini par le programmeur (il n’existe pas un type de base appelé
enregistrement, il fallait le définir) qui permet de grouper un nombre fini d'éléments
(Appelé aussi champs) de types éventuellement différents.
Les éléments sont les données élémentaires (de types de base) ou composées
(enregistrements) et peuvent être de différents types.

2. Définition (structure) d’un enregistrement :


Pour créer un enregistrement, il fallait définir un nouveau type basé sur d'autres
types existants.
La définition des enregistrements s’écrit dans une partie spéciale dans les
algorithmes appelée TYPE, cette partie précède la partie « déclaration des variables
et des constantes ».
TYPE
Enregistrement Nom_Type
Nom_Champ1: Type_Champ1
Nom_Champ2: Type_Champ2

Nom_ChampN: Type_ChampN
FinEnregistrement
Figure 74 : Syntaxe de définition d’un enregistrement.

Pr. Abderrahman CHEKRY Page 45 A.U 2020/2021


Chapitre 5 : Les enregistrements DUT : GI

Le type d’un champ peut être :


 Un type simple (de base);
 Un type complexe (basé sur un autre enregistrement).
Exemple :
TYPE
Enregistrement Date
Jour: Entier
Mois: Chaine de caractères
Annee: Entier
FinEnregistrement
Figure 75 : Exemple de définition d’un enregistrement Date.

L’enregistrement Date contient les champs :


 Jour de type entier ;
 Mois de type chaine de caractères ;
 Annee de type entier.
2.1. Déclaration des variables de type enregistrement:
Après avoir défini un type enregistrement, nous pouvons l'utiliser comme les
autres types de base en déclarant une ou plusieurs variables de ce type.

Variables
dateNaissance: Date
dateInscription: Date
Figure 76 : Exemple de déclaration des enregistrements.

Dans l’exemple ci-dessus nous avons déclaré deux variables dateNaissance et


dateInscription, la figure ci-après illustre un exemple des valeurs contenues dans ces
deux variables.

Figure 77 : Exemple de valeurs des enregistrements dateNaissance et dateInscription.

3. Accès et manipulation des enregistrements :


Chaque enregistrement est manipulé à travers ses champs, il n'est pas possible
de manipuler un enregistrement globalement, à l'exception de l'affectation d'un
enregistrement à un autre enregistrement de même type qui consiste à copier tous

Pr. Abderrahman CHEKRY Page 46 A.U 2020/2021


Chapitre 5 : Les enregistrements DUT : GI

les champs d’un enregistrement dans les champs de l’autre (exp: dateNaissance ←
dateInscription).
Nous pouvons accéder à un champ d’un enregistrement en indiquant le nom de
la variable (enregistrement) suivi de l’opérateur « . » suivi du nom du champ.

dateNaissance.Jour←15
Ecrire (dateNaissance.Mois)
Figure 78 : Accès aux champs d’un enregistrement.

L’instruction dateNaissance.Jour←15 permet d’affecter la valeur 15 au


champ Jour de l’enregistrement dateNaissance, tandis que l’instruction
Ecrire (dateNaissance.Mois) permet d’afficher la valeur contenue dans le champ
Mois de l’enregistrement dateNaissance.

3.1.Enregistrements imbriqués :
Les champs d’un enregistrement peuvent être de tout type, y compris le type
enregistrement.

Figure 73 : Exemple des enregistrements imbriqués.

Dans l’exemple ci-dessus, nous avons défini deux enregistrements Personne et


Date, dont le champ dateNaissance de l’enregistrement Personne est de type Date
qui est lui-même de type enregistrement.

NB : L’enregistrement Date doit être définit avant l’enregistrement Personne.

Pour accéder au mois de naissance d'une variable Prsn de type Personne, il


fallait utiliser deux fois l'opérateur « . » comme suit :

Prsn.DateNaissance.Mois
Figure 79 : Accès aux champs d’un enregistrement imbriqué.

Pr. Abderrahman CHEKRY Page 47 A.U 2020/2021


Chapitre 5 : Les enregistrements DUT : GI

3.2.Exemple de manipulation des enregistrements :


Application :
On souhaite gérer les informations des étudiants de l’ESTS. Chaque étudiant
est caractérisé par: N° d’Inscription, Nom, Prénom, Date de naissance (Jour, Mois,
Année), Adresse (ville, rue, Numéro).
Écrire un algorithme permettant de:
A. Définir les enregistrements nécessaires pour stocker un étudiant ;
B. Demander à l’utilisateur de saisir les informations d’un étudiant;
C. Afficher les informations d’un étudiant.
Solution (des questions A et B):

Algorithme Etudiant
Types
Enregistrement Date
Jour: Entier
Mois: Entier
Annee: Entier
FinEnregistrement

Enregistrement Adresse
Ville:Chaine de caractères
Rue: Chaine de caractères
Numero: Entier
FinEnregistrement

Enregistrement Etudiant
NumIns : Entier
Nom: Chaine de caractères
Prenom: Chaine de caractères
DN: Date
Adr : Adresse
FinEnregistrement

Variables
Et : Etudiant
DEBUT
Ecrire ("Entrer le N° inscription, le nom et le prénom de
l’étudiant : ")
Lire (Et. NumIns, Et.Nom, Et.Prenom)
Ecrire ("Entrer la date de naissance: JJ MM AAAA ")
Lire (Et.DN.Jour, Et.DN.Mois, Et.DN.Annee)
Ecrire ("Entrer la ville, la rue et le numéro")
Lire (Et.Adr.Ville, Et.Adr.Rue, Et.Adr.Numero)

FIN
Figure 80 : Exemple de manipulation des enregistrements.

Pr. Abderrahman CHEKRY Page 48 A.U 2020/2021

Vous aimerez peut-être aussi