Cours Les Enregistrements
Cours Les Enregistrements
Cours Les Enregistrements
com
CHAPITRE 1 - a
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 (ou champs) de types éventuellement différents.
II/ Déclaration :
Déclaration d’une structure enregistrement
En algorithmique :
Puisque l'enregistrement est un nouveau type, on commence par sa déclaration :
En Pascal :
VAR
identificateur_objet : Nom_type ;
III/ Utilisation
4INFINFRC0001 Page 1
http://www.najah.com
En algorithmique En Pascal
variable.champ ← valeur variable.champ := valeur ;
Exemple :
En algorithmique :
élève.nom ← "Swidi"
élève.prénom ← "Basma"
élève.sexe ← "F"
élève.numéro ← 18
élève.moyenne ← 13.25
élève.num_cin ← 12345678
En Pascal :
Le type enregistrement.
4INFINFRC0001 Page 2
http://www.najah.com
numero : Byte ;
moyenne : Real ;
num_cin : LongInt ;
End ;
VAR
eleve : Fiche ;
eleve.nom := 'Swidi' ;
eleve.prenom := 'Basma' ;
eleve.sexe := 'F' ;
eleve.numero := 18 ;
eleve.moyenne := 13.25 ;
eleve.num_cin := 12345678 ;
Exemple :
Au niveau de l'analyse :
élève.nom = Donnée ("Entrer le nom de l'élève : ")
Au niveau de l'algorithme :
Ecrire ("Entrer le nom de l'élève : ") ; Lire (élève.nom)
Au niveau du Pascal :
Write ('Entrer le nom de l''élève : ') ; ReadLn (eleve.nom) ;
Exemple :
4INFINFRC0001 Page 3
http://www.najah.com
Au niveau du Pascal :
WriteLn ('Nom : ', eleve.nom) ;
Syntaxe :
Au niveau de l'analyse et de l'algorithme Au niveau du Pascal
Avec variable Faire With variable Do
{ensemble d'actions} Begin
Fin Avec {ensemble d'actions}
End;
Au Niveau de l'algorithme :
{Lecture}
Ecrire ("Entrer le sexe de l'étudiant : ") ; Lire (sexe)
{Ecriture}
Ecrire ("Moyenne : ", moyenne)
Fin Avec
Au Niveau du Pascal :
With etudiant Do
Begin
nom := 'Swidi' ;
4INFINFRC0001 Page 4
http://www.najah.com
Vecteur d'enregistrements
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 :
Type
Fiches = Enregistrement
nom, prénom : Chaîne
sexe : Caractère
numéro : Entier non signé
moyenne : Réel
num_cin : Entier long
Fin Fiches
Tab = Tableau de 30 Fiches {tableau d'enregistrements fiches}
Tableau de déclaration des objets :
Activité
Un médecin enregistre sur ordinateur les fiches de ses Patients. Une fiche a la la structure
suivante :
- un nom (chaîne de 30 caractères maximum)
- un numéro (entier)
- un numéro de téléphone (10 caractères maximum)
- un code d'assurance (entier non signé).
1/ Ecrire les analyses, les algorithmes des différents modules d'un programme nommé Fiche,
qui permet la saisie et l'affichage de l'enregistrement d'un Patient.
2/ Traduire ce programme en Pascal
1/ Analyses et algorithmes :
4INFINFRC0001 Page 5
http://www.najah.com
Type
Personne = Enregistrement
nom : Chaîne de 30 caractères
numéro : Entier
tel : Chaîne de 10 caractères
code : Entier non signé
Fin Personne
4INFINFRC0001 Page 6
http://www.najah.com
Fin Avec
2) Fin Saisir
2/ Traduction en Pascal
PROGRAM Fiche ;
USES Crt ;
TYPE Personne = Record
nom : String [30] ;
numero : Integer ;
tel : String [10] ;
code : Word ;
End ;
VAR Patient : Personne ;
{--------------------------------------------------------------------------------------------}
PROCEDURE Saisir (VAR Patient : Personne) ;
BEGIN
With Patient Do
Begin
Write ('Entrer le nom de la personne : ') ; ReadLn (nom) ;
Write ('Entrer son numéro : ') ; ReadLn (numero) ;
Write ('Entrer son numéro de téléphone : ') ; ReadLn (tel) ;
Write ('Entrer son code d’’assurance : ') ; ReadLn (code) ;
End ;
END ;
{--------------------------------------------------------------------------------------------}
PROCEDURE Afficher (Patient : Personne) ;
BEGIN
With Patient Do
4INFINFRC0001 Page 7
http://www.najah.com
Begin
WriteLn ('Nom : ', nom) ;
WriteLn ('Numéro : ', numero) ;
WriteLn ('Numéro du téléphone : ', tel) ;
WriteLn ('Code d’’assurence : ', code) ;
End;
END;
{= = = = = = = = = = = Programme Principal = = = = = = = = = = =}
BEGIN
Saisir (Patient) ;
Afficher (Patient);
END.
4INFINFRC0001 Page 8