• Aucun résultat trouvé

Les Enregistrements. Département des Sciences Techniques. Université Ammar Thelidji Laghouat.

N/A
N/A
Protected

Academic year: 2022

Partager "Les Enregistrements. Département des Sciences Techniques. Université Ammar Thelidji Laghouat."

Copied!
27
0
0

Texte intégral

(1)

Cours N°5 : Cours N°5 :

Les Enregistrements

Département des Sciences Techniques.

Université Ammar Thelidji – Laghouat.

(2)

Sommaire

1. Introduction

2. Définition des enregistrements

3. Manipulation des enregistrements

4. Les enregistrements en PASCAL

5. Exercices

(3)

Introduction

(4)

• Jusqu'à présent, nous n'avons utilisé que :

1. Les types primitifs (entiers, réels, booléens,

Introduction

1. Les types primitifs (entiers, réels, booléens, chaînes de caractères)

2. Les tableaux de types primitifs.

• Il est possible de créer nos propres types, en se basant sur les types existants.

basant sur les types existants.

• Pour définir ce nouveau type on utilise une structure appelée « enregistrements ».

(5)

• Contrairement aux tableaux, les enregistrements peuvent avoir des éléments hétérogènes,

Remarques

peuvent avoir des éléments hétérogènes, c'est-à-dire de types différents .

Les éléments qui composent un enregistrement sont appelés champs.

(6)

L’enregistrement est un type de données

défini par l'utilisateur qui permet de grouper un nombre fini d'éléments de types éventuellement

Définition

nombre fini d'éléments de types éventuellement différents.

Exemple:

Les champs de l’enregistrement

Valeurs

(7)

Déclaration des

enregistrements

enregistrements

(8)

• La déclaration des enregistrements se fait dans une partie des algorithmes appelée Type.

Déclaration

une partie des algorithmes appelée Type.

• Cette partie précède la section des variables.

Nom_Enregistrement = Enregistrement Nom_Champ1 : Type Champ 1 ;

Nom_Champ2 : Type Champ 2 ; Nom_Champ2 : Type Champ 2 ; ...

Nom_ChampN : Type Champ N ; FinEnreg ;

(9)

Exemples de déclaration

Type Personne

Type Date

(10)

• Élaborer un enregistrement pour une voiture, qui contient les champs suivants:

Exercice

qui contient les champs suivants:

Catégorie : soit un caractère A, B, C, D, E ou F.

Poids : valeur numérique en Kg.

Année : la date de première mise en circulation.

Matricule: numéro d'immatriculation.

Matricule: numéro d'immatriculation.

(11)

Solution

TYPE

Voiture = Enregistrement Voiture = Enregistrement

Catégorie : Caractère;

Poids : Réel;

Année : Entier;

Année : Entier;

Matricule : Chaine de caractères[12];

FinEnreg;

(12)

Algorithme Exemple ; Type

Voiture = Enregistrement Catégorie : Caractère;

Poids : Réel;

Poids : Réel;

Année : Entier;

Matricule : Chaine de caractères[12];

FinEnreg;

Variable Variable

V1 : Voiture ;

Début

….

Fin.

(13)

Manipulation des Manipulation des

enregistrements

(14)

• La manipulation d'un enregistrement se fait à travers ses champs.

Manipulation des enregistrements

travers ses champs.

• Comme pour les tableaux, il n'est pas possible de manipuler un enregistrement globalement.

• Par exemple, pour afficher un enregistrement il

• Par exemple, pour afficher un enregistrement il faut afficher tous ses champs un par un.

(15)

• Les champs d'un enregistrement sont accessibles par leur nom, grâce à l'opérateur ‘.’ (un point)

Accès aux champs d'un enregistrement

par leur nom, grâce à l'opérateur ‘.’ (un point)

• Par exemple, pour accéder au matricule de la voiture V1, on utilise l'expression :

V1.Matricule V1.Matricule

• Les champs d'un enregistrement sont utilisés

comme variables : affectation, lecture, affichage,...

(16)

Les enregistrements Les enregistrements

en Pascal

(17)

TYPE

Nom_type = Record

Déclaration d’enregistrement en Pascal

Nom_type = Record

champ_1 : type_1 ; champ_2 : type_2 ;

...

champ_n : type_n ;

End ; End ; VAR

Nom_Variable : Nom_type ;

(18)

PROGRAM Fiche_voiture;

TYPE

Voiture = RECORD

categorie : char; L’enregistrement

categorie : char;

poids : real;

annee : integer;

matricule : String[12];

End;

VAR

V1 : Voiture;

Begin

Voiture

Doit être déclaré

Begin

V1.categorie := ‘B’;

V1.poids := 2500;

V1.annee := 2013;

V1.matricule := ‘25415-113-03’;

End.

Remplir les champs

(19)

• Pour la lecture/écriture, nous utilisons évidement les instructions Read et Write.

Lecture / Ecriture

les instructions Read et Write.

• Exemple :

Read (V1.Categorie ) Read ( V1.Poids )

Write (V1.Categorie ) Write( V1.Poids )

Read ( V1.Poids ) Read ( V1.Annee )

Read ( V1.Matricule )

Write( V1.Poids ) Write( V1.Annee )

Write( V1.Matricule )

(20)

On peut aussi utiliser l'instruction With .. Do pour simplifier les opérations avec les champs.

Instruction With .. Do

Exemple: soit V1 une variable de type Voiture:

With V1 Do

Read (V1.Categorie );

Write(V1.Poids ) ; V1.Annee := 2013;

With V1 Do Begin

Read (Categorie );

Write( Poids ) ; Annee := 2013;

End;

(21)

Tableau Tableau

d'enregistrement

(22)

Il arrive souvent que l’on veuille traiter non pas un seul enregistrement mais plusieurs.

Dans ce cas, on peut créer un tableau d’enregistrement.

Tableau d'enregistrement

Dans ce cas, on peut créer un tableau d’enregistrement.

Supposant: on veut traiter un groupe des personnes, décrits par les informations suivantes:(Nom ,Prénom ,Age).

La structure de donnée est:

( Tableau T des enregistrements Personne ) : ( Tableau T des enregistrements Personne ) :

(23)

Algorithme Groupe;

Tableau d'enregistrement

Program Groupe;

Algorithme Programme Pascal

Algorithme Groupe;

Type

Personne= Enregistrement

Nom, Prénom : chaine de caractères;

Age : entier;

FinEnreg;

Variables

Program Groupe;

Type

Personne= Record

Nom, Prenom : String;

Age : Integer;

End;

Var Variables

T : Tableau [10] Personne;

Début

Fin.

Var

T :Array[1..10] of Personne;

BEGIN

END.

(24)

Exemple1: Modifier le Prénom de la troisième(3) personne du tableau:

Tableau d'enregistrement

personne du tableau:

T[3].Prénom  ‘ Ahmed’

Exemple2: Afficher le Nom et l’Age de tous les personnes:

Pour i 1 à N faire

Écrire ( T[ i ].Nom) ;

Écrire ( T[ i ].Age) ;

FinPour;

(25)

Exercices

(26)

Exercice 1

1. Écrire un algorithme qui permet de lire et afficher l'enregistrement d'un Patient.

2. Traduire cet algorithme en programme Pascal.

(27)

Exercice 2

Réaliser le programme Pascal Fiche_voiture qui utilise l’enregistrement Voiture vue dans le cours.

utilise l’enregistrement Voiture vue dans le cours.

Utiliser un Tableau T[20] pour enregistrer les informations de 20 voitures.

Afficher tous les voitures anciennes selon la conduction suivante:

conduction suivante:

(Année entre 1998 et 2008) et

(Poids < 3500 Kg).

Références

Documents relatifs

This is obtained at the expense of the actual sur- face profile, because, although the theoretical attenuation factor is lmown for some very limit- ing conditions, its application

programme PASCAL -version Windows- (juste après Program) pour permettre d’appeler l’unité ’affichage.. Uses WinCRT;.. Les Commentaires

Modifier le programme de l’exercice 2 pour qu’il pr´esente un menu initial (utiliser l’instruc- tion switch) permettant de : i) Saisir les informations sur le personnel (exercice 2)

Pour créer une zone de recherche inversée secondaire, faites un clic droit sur le conteneur Zones de recherche inversée, puis cliquez sur Nouvelle zone.. Cliquez sur Suivant

Voici notre sélection pour votre soirée télé. Ce soir, vous avez le choix entre deux programmes de qualité. D’abord, sur France 2, à 20 h 40, Prête-moi ta main, une comédie

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

• Une condition est une expression de type logique, elle ne prend que deux valeurs possibles VRAI ou FAUX. Les

• Écrire un programme Pascal qui permet de calculer le nombre de mots dans une chaîne de caractères.