Sie sind auf Seite 1von 4

TS en Bases de données

INSFP de tizi-Ouzou
Mme Aissat
Le type enregistrement
Introduction :

Le type tableau permet de regrouper des éléments de même type ; mais les
données que l’on veut manipuler ne sont pas toujours de même type.
Exemple :
si on veut manipuler les informations des personnes, on aura les données
suivantes :

Le nom : de type chaîne de caractères


Le prénom : de type chaîne de caractères
Année de naissance : de type entier
Situation familiale : de type caractère M pour marié et C pour célibataire.

Ces données peuvent être regroupées dans un type appelé : enregistrement ou


Record.
1- Type Record (Enregistrement)

Un enregistrement est un ensemble de champs de différents types et aux


quels on peut accéder individuellement.

2- Déclaration d’un type record :

Type idf_type_enreg = Record


Chp1 : types_chp1 ;
Chp2 : types_chp2 ;
.
.
ChpN : types_chpN ;
End ;
Var var_enreg : idf_type_enreg ;

Exemple 1
Type personne = Record
Nom : string[20] ;
Prenom : string [15] ;
Annee_nais : integer ;
Nb_enfant : integer ;
End ;
Var employe : Personne ;
Exemple 2:
Donner le type record décrivant un ouvrage sachant qu’il est décris par sa côte,
son titre, nombre de page, edition.

Type ouvrage = Record


Cote : sting [5] ;
Titre : sting[40] ;
Nbpage : integer ;
Edition : string[15] ;
End ;
TS en Bases de données
INSFP de tizi-Ouzou
Mme Aissat

3- Manipulation des variables de type enregistrement


3-1- Accéder à un champ :
Les enregistrements peuvent être manipulés soit globalement, soit champs par champs.
un champ d'une variable de type enregistrement est désigné par le nom de la variable, suivi
d'un point et du nom du champ concerné.

Par exemple:
employe.nom désigne le champ nom de l'enregistrement employe (il s'agit donc d'une
information de type string[20])),

employe.nb_enfant désigne le champ nombre d’enfant de l’enregistrement employe (il


s'agit donc d'une information de type entier),

3-2- Lire un enregistrement :


Pour lire un employe :

Writeln(‘Taper le nom’) ;
Readln(employe.nom) ;
Writeln(‘Taper le prénom’) ;
Readln(employe.prenom) ;
Writeln(‘Taper l’’année de niassance’) ;
Readln(employe.annee_nais) ;
Writeln(‘Taper le nombre d’enfants’) ;
Readln(employe.nb_enfant) ;

Cette séquence d’instruction peut être remplacée et simplifiée en utilisant


l’instruction With :

With employe do
Begin
Writeln(‘Taper le nom’) ;
Readln(nom) ;
Writeln(‘Taper le prénom’) ;
Readln(prenom) ;
Writeln(‘Taper l’’année de niassance’) ;
Readln(annee_nais) ;
Writeln(‘Taper le nombre d’enfants’) ;
Readln(nb_enfant) ;
End ;
Exemple d’enregistrement après la lecture : (exemple d’occurrence) :
{Ait Ali {Ben Brahim
Mourad Samira
1980 1981
2} 1}
3-3- instruction d’affectation :
Var Vempl : Personne ;

On peut affecter des valeurs aux champs :

With Vempl do
TS en Bases de données
INSFP de tizi-Ouzou
Mme Aissat
Begin
Nom := ‘Ben Brahim’ ;
Prénom:=’Samira’;
Année_nais := 1981;
Nb_enfants := 1;
End ;

les variables employe et Vempl pourront être manipulées globalement :


employe := Vempl ;
recopie toutes les valeurs des différents champs de employe dans les champs correspondants
de Vempl. Elle remplace l’écriture :

Vempl.nom := employe.nom
Vempl.prenom := employe.prenom
Vempl.année_nais := employe.année_nais
Vempl.nb_enfants := employe.nb_enfants

3-3- Afficher un enregistrement :

L’affichage d’un enregistrement se fait champs par champs :

With employe do
Begin
Writeln(‘ nom :’,nom) ;
Writeln(‘prénom:’,prenom);
Writeln(‘Année de naissance : ‘, année_nais) ;
Writeln(‘nombre d’enfants : ‘,nb_enfant) ;
End ;

4- Tableau d’enregistrement :
On suppose qu’on veut enregistrer les employés d’une petite entreprise,
soit 5 employés.
On utilise pour ça, un tableau d’employés :
Var T : array [1..5] of employe ;
Chaque element du tableau T[i] représente un employé.
T[i].nom représente le nom du i éme employe ( employe de la case i)
La lecture du tableau :
For i := 1 to 5 do
begin
With t[i] do
Write(‘Nom : ‘) ;Readln(nom) ;
Write(‘prénom : ‘) ;Readln(prenom) ;
Write(‘Année de naissance: ‘) ;Readln(année_nais) ;
Write(‘Nombre d’’enfants: ‘) ;Readln(nb_enfant) ;
End ;
End ;

5- Enregistrements d’enregistrements :
TS en Bases de données
INSFP de tizi-Ouzou
Mme Aissat
Supposons qu’on veut définir une date de naissance dans
l’enregistrement employe sachant que la date est composée du jour, du
mois et de l’année.
Nous pourrions effectuer les déclarations suivantes:
Type date =record
Jour :integer ; (* jour : 1..31*)
Mois :integer ; (* mois : 1..12*)
Annee : integer ;
End ;
Personne = record
Nom :string[20] ;
Prénom :string[15] ;
Date_nais : date ;
End ;
Var E : personne ;

Voici quelques exemples de références à des champs de la variable E:


e.date_nais.annee désigne l'année de naissance de l'enregistrement E (cette
information est de type integer),
e.date_nais désigne la date de naissance de l'enregistrement E (il s'agit cette fois d'une
information de type date)

Exercices :
Exercice1 :

Un magasin de vente souhaite utiliser un logiciel de gestion de ses ventes.


Chaque article disponible dans le magasin est décrit par sa référence ( entier),
par sa dénomination (une chaîne de 10 caractères) , son prix et sa quantité en
stock. L’ensemble des articles est représenté par un tableau.

1- Définir le Type article et le type Tableau d’articles.


2- Ecrire la séquence d’instructions qui permet de lire le tableau,
3- Ecrire la séquence d’instructions qui permet d’afficher le prix
d’un article
4- Ecrire la séquence d’instructions qui permet l’état du stock,
5- Ecrire la séquence d’instructions qui permet d’enregistrer une
entrée en stock
6- Ecrire la séquence d’instructions qui permet d’enregistrer une
sortie du stock

Vous pouvez utiliser un menu déroulant.

Das könnte Ihnen auch gefallen