• Aucun résultat trouvé

Chapitre I Les enregistrements

N/A
N/A
Protected

Academic year: 2022

Partager "Chapitre I Les enregistrements"

Copied!
6
0
0

Texte intégral

(1)

1

Dr Manel Seddiki

Département Informatique https://manel-seddiki.jimdo.com/

1. Introduction

Nous avons vu qu’avec les tableaux, nous pouvons regrouper plusieurs éléments dans la même structure. La limite ici c’est que les éléments du tableau doivent être du même type.

Prenons par exemple le cas des données d’un étudiant que nous voulons regrouper dans une structure. Si on veut stocker les notes d’un étudiant, cela est possible avec les tableaux car les notes des différents modules sont toutes du même type (Réel). Par contre, si on veut stocker d’autres informations concernant l’étudiant comme par exemple son nom (une chaine de caractère), son prénom (une chaine de caractère), son matricule (un entier), sa section (un caractère) et son groupe (un entier) , cela n’est plus possible avec les tableaux car ces éléments sont hétérogènes (de type différent). Une nouvelle structure appelée enregistrement, est plus adaptée pour représenter ce cas.

2. Définition

Un enregistrement est un objet qui permet de regrouper des éléments qui n’ont pas forcément le même type dans une même structure. Un enregistrement est défini par un ensemble d’éléments appelés champs. Ces champs peuvent être de type simple (entier, réel, booléen) ou composé (tableau)

Exemple : Un enregistrement qui permet de représenter les informations d’un étudiant

3. Déclaration d'un enregistrement

La déclaration d’une variable de type Enregistrement se fait dans la partie déclaration de l’algorithme.

Syntaxe Var

<Idf_enregistrement>= Enregistrement

<Idf_champs1> : <type_champs1> ; <Idf_champs1> : <type_champs1> ; <Idf_champs1> : <type_champs1> ; ………

<Idf_champs n> : <type_champs n> ;

(2)

2

Dr Manel Seddiki

Département Informatique https://manel-seddiki.jimdo.com/

Fin ;

Exemple

Déclaration d’une variable Enregistrement appelée E qui représente les informations d’un étudiant

Var

E = Enregistrement

Nom : Tableau de [1..50] de Car ; Prénom : Tableau de [1..50] de Car ; Matricule : Entier ;

Section : Car ; Groupe : Entier ; Fin ;

Note importante

Il est possible de déclarer un type d’Enregistrement dans la partie déclarations des types Syntaxe

Type

<Idf_type_enregistrement>= Enregistrement

<Idf_champs1> : <type_champs1> ; <Idf_champs1> : <type_champs1> ; <Idf_champs1> : <type_champs1> ; ………

<Idf_champs n> : <type_champs n> ; Fin ;

Var

<idf_enregistrement> : <Idf_type_enregistrement> ;

Exemple Type

Etudiant = Enregistrement

Nom : Tableau de [1..50] de Car ; Prénom : Tableau de [1..50] de Car ; Matricule : Entier ;

(3)

3

Dr Manel Seddiki

Département Informatique https://manel-seddiki.jimdo.com/

Section : Car ; Groupe : Entier ;

Notes : Tableau de[1..3] de Réels ; Fin ;

Var

E : Etudiant ;

4. Les opérations sur les enregistrements

4.1. Référence d'un champ

Nous accédons aux champs d’un enregistrement en indiquant le nom de l’enregistrement suivi d’un point ensuite par le nom du champ

Syntaxe

<idf_enregistrement>.<idf_champs>

Exemple

E.Nom fait référence au champ Nom de l’enregistrement E E.Prénom fait référence au champ Prénom de l’enregistrement E E.Matricule fait référence au champ Matricule de l’enregistrement E

4.2. Initialisation, lecture et affichage d’un champ

Le champ d’un enregistrement peut être de type simple ou composé. S’il est de type simple, alors nous pouvons appliquer les opérations de lecture, d’affectation et d’affichage comme dans le cas des variables simples. Si le champ est de type composé (tableau ou

enregistrement), il faudra dans ce cas, descendre dans la hiérarchie jusqu'à trouver les éléments de type simple.

Exemple

Les champs de type simple :

E.Matricule  1717548963 ; / Lire (E.Matricule) ; / Ecrire (E.Matricule) ;

E.Section  ‘B’ ; / Lire (E.Section) ; / Ecrire (E.Section) ;

E.Groupe 3 ; / Lire (E.Groupe) ; / Ecrire (E.Groupe) ; Les champs de type composé :

(4)

4

Dr Manel Seddiki

Département Informatique https://manel-seddiki.jimdo.com/

Le champ E.Notes est un tableau de réels, nous ne pouvons pas faire une affectation ou une lecture directe. Il faut accéder aux éléments du tableau un par un.

E.Notes[1]  10.2 ; / Lire (E.Notes[1]) ; / Ecrire(E.Notes[1]) ;

