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 luimême partie d’un autre type structuré.
- 3 -
© ENI Editions - All rigths reserved - Jonifar lina
119
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 luimême partie d’un autre type structuré.
- 3 -
© ENI Editions - All rigths reserved - Jonifar lina
119
