Académique Documents
Professionnel Documents
Culture Documents
Les enregistrements
Pb : Dsire et afficher la moyenne de la note doral et la note dcrit obtenu au bac de franais pour les lves
d'une classe de premire. Pour cela, on souhaite galement mmoriser le nom et le prnom de chaque lve.
Comment mmoriser toutes ces informations afin de les manipuler ?
Solution 1 : utiliser plusieurs tableaux
const nb_eleve = 20
nom : tableau [1 .. nb_eleve] de chane de caractres
prenom : tableau [1 .. nb_eleve] de chane de caractres
oral : tableau [1 .. nb_eleve] de rel
crit : tableau [1 .. nb_eleve] de rel
ou
tabnom : tableau [1 .. nb_eleve, 1 .. 2] de chane de caractres
tabnote : tableau [1 .. nb_eleve, 1 .. 2] de rel
Inconvnient : manipulation de beaucoup de tableaux
Solution 2 : utiliser un tableau
1
nom
prenom
oral
crit
2
nom
prenom
oral
crit
nb_eleve
I Dfinition
Un enregistrement est un type de donnes structures, il sert rassembler dans une mme rupture des donnes de
types diffrents se rapportant un mme sujet.
II Dclaration
TYPE nom_enregistrement
donne 1 : type 1
donne 2 : type 2
donne n : type n
FIN ENREGISTREMENT
: ENREGISTREMENT
DAIGL Programmation
Exemples :
1)
VAR unEleve : eleve_enr
Accs au nom de l'lve : eleve_enr.nom
Accs la note oral : eleve_enr.oral
2)
3) Programme lve
CONST nb =20
TYPE eleve_enr : ENREGISTREMENT
nom, prenom : chane de caractres
oral, crit : rel
FIN ENREGISTREMENT
VAR tabEleve : TABLEAU [1 .. nb] de eleve_enr
i : entier
moy : rel
Dbut
| Pour i de 1 nb Faire
| | Afficher ( Donner le nom, le prnom, et les deux notes de llve )
| | Saisir (tabeleve[i].nom
| | Saisir (tabeleve[i].prenom)
| | Saisir (tabeleve[i].oral)
| | Saisir (tabeleve[i].crit)
| Fin pour
| Pour i de 1 nb Faire
| | moy (tabeleve[i].oral + tabeleve[i].crit) / 2
| | Afficher ( La moyenne de l'lve , tabeleve[i].nom, , tabeleve[i].prenom, est de ,moy)
| Fin pour
FIN
Remarque 1 : un type enr peut contenir un champ de type enregistrement. Supposons que dont le type eleve_enr,
nous voulions sa date de naissance :
TYPE date
: ENREGISTREMENT
jour, mois, anne : entier
FIN ENREGISTREMENT
TYPE eleve_enr
: ENREGISTREMENT
nom, prenom : chane de caractres
oral, crit : rel
datenaiss : date
FIN ENREGISTREMENT
Remarque 2 : type enr peut contenir un champ de type tableau. Supposons que le type eleve_enr est caractris
par 6 notes :
TYPE eleve_enr
: ENREGISTREMENT
nom, prenom : chane de caractres
datenaiss : date
note : tableau [1 .. 6] de rel
FIN ENREGISTREMENT
Remarque 3 : les donnes contenues dans les enregistrements et les tableaux sont perdus des que l'on quitte le
programme dans lequel il est saisi. Solution : ou type de donnes, le fichier.
2/2
DAIGL Programmation