E.Notes[2]  12.5 ; / Lire (E.Notes[2]) ; / Ecrire(E.Notes[2]) ;

E.Notes[3]  13.0 ; / Lire (E.Notes[3]) ; / Ecrire(E.Notes[3]) ;

Concernant les chaines de caractères, il est possible de les considérer comme des éléments de type simple et donc il est permis de faire l’affectation ou la lecture directement.

E.Nom "FARIDA" ; / Lire(E.Nom) ; / Ecrire(E.Nom) ;

E.Prénom "Bachtobdj" ; / Lire(E.Prénom) ; / Ecrire(E.Nom) ;

5. Emboîtement d’enregistrements

Il est possible qu’un champ dans un enregistrement soit lui-même un enregistrement.

Exemple Type

Date=Enregistrement Jour :Entier ; Mois : Entier ; Année : Entier Fin ;

Etudiant = Enregistrement

Nom : Tableau de [1..50] de Car ; Prénom : Tableau de [1..50] de Car ; Matricule : Entier ;

Section : Car ; Groupe : Entier ;

Notes : Tableau de[1..3] de Réels ; Date_naissance : Date ;

Fin ; Var

E : Etudiant ;

Pour accéder au jour, mois et année de naissance : E.Date_naissance.Jour

(5)

5

Dr Manel Seddiki

Département Informatique https://manel-seddiki.jimdo.com/

E.Date_naissance.Mois E.Date_naissance.Année

L’imbrication peut se voir dans le schéma suivant :

6. L’instruction "Avec"

Afin d’éviter de répéter à chaque fois l’identificateur de l’enregistrement pour référencer des champs dans un bloc d’actions. Nous utilisons le mot réservé Avec

Syntaxe 1

Avec <idf_enregistrement> Faire

<Bloc d’actions>

Fait ;

Exemple

Avec E Faire Nom  "Lila" ; Lire (Prénom) ;

Matricule Matricule+1 ; Avec Date_naissance Faire Jour7 ;

Mois2 ; Année2018 ; Fait ;

Fait ;

E

Nom Prénom Matricule Section Groupe Notes Date_naissance

Jour Mois Anné

(6)

6

Dr Manel Seddiki

Département Informatique https://manel-seddiki.jimdo.com/

Syntaxe 2 : Dans le cas ou nous avons des enregistrements imbriqués Avec <idf_enregistrement, idf_enregistrement1, idf_enregistrement2 …>

Faire

<Bloc d’actions>

Fait ;

Exemple

Avec E, Date_naissance Faire Nom  "Lila" ;

Lire (Prénom) ;

Matricule Matricule+1 ; Jour7 ;

Mois2 ; Année2018 ; Fait ;

Dans la syntaxe 2, idf_enregistrement est l’enregistrement racine et idf_enregistrement1, idf_enregistrement2…. Sont les enregistrements imbriqués à l’intérieur de idf_enregistrement.

Note importante

Il faut faire attention aux homonymes car ils entraient de l’ambigüité.

Exemple : Si nous avons pour un étudiant sa date de naissance et sa date d’entrée à l’université qui sont tous les deux de type Date, alors les champ jour, mois et année seront ambigus car nous ne savons pas s’il font référence à Date_naissance ou Date_entrée.

Avec E, Date_naissance, Date_Entrée Faire Nom  "Lila" ;

Lire (Prénom) ;

Matricule Matricule+1 ; Jour7 ; ?

Mois2 ; ?

Année2018 ; ? Fait ;

7. Exercices d’application

Références

Documents relatifs

Ils peuvent être équipés d’un ou deux contacts auxiliaires utilisés dans le circuit de commande (auto-maintien pour le contact 13/14 et verrouillage de la double commande pour

(La troisième maille n’empruntant aucune branche nouvelle, elle n’apporte aucune information nouvelle). Ecrire la loi

Inconvénients : à course égale, ils sont plus longs que les vérins double effet ; la vitesse de la tige est difficile à régler en pneumatique.. Utilisation : travaux simples

• La chaine d’information, composée d’un boitier électronique et de capteurs, elle détecte le signal et ordonne, lorsqu’elle en reçoit l’ordre, la mise en route du moteur

bloc d1d2d3...dn.Lors d'une permutation le dernier chiffre de chaque bloc passe en première position de ce bloc tandis que les n 1 autres chiffres sont décalés d'un cran ‒ vers

Je déclare avoir pris connaissance et accepté la Charte informatique pour l'accès au matériel du Centre de Ressources Informatique et au réseau de l'Université, la Charte des

La carte électronique génère désormais une impulsion à chaque front d’un des deux signaux, qu’il soit montant ou descendant (donc à chaque changement d’état), Δt est le

Ecrire un programme qui permet de saisir une chaine CH alphabétique majuscule et d’aficher si cette chaine est sommet palindrome ou non.. Une chaine est dite palindrome