0% ont trouvé ce document utile (0 vote)
4 vues4 pages

Enregistrements en Algorithmique

Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
4 vues4 pages

Enregistrements en Algorithmique

Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Chapitre 6 Structure de données : Les Enregistrements

6.1. Introduction

Contrairement aux tableaux qui sont des structures de données dont tous les éléments sont de
même type, les enregistrements sont des structures de données dont les éléments peuvent être
de type différent et qui se rapportent à la même entité.

6.2. Déclaration

Syntaxe :
Type
nom_type = enregistrement
nom_champ1 : type_champ1 ;

nom_champn : type_champn ;
finenreg ;
Var nom_var : nom_type ;

Exemple 1

Type
personne = enregistrement
nom : chaîne de caractères ;
prenom : chaine de caractères ;
age : entier ;
finenreg ;
Var pers1, pers2, pers3 : personne ;

Exemple 2 : Soit l’entité produit (code, libellé, quantité, prix)

Type
produit = enregistrement
code : chaîne de caractères ;
libelle : chaine de caractères ;
quantite : entier ;
prix : réel ;
finenreg ;

Var prod1, prod2 : produit ;

6.4. Manipulation d'un enregistrement

La manipulation d'un enregistrement se fait au travers de ses champs. Comme pour les tableaux,
il n'est pas possible de manipuler un enregistrement globalement, sauf pour affecter un
enregistrement à un autre de même type. Par exemple, pour afficher un enregistrement il faut
afficher tous ses champs un par un.

Les enregistrements sont déclarés et initialisés comme les tableaux.


Exemple :
37

Algorithmique –ENSP - Humanité numérique & Art numérique ingénieur – Mme NINKO Lidwine
Type
personne = enregistrement
nom : chaîne de caractères ;
prenom : chaine de caractères ;
age : entier ;
finenreg ;
Var p1, p2 : personne ;
[Link] "Eboua" ;
[Link] "Pierre" ;
[Link] 32 ;

P2{"Onana", "Aimée", 54} ;


«
6.4.1. Accès aux champs d'un enregistrement

Alors que les éléments d'un tableau sont accessibles au travers de leur indice, les champs d'un
enregistrement sont accessibles à travers leur nom, grâce à l'opérateur "."

Syntaxe

nom_enregistrement . nom_champ /*représente la valeur mémorisée dans le champ de


l'enregistrement */

Par exemple, pour accéder à la quantité de la variable prod1, on utilise l'expression : prod1.
quantite

Les champs d'un enregistrement, tout comme les éléments d'un tableau, sont des variables à qui
on peut faire subir les mêmes opérations (affectation, saisie, affichage, …).

Exemple :
Programme de saisie des données concernant les personnes pers1 et pers2, puis affichage de la
différence d'âge entre ces deux personnes

Algorithme saisie_donnees ;
Type
personne = enregistrement
nom : chaîne de caractères ;
prenom : chaîne de caractères ;
age : entier ;
finenreg ;
Var pers1, pers2 : personne ;

Début
Ecrire ("Entrez le nom puis l’âge de la personne 1") ;
Lire ([Link], [Link]) ;
Ecrire ("Entrez le prénom de la personne 1") ;
Lire ([Link]) ;
Ecrire ("Entrez le nom puis l'âge de la personne 2") ;
Lire ([Link], [Link]) ;
Ecrire ("Entrez le prénom de la personne 2") ;
38

Algorithmique –ENSP - Humanité numérique & Art numérique ingénieur – Mme NINKO Lidwine
Lire ([Link]) ;
Ecrire ("La différence d'âge entre ", [Link], " et ", [Link], " est de : ") ;
Si [Link] > [Link] alors
Ecrire ([Link] – [Link], " ans ") ;
Sinon
Ecrire ([Link] – [Link], " ans ") ;
FinSi ;
Fin

6.4.2. 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é

Type
date = enregistrement
jour: entier ;
mois: chaîne de caractères ;
annee: entier ;
finenreg ;

Type
personne = enregistrement
nom : chaîne de caractères ;
date_nais: date ;
finenreg ;

Pour accéder à l'année de naissance d'une personne, il faut utiliser deux fois l'opérateur "."
pers1.date_nais.annee

6.4.3. Les tableaux d'enregistrement

Il arrive souvent que l’on veuille traiter non pas un seul enregistrement mais plusieurs. Par
exemple, on veut pouvoir traiter un groupe de personne. On ne va donc pas créer autant de
variables du type personne qu’il y a de personnes. On va créer un tableau regroupant toutes les
personnes du groupe. Il s’agit alors d’un tableau d’enregistrements.

Const NP = 20 ; // nombre de personnes du groupe

Type
personne = enregistrement
nom: chaîne ;
age: entier ;
finenreg ;
Type
39

Algorithmique –ENSP - Humanité numérique & Art numérique ingénieur – Mme NINKO Lidwine
tablepers = tableau[1..NP] de personne ;
Var groupe : tablepers ;

Chaque élément du tableau est un enregistrement, contenant plusieurs variables de type


différent. On accède à un enregistrement par son indice dans le tableau.
groupe[2] représente la deuxième personne du groupe
groupe[2].nom représente le nom de la deuxième personne du groupe
groupe[2].age représente l’âge de la deuxième personne du groupe

Exercices
Soit une classe de N étudiants. Un étudiant est caractérisé par son matricule, son nom, son
prénom, ses notes sur trois matières.
Ecrire un algorithme qui permet de calculer et afficher la moyenne de chaque étudiant. NB :
utiliser les notions d’enregistrement et tableau.

40

Algorithmique –ENSP - Humanité numérique & Art numérique ingénieur – Mme NINKO Lidwine

Vous aimerez peut-être aussi