Académique Documents
Professionnel Documents
Culture Documents
FONDAMENTALS
Chapitre 8:
Les enregistrement (structures) et
Semestre I
Niveau 1 Année:
énumérations
Licence Info
DUT Info IG
DUT Info Maintenance
Sommaire
13/04/2023 2
1. Introduction
Dans la première partie de ce module (Initiation à l’algorithmique), nous avons vu et manipulé les types simples de
données (entier, réel, caractère, booléen), le type Tableau et le type Chaîne de caractères. Ce sont les types prédéfinis
d’un langage de programmation (ils existent tels quels).
Tous les langages de programmation offrent à l’utilisateur la possibilité de définir de nouveaux types de données plus
sophistiqués, permettant d’imaginer des traitements à la fois plus performants et plus souples. C’est ce que nous
étudierons dans ce chapitre.
Nous avons déjà vu comment le tableau permettait de désigner sous un seul nom un ensemble de valeurs de même
type, chacune d’entre elles étant repérée par un indice.
L’enregistrement, quant à elle, va nous permettre de désigner sous un seul nom un ensemble de valeurs pouvant
être de types différents. L’accès à chaque élément de la structure (nommé Champ ou membre) se fera, cette fois, non
plus par une indication de position, mais par son nom au sein de la structure.
13/04/2023 3
2. Enregistrement et variable de type enregistrement
Il est souvent intéressant de pouvoir manipuler dans un tableau plusieurs types différents.
Par exemple pour gérer les 50 étudiants d’une école comprenant les informations suivantes : (Matricule : entier ; Nom :
Chaîne [10] ; Prénom : Chaîne [15] ; Age : entier; Taille : Réel; etc.) Etant donné les types formés par ces informations
sont différents, la première idée qui nous vient à l’esprit est d’utiliser quatre (5) tableaux :
Constante Max = 50
La structure générale de la déclaration d’un
enregistrement est la suivante : Type Etudiant = Structure
Matricule : entier
Type NomEnregistrement = Structure
Nom : Chaîne [10]
Champ1 : Type1
Prenom : Chaîne [15]
Champ2 : Type2
Age : Entier
...
Taille : Réel
ChampN : TypeN
FinStructure
FinStructure
Variables :
Variables :
Personne : Etudiant
NomVariable : NomEnregistrement
E : Etudiant
TabEtudiant : Tableau [1..Max] d’Etudiant // Tableau
d’enregistrement
Désormais, tous les champs sont « logés » au niveau d’un seul tableau. Etudiant devient alors ce que
13/04/2023 l’on appel type défini par l’utilisateur. 5
2. Enregistrement et variable de type enregistrement
Représentation graphique
TabEtudiant
Indices 1 2
Champs Matricul
e
Nom Prénom Age Taille Matricule Nom Prénom Age Taille
13/04/2023 6
2. Enregistrement et variable de type enregistrement
Manipulation des variables de types structures
La manipulation (Accès) d’une variables de type structure se fait membre par membre. Et l’accès à un membre structure
13/04/2023 8
3. Structure membre d’une autre structure
Une structure peut figurer parmi les membres d’une autre structure. Dans ce cas, elle doit être déclarée avant la structure
qui la contient.
Exemple : Type Date = Structure
Dans le cas d’un tableau, l’accès se fait comme suit :
Jour : entier
Mois : Chaîne [9] Nom Tableau[indice].Variable sous Structure.membre
Année : Chaîne [4]
FinStructure Exemple : TabEtudiant [i]. DateNaissance.jour
Type Etudiant = Structure Où « TabEtudiant [i] » fait référence au ièm élément du tableau
Matricule : entier «TabEtudiant» de type « Etudiant».
Nom : Chaîne [10]
Prénom : Chaîne [15]
Age : Entier
Taille : Réel
DateNaissance : Date
13/04/2023 9
4. Algorithme sur les structure
Tous les algorithmes vus sur les tableaux s’appliquent également sur les enregistrements, donc on pourra écrire les
programmes suivants :
Insertion, Recherche, Suppression, Mise à jour, Affiche… des éléments dans une structure. Ainsi que les opérations
sur plusieurs structures.
13/04/2023 10
Conclusion
Avantages : accès direct au iéme élément.
13/04/2023 11