représente  le  prix  de  l’article1.  D’ailleurs,  pour  plus  de  simplicité,  lisez  vos  enregistrements  de  droite  à  gauche  : 
article2.libellé se lit "libellé de article2". 
Comme  il  est  interdit  d’affecter  une  valeur  directement  à  un  enregistrement  complet,  vous  devez  passer  par  les 
champs.  Évidemment  il  est  impossible,  si  vous  mettez  le  nom  du  champ  seul,  de  savoir  à  quel  enregistrement  il 
appartient. Aussi n’oubliez jamais d’écrire le nom de l’enregistrement ET le nom du champ. De même, ne confondez 
pas le nom du type structuré et le nom de l’enregistrement : 
tarticle.ref /* mauvaise idée */
ne représente rien du tout et ne peut recevoir aucune valeur. 
Les champs d’un enregistrement se manipulent exactement comme des variables, ils peuvent recevoir des valeurs, et 
leur valeur peut être affectée à une autre variable. Les champs peuvent être utilisés partout où les variables sont 
utilisées, y compris, vous le verrez dans le prochain chapitre, comme paramètres de sous­ programmes, en saisie, en 
affichage, etc. 
L’exemple suivant reprend tous ces principes : 
PROGRAMME demo_enreg
Type
Structure tarticle
ref:chaîne
libelle:chaine
prix:réel
FinStruct
Var
article1,article2:tarticle
reponse:chaîne
DEBUT
Afficher "Référence du premier article ?"
Saisir article1.ref
Afficher "Libellé du premier article ?"
Saisir article1.libellé
Afficher "Prix du premier article ?"
Saisir article1.prix
Afficher article1.ref,article1.libelle,article1.prix
Afficher "Copier le premier article dans le second ?"
Saisir reponse
Si reponse="oui" Alors
article2=article1
Afficher article2.ref,article2.libelle,article2.prix
FinSi
article2.prix←15.25
Si article1.prix=article2.prix Alors
afficher "Les deux articles ont le même prix"
FinSi
FIN
Voici les constatations qui peuvent être tirées de cet exemple : 
q Le  nom  du  champ  seul  ne  représente  rien,  il  est  toujours  associé  à  son  enregistrement  sous  la  forme 
enreg.champ. Ce qui est appelé champ représente cette paire. 
q Un  champ  s’utilise  exactement  comme  une  variable  indépendante.  C’est  ce  qu’elle  est  puisqu’un  type 
structuré est un ensemble de variables d’un type donné. 
q De ce fait, un champ peut recevoir une valeur comme une autre. 
q Enfin, le seul cas où un enregistrement peut recevoir une valeur en globalité c’est quand on lui affecte un 
autre enregistrement du même type. 
b. Un enregistrement dans une structure 
Un type structuré définit un nouveau type de variable appelé enregistrement. Un enregistrement est déclaré comme 
une  variable.  Il  semble  donc  logique  qu’un  enregistrement  puisse  faire  lui­même  partie  d’un  autre  type  structuré. 
- 3 -
© ENI Editions - All rigths reserved - Jonifar lina
119
Précédent

- 119/220

Suivant