5
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:

Le Type Enregistrement en Pascal

  • Upload
    lachir

  • View
    1.349

  • Download
    1

Embed Size (px)

DESCRIPTION

Cours sur les enregistrement en Pascal (principe de base)

Citation preview

Page 1: Le Type Enregistrement en Pascal

TS en Bases de données INSFP de tizi-OuzouMme 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 entierSituation 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 = RecordChp1 : types_chp1 ;

Chp2 : types_chp2 ;..

ChpN : types_chpN ;End ;Var var_enreg : idf_type_enreg ;

Exemple 1Type 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 ;

Page 2: Le Type Enregistrement en Pascal

TS en Bases de données INSFP de tizi-OuzouMme Aissat

3- Manipulation des variables de type enregistrement3-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'uneinformation 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 doBegin

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 :

Page 3: Le Type Enregistrement en Pascal

TS en Bases de données INSFP de tizi-OuzouMme Aissat

With Vempl doBegin 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.nomVempl.prenom := employe.prenomVempl.année_nais := employe.année_naisVempl.nb_enfants := employe.nb_enfants 3-3- Afficher un enregistrement :

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

With employe doBegin 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 dobegin

With t[i] doWrite(‘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 ;

Page 4: Le Type Enregistrement en Pascal

TS en Bases de données INSFP de tizi-OuzouMme Aissat

5- Enregistrements d’enregistrements :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 article4- 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 stock6- Ecrire la séquence d’instructions qui permet d’enregistrer une sortie du stock

Vous pouvez utiliser un menu déroulant.