Vous êtes sur la page 1sur 4

Mr.

Anis ELBAHI Programmation 3SI-1

9. Les enregistrements :
9.1 - Présentation du problème :
Les types prédéfinis que nous avons vus (entier, réel, chaine de caractères, tableau, …) sont
………………………………… pour traiter des données plus complexes.
Par exemple si on veut représenter un élève qui est caractérisé par son code, son nom, son prénom, son
genre et sa moyenne générale, etc. et on voudrait qu’une seule variable conserve et donc donne accès à
toutes ces informations. En algorithmique, on définirait alors un type ……………………………
regroupant ces informations.

9.2 - Définition d’un enregistrement


Est un type de données défini par l’utilisateur qui permet …………………
Un enregistrement
d’un ensemble de champs décrivant ………………………. de monde réel.

Exemple d’enregistrement :
ELEVE Champs Valeurs
Champ Signification Type
C Code Entier
N Nom Chaine
P Prénom Chaine
G Genre Caractère
MG Moyenne Générale Réel

Exercice 33 (Exemples d’enregistrements)


Dans le tableau suivant, donner trois autres exemples d’objets de monde réel ainsi que certaines de
leurs caractéristiques comme le montre l’exemple suivant :
Exemple :
Objet Caractéristiques (propriétés)
Voiture Matricule, Puissance, Couleur, marque, ...

9.3 - Déclaration d’un enregistrement:


Méthode 1 :

32
Mr. Anis ELBAHI Programmation 3SI-1

Méthode 2 :

Déclaration algorithmique d’un type enregistrement


En algorithmique Exemple
Tableau de Déclaration des Nouveaux Types TDNT
TYPES TYPES
Nom_type = Enregistrement eleve = Enregistrement
Champ1 : type1 C : entier
Champ2 : type2 N, P : chaine
… G : caractère
Champn : typen MG : réel
Fin Fin

Déclaration algorithmique d’une variable de type enregistrement


En algorithmique Exemple
Tableau de Déclaration des Objets TDO
Objet Type / nature Objet Type / nature
nom_objet Nom_type E eleve

Pour déclarer un enregistrement en python, on utilise les dictionnaires. Un dictionnaire est une structure de
données dite associative, car elle permet de stocker une valeur en lui associant une clé.

Exercice 34 (Implémentation d’un enregistrement en python)


Soit l’enregistrement eleve suivant :
ELEVE
Champ Signification Type Valeur
c Code Entier 1234
n Nom Chaine "elbahi"
p Prénom Chaine "Anis"
mg Moyenne Générale Réel 13.25
1- Implémenter l’enregistrement eleve en python en remplissant ses champs par les valeurs données.
2- Afficher l’enregistrement eleve (tous les champs)
3- Ajouter à la moyenne générale de l’eleve 1.5
4- Afficher la nouvelle valeur du champ mg.

L’affectation de deux enregistrements est possible : e1 et e2 sont deux enregistrements « ayant la même structure »
e1 = e2

33
Mr. Anis ELBAHI Programmation 3SI-1

10. Les vecteurs d’enregistrements :


10.1 - Présentation du problème
Pour stocker les informations d’un élève, on a défini un nouvel objet de type enregistrement nomme
eleve formé par un ensemble de champs de types différents, chaque champ contient une donnée.
Maintenant si on désire stocker les informations de plusieurs élèves que faut-il faire ?

Réponse :
La meilleure solution est de créer une structure pouvant regrouper plusieurs objets de type
enregistrements eleve. Cette structure s’appelle ………………………………………………………

10.2 - Définition d’un vecteur d’enregistrements


Un vecteur Est un ensemble fini d’éléments chacun d’eux est de type enregistrement
d’enregistrements

Exemple :
Soit l’enregistrement ELEVE suivant formé de 4 champs :

Le tableau T suivant est un vecteur formé par 4 enregistrements ELEVE.


C’est le code de l’élève qui se trouve dans la case d’indice 2 du tableau T : T[2].code

0 1 2 3

Exercice 35 (Manipulation d’un vecteur d’enregistrements)


Soit l’enregistrement eleve suivant :
ELEVE
Champ Signification Type
C Identifiant Entier
N Nom Chaine
P Prénom Chaine
MG Moyenne Générale Réel (compris entre 0 et 20)
On désire faire un programme nommé « classe » qui permet de remplir un tableau T par N élèves
(avec 3≤N≤39) puis de calculer et d’afficher le nombre des admis et celui des redoublants.
Travail à faire :
1- Faire l’algorithme du programme principal.
2- Faire les algorithmes des modules envisagés.

34
Mr. Anis ELBAHI Programmation 3SI-1

Exercice 36 (Tri d’un vecteur d’enregistrements)


Soit l’enregistrement eleve suivant :
ELEVE
Champ Signification Type
C Code Entier (positif de 3 chiffres)
NP Nom et prénom Chaine
MG Moyenne Générale Réel (compris entre 0 et 20)
On désire faire un programme nommé « Tri_eleves » qui permet de :
1- Remplir un tableau T par N élèves (avec 3≤N≤39)
2- Trier la liste des élèves par ordre de mérite
3- Afficher le rang, le nom et le prénom ainsi que la moyenne générale de chaque eleve admis
Travail à faire :
1- Faire le programme python permettant de résoudre ce problème.

35

Vous aimerez peut-être aussi