SlideShare ist ein Scribd-Unternehmen logo
1 von 6
Downloaden Sie, um offline zu lesen
ALGO & PROGRAMMATION                                                            © Enseignant : Mohamed SAYARI



            Chapitre1:    LES ENREGISTREMENTS ET LES FICHIERS
                                  (LES ENREGISTREMENTS)


Rappel
Q: quels sont les types de données en 3ème année ?
R: les types de données standards: les types numériques, le type booléen, le type caractère et chaîne de
caractères.
    Les types utilisateurs: les types énumérés, les types intervalles, les tableaux à une dimension et les
    tableaux à deux dimensions (matrices)
Q: par quoi est caractérisé un tableau ?
R: nom, taille et type

I. INTRODUCTION
Activité 1:
Un établissement scolaire organise les informations concernant ses classes dans une liste identique à la
suivante:
               NUM        CODE          NOM et PRENOM              Observation         Moyen
                 1         G911          GUIZANI Zied                Passable          11.25
                 2         T825        BEN DAHOU Rania                Faible            9.33
                …                                                       ..               …
                …                                                       …                …
                ….                                                      …                …
                30         S932           Fitouri Rochdi             Passable          10.21

On désire écrire un programme permettant la saisie et le traitement de ces listes sachant que chaque classe
comporte au maximum 40 élèves.

TAF a) Donner la structure de données nécessaire pour les objets à utiliser.
   b) Donner une déclaration algorithmique de ces objets.

Réponses
a)
                                        Objet                Type
                                  NUM                 Numérique (entier)
                                  CODE                Alphanumérique
                                  Nom                 Alphabétique
                                  Observation         Alphabétique
                                  Moyen               Numérique (Réel)

  Nous remarquons que la liste comporte des informations numériques, alphabétique et alphanumériques
b)
             Objet                 Type/Nature                          Rôle
        NUM                 Tableau de 40 entiers        Tableau des numéros des élèves
        CODE                Tableau de 40 chaînes        Tableau des codes
        NOM                 Tableau de 40 chaînes        Tableau des noms et prénoms
        OBSERVATION Tableau de 40 chaînes                Tableau des Observations
        MOYEN               Tableau de 40 réels          Tableau des moyens


4ème SI                             LES ENREGISTREMENTS & FICHIERS                                  PAGE 1
ALGO & PROGRAMMATION                                                              © Enseignant : Mohamed SAYARI



Q: Est-t-il possible de regrouper ces variables au sein d'un même tableau ?
R: Non, car un tableau ne peut contenir que des éléments de même type.

 On remarque que les variables simples ou les tableaux ne permettent pas de ranger des données de types
différents.

 Pour résoudre le problème, on dois créer un nouveau TYPE qui permet de regrouper des données de types
différents. Nous allons utiliser un nouvelles structure appelée ENREGISTREMENT ou ARTICLE
(RECORD en PASCAL) pour réaliser cette tâche.


II. DEFINITION ET DECLARATIONS
a) Définition
Un enregistrement est un type de données défini par l'utilisateur et qui permet de regrouper un nombre fini
d'éléments (ou champs) de types éventuellement différents.

Schéma de la structure:

                  Champ1          Champ2            Champ3            Champ4             Champ5
                   Type1           Type2             Type3             Type4              Type5

                                 Une seule entité d'une variable enregistrement

b) Déclaration


                    En algorithmique                                          En PASCAL

                      TDNT
                    TYPE                                    TYPE
  Nom_type= Enregistrement                                     Nom_type = RECORD
           Champ1 : type1                                               Champ1: type1;
           Champ2 : type2                                               Champ2: type2;
           ………………….                                                     …………………. ;
           Champn : typen                                                Champn: typen;
  Fin Nom_type                                                 END;

                            TDO
          Objet            Type/Nature       Rôle           VAR
                                                              Identificateur_objet : Nom_type;
                                         Enregistrement
  Identificateur_objet      Nom_type
                                           pour……




Remarque: les types (type1, type2, …, type n) peuvent être soit standards, soit définis par l'utilisateur.




4ème SI                             LES ENREGISTREMENTS & FICHIERS                                     PAGE 2
ALGO & PROGRAMMATION                                                          © Enseignant : Mohamed SAYARI

c) Activité2
Déclarer en algorithmique et en PASCAL une variable enregistrement représentant un élève sachant qu'un
élève est caractérisé par un nom, un code, un nom et prénom, un moyen et une observation.
Réponse
                   En Algorithmique                                       En PASCAL
                          TDNT
                                                        TYPE
                    TYPE
                                                            ELEVE = RECORD
  ELEVE= Enregistrement                                                NUM: integer;
               NUM : Entier
                                                                       CODE: string [4];
               CODE : Chaîne [4]
                                                                       NOM: string;
               Nom : Chaîne
                                                                       OBSERVATION: string ;
              OBSERVATION: Chaîne
                                                                       MOYEN: Real;
              Moyen : Réel
                                                             END;
  FIN ELEVE
                          TDO
  Objet Type/Nature            Rôle                    VAR
  ELV     ELEVE     Variable enregistrement               ELV: ELEVE ;
                    représentant un élève


d) Activité3
Déclarer en algorithmique et en PASCAL une variable enregistrement appelé DATE qui comporte:
    Le numéro de jour (jj) en utilisant le type JOURS qui est un nouveau type défini par l'utilisateur qui
       énumère les numéros des jours d'un mois de 1 à 31.
    Le mois (mm) en utilisant le type MOIS qui est un nouveau type défini par l'utilisateur et qui énumère
       les 12 mois de l'année (Janvier, février, mars, .., décembre)
    L'année (aa) qui est un entier

              EN ALGORITHMIQUE                                              EN PASCAL
                       TDNT
                       TYPE
                                                       TYPE
  JOURS : 1..31
                                                             JOURS: 1..31;
  MOIS = (Janvier, février, mars, avril, mai, juin,
                                                             MOIS = (Janvier, février, mars, avril, mai, juin,
  juillet, août, septembre, octobre, novembre,
                                                       juillet, août, septembre, octobre, novembre,
  décembre)
                                                       décembre);
  DATE = ENREGISTREMENT
                                                             DATE = RECORD
           jj: jours
                                                                   jj: jours ;
           mm: mois
                                                                   mm : mois ;
           aa: entier
                                                                   aa : integer;
  FIN DATE
                                                             END;
                         TDO
    Objet        Type/Nature          Rôle             VAR
  calendier          DATE    Variable enregistrement
                               représentant une date     Calendrier: DATE ;


III.UTILISATION DES ENREGISTREMENTS
 o Si on veut schématiser une variable V de type simple, on peut la représenter par un carré V 
 o Si on veut schématiser une variable T de type tableau, on peut la représenter par un tableau T 
 o Si on veut schématiser une variable E de type enregistrement, on peut la représenter par:




4ème SI                             LES ENREGISTREMENTS & FICHIERS                                   PAGE 3
ALGO & PROGRAMMATION                                                         © Enseignant : Mohamed SAYARI


                Champ1 
            E   Champ2 
                ………..
                Champ n 
III.1 Affectation
    Pour affecter une valeur à une variable de type: V  5
    Pour affecter une valeur à une case i d'un tableau T : T[i]  5
    Pour affecter des valeurs aux différents champs d'une variable enregistrement:

                           En Algorithmique                   EN PASCAL
                        Variable.champ  valeur         Variable.champ := valeur ;

Activité 4
Reprenons l'enregistrement ELEVE, affectez respectivement les valeurs suivantes:
                              1, "G911", "Guizani Zied", 11.25, "Passable"

                          En Algorithmique                      En PASCAL
                   Emp.num  1                          Emp.num := 1;
                   Emp.code  "G911"                    Emp.code := 'G911';
                   Emp.nom  "Guizani Zied"             Emp.nom := 'Guizani Zied';
                   Emp.moyen  11,25                    Emp.moyen := 11.25;
                   Emp.observation  "Passable"         Emp.observation := 'Passable';

Remarques :
   Il est possible d'affecter une variable enregistrement dans une autre à condition qu'elles aient la même
      structure
              Exemple:
                     Var e1, e2: eleve;
                     e1:= e2; (ou bien e2:=e1;)  tous les champs de la variable enregistrement à affecter
  seront recopiés dans les champs de l'autre.
   Un champ a exactement les mêmes propriétés qu'une variable du même type.
   Le champ d'une variable enregistrement peut être lui-même un enregistrement.

III.2 Lecture
  Pour lire le contenu d'une variable V de type simple  Lire (v)
  Pour lire le contenu d'un tableau T,on utilise une boucle pour lire chaque élément du tableau  Lire(T[i])
  Pour lire le contenu d'une variable de type enregistrement:
                   En Analyse                  En Algorithme                En PASCAL
          Variable.champ = Donnée        Lire (variable.champ)        Readln (variable.champ)

 Exemple:
                   En Analyse               En Algorithme                     En PASCAL
            Emp.Num = Donnée ("NUM=") Ecrire ("NUM=")                     Write ('NUM=');
                                      Lire (Emp.Num)                      Readln (Emp.Num);

III.3 Ecriture
 L'écriture des valeurs de différents champs d'une variable enregistrement se fait:
                           En Analyse et Algorithme                En PASCAL
                      Ecrire (variable.champ)                Write (variable.champ)




4ème SI                           LES ENREGISTREMENTS & FICHIERS                                   PAGE 4
ALGO & PROGRAMMATION                                                                © Enseignant : Mohamed SAYARI

  Exemple:

              En Analyse et en Algorithme                                         En PASCAL

 Ecrire ("NUM=", ELV.NUM)                                    write ('NUM=', ELV.NUM);
 Ecrire ("CODE=", ELV.CODE)                                  write ('CODE=', ELV.CODE);
 Ecrire ("NOM ET PRENOM=", ELV.NOM)                          write ('NOM ET PRENOM=', ELV.NOM);
 Ecrire ("MOYEN=", ELV.MOYEN)                                write (MOYEN=', ELV.MOYEN);
 Ecrire ("OBSERVATION=", ELV.OBSERVATION)                    write ('OBSERVATION=', ELV.OBSERVATION);


   III.4 Structure AVEC .. FAIRE (With .. Do)
Cette structure est utilisée pour éviter l'utilisation répétée des champs et de la notation avec le point
(variable.champ) et pour simplifier l'écriture.

Cette structure s'utilise avec une opération d'affectation, de lecture et d'écriture.
Syntaxe
                    Au niveau de l’analyse et l’algorithme                    En PASCAL
                AVEC variable FAIRE                                     WITH variable DO
                 {actions à faire}                                      BEGIN
                FIN AVEC                                                  {actions à faire ;}
                                                                        END ;

Activité 5
Réécrire les actions suivantes avec le structure AVEC .. FAIRE

              Elv.NUM  30                                         AVEC ELV FAIRE
              Elv.CODE  "S932"                                         NUM  30
              Elv.NOM  "Fitouri Rochdi"                                CODE  "S932"
  Affectation
              Elv.MOYEN  10.21                                         NOM  "FIROURI Rochdi"
              Elv.OBSERVATION  "PASSABLE"                              MOYEN  10.21
                                                                        OBSERVATION  "PASSABLE"
  Lecture        Ecrire ("NUM =")                                  Ecrire ("NUM= ")
                 Lire (ELV.NUM)                                    Lire (NUM)
  Ecriture       Ecrire ("MOYEN= ", Elv.MOYEN)                     Ecrire ("MOYEN=", Elv.MOYEN)
                                                                   FIN AVEC


Activité 6 (Activité 8 page 19)

  III.5 Vecteur d’enregistrements
Activité 7
Reprenons l’activité 4 concernant une fiche d’un élève contenant son numéro, son code, son nom et prénom,
son moyen et son observation.
Nous désirons utiliser cet enregistrement pour tous les employés de la société.

Question : est ce qu’on peut utiliser un tableau d’enregistrements ?
Réponse : oui, car un vecteur ne peut contenir que des éléments de même type y compris le type
enregistrement.




 4ème SI                              LES ENREGISTREMENTS & FICHIERS                                    PAGE 5
ALGO & PROGRAMMATION                                                          © Enseignant : Mohamed SAYARI

Activité 7
On se propose d’écrire un programme modulaire qui permet de saisir N élèves (5≤ N ≤40), dans un tableau T,
affiche le moyen de la classe et le pourcentage de réussite.
Un élève est caractérisé par un numéro, un code (chaîne de 4 caractères au maximum), un nom et prénom, un
moyen et une observation (10 caractères au maximum).

Analyse du programme principal :
Résultat= Ecrire (″le pourcentage de réussite est : ″, FN pourcentage(t,n))
Ecrire (″le moyen de la classe est : ″, FN calcul (T, n))
T= proc remplir (T, n)
N= proc saisir (n)



                                                TDNT
                                               TYPE
                                     ELEVE= Enregistrement
                                              NUM : Entier
                                              CODE : Chaîne
                                              Nom : Chaîne
                                             observation: Chaîne
                                             Moyen : Réel
                                     FIN ELEVE

                                     TAB = Tableau de 100 ELEVE

                                                     TDO
            Objet      Type /Nature                                 Rôle
              T             TAB           Tableau d’enregistrements pour les fiches des employés




4ème SI                             LES ENREGISTREMENTS & FICHIERS                                 PAGE 6

Weitere ähnliche Inhalte

Was ist angesagt?

Serie algos approximationx
Serie algos approximationxSerie algos approximationx
Serie algos approximationx
mohamed_SAYARI
 
Les algorithmes d’approximation
Les algorithmes d’approximationLes algorithmes d’approximation
Les algorithmes d’approximation
Wael Ismail
 
Sujets de preparation bac tp (sayari)
Sujets de preparation bac tp (sayari)Sujets de preparation bac tp (sayari)
Sujets de preparation bac tp (sayari)
mohamed_SAYARI
 
Projet de programmation la conversion entre les bases
Projet de programmation   la conversion entre les bases Projet de programmation   la conversion entre les bases
Projet de programmation la conversion entre les bases
Tunisie collège
 
éNoncés+corrections bac2009
éNoncés+corrections bac2009éNoncés+corrections bac2009
éNoncés+corrections bac2009
Morom Bil Morom
 

Was ist angesagt? (20)

Cours Algorithme: Matrice
Cours Algorithme: MatriceCours Algorithme: Matrice
Cours Algorithme: Matrice
 
Serie algos approximationx
Serie algos approximationxSerie algos approximationx
Serie algos approximationx
 
Les algorithmes d’approximation
Les algorithmes d’approximationLes algorithmes d’approximation
Les algorithmes d’approximation
 
Exercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombresExercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombres
 
Fiche1 ex-sous-programme
Fiche1 ex-sous-programmeFiche1 ex-sous-programme
Fiche1 ex-sous-programme
 
Chapitre5 les chaînes de caractères - Copy.pptx
Chapitre5 les chaînes de caractères - Copy.pptxChapitre5 les chaînes de caractères - Copy.pptx
Chapitre5 les chaînes de caractères - Copy.pptx
 
Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)
 
Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018
 
Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018
 
Algorithmes de tri
Algorithmes de triAlgorithmes de tri
Algorithmes de tri
 
Correction
CorrectionCorrection
Correction
 
Les structures de données.pptx
Les structures de données.pptxLes structures de données.pptx
Les structures de données.pptx
 
02 correction-td smi-s3-algo2
02 correction-td smi-s3-algo202 correction-td smi-s3-algo2
02 correction-td smi-s3-algo2
 
Exercices pascal tous les chapitres
Exercices pascal tous les chapitresExercices pascal tous les chapitres
Exercices pascal tous les chapitres
 
Serie2
Serie2Serie2
Serie2
 
Sujets de preparation bac tp (sayari)
Sujets de preparation bac tp (sayari)Sujets de preparation bac tp (sayari)
Sujets de preparation bac tp (sayari)
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdf
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdf
 
Projet de programmation la conversion entre les bases
Projet de programmation   la conversion entre les bases Projet de programmation   la conversion entre les bases
Projet de programmation la conversion entre les bases
 
éNoncés+corrections bac2009
éNoncés+corrections bac2009éNoncés+corrections bac2009
éNoncés+corrections bac2009
 

Andere mochten auch

Résumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrementRésumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrement
borhen boukthir
 
Les algorithmes avancés
Les algorithmes avancésLes algorithmes avancés
Les algorithmes avancés
mohamed_SAYARI
 
Se préparer au BAC TP
Se préparer au BAC TPSe préparer au BAC TP
Se préparer au BAC TP
mohamed_SAYARI
 

Andere mochten auch (16)

Résumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrementRésumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrement
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)
 
Série sous programmes (bac scientifique)
Série sous programmes (bac scientifique)Série sous programmes (bac scientifique)
Série sous programmes (bac scientifique)
 
Les algorithmes avancés
Les algorithmes avancésLes algorithmes avancés
Les algorithmes avancés
 
bac info : série récursivité
bac info : série récursivitébac info : série récursivité
bac info : série récursivité
 
DCT1 4SI
DCT1  4SIDCT1  4SI
DCT1 4SI
 
Corrigés exercices langage C
Corrigés exercices langage CCorrigés exercices langage C
Corrigés exercices langage C
 
Se préparer au BAC TP
Se préparer au BAC TPSe préparer au BAC TP
Se préparer au BAC TP
 
Bac info 2000-2015 (Tunisie)
Bac info 2000-2015 (Tunisie)Bac info 2000-2015 (Tunisie)
Bac info 2000-2015 (Tunisie)
 
Le rôle de la diffusion hertzienne
Le rôle de la diffusion hertzienneLe rôle de la diffusion hertzienne
Le rôle de la diffusion hertzienne
 
SerieBoucle pour
SerieBoucle pourSerieBoucle pour
SerieBoucle pour
 
Les Structures de données
Les Structures de donnéesLes Structures de données
Les Structures de données
 
Informatiques bac scientifiques
Informatiques bac scientifiquesInformatiques bac scientifiques
Informatiques bac scientifiques
 
Fiche3 ex-sous-programme
Fiche3 ex-sous-programmeFiche3 ex-sous-programme
Fiche3 ex-sous-programme
 
Résumer arithmétique
Résumer arithmétiqueRésumer arithmétique
Résumer arithmétique
 
Sujet bac info 2012 g1, g2 et g3 avec correction
Sujet bac info 2012 g1, g2 et g3 avec correctionSujet bac info 2012 g1, g2 et g3 avec correction
Sujet bac info 2012 g1, g2 et g3 avec correction
 

Ähnlich wie Les enregistrements (10)

139
139139
139
 
Les enregistrements
Les enregistrementsLes enregistrements
Les enregistrements
 
Cours enregistrement baccalauréat informatique
Cours enregistrement baccalauréat informatiqueCours enregistrement baccalauréat informatique
Cours enregistrement baccalauréat informatique
 
4sci ap(2)
4sci ap(2)4sci ap(2)
4sci ap(2)
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Ch1 _ les enregistrements.pdf
Ch1 _ les enregistrements.pdfCh1 _ les enregistrements.pdf
Ch1 _ les enregistrements.pdf
 
Les structures en c++
Les structures en c++Les structures en c++
Les structures en c++
 
Les structures en c++ (1)
Les structures en c++ (1)Les structures en c++ (1)
Les structures en c++ (1)
 
Les bases du langage java
Les bases du langage javaLes bases du langage java
Les bases du langage java
 
Le passage du diagramme de classe vers le model objet relationnel
Le passage du diagramme de classe vers le model objet relationnelLe passage du diagramme de classe vers le model objet relationnel
Le passage du diagramme de classe vers le model objet relationnel
 

Les enregistrements

  • 1. ALGO & PROGRAMMATION © Enseignant : Mohamed SAYARI Chapitre1: LES ENREGISTREMENTS ET LES FICHIERS (LES ENREGISTREMENTS) Rappel Q: quels sont les types de données en 3ème année ? R: les types de données standards: les types numériques, le type booléen, le type caractère et chaîne de caractères. Les types utilisateurs: les types énumérés, les types intervalles, les tableaux à une dimension et les tableaux à deux dimensions (matrices) Q: par quoi est caractérisé un tableau ? R: nom, taille et type I. INTRODUCTION Activité 1: Un établissement scolaire organise les informations concernant ses classes dans une liste identique à la suivante: NUM CODE NOM et PRENOM Observation Moyen 1 G911 GUIZANI Zied Passable 11.25 2 T825 BEN DAHOU Rania Faible 9.33 … .. … … … … …. … … 30 S932 Fitouri Rochdi Passable 10.21 On désire écrire un programme permettant la saisie et le traitement de ces listes sachant que chaque classe comporte au maximum 40 élèves. TAF a) Donner la structure de données nécessaire pour les objets à utiliser. b) Donner une déclaration algorithmique de ces objets. Réponses a) Objet Type NUM Numérique (entier) CODE Alphanumérique Nom Alphabétique Observation Alphabétique Moyen Numérique (Réel) Nous remarquons que la liste comporte des informations numériques, alphabétique et alphanumériques b) Objet Type/Nature Rôle NUM Tableau de 40 entiers Tableau des numéros des élèves CODE Tableau de 40 chaînes Tableau des codes NOM Tableau de 40 chaînes Tableau des noms et prénoms OBSERVATION Tableau de 40 chaînes Tableau des Observations MOYEN Tableau de 40 réels Tableau des moyens 4ème SI LES ENREGISTREMENTS & FICHIERS PAGE 1
  • 2. ALGO & PROGRAMMATION © Enseignant : Mohamed SAYARI Q: Est-t-il possible de regrouper ces variables au sein d'un même tableau ? R: Non, car un tableau ne peut contenir que des éléments de même type.  On remarque que les variables simples ou les tableaux ne permettent pas de ranger des données de types différents.  Pour résoudre le problème, on dois créer un nouveau TYPE qui permet de regrouper des données de types différents. Nous allons utiliser un nouvelles structure appelée ENREGISTREMENT ou ARTICLE (RECORD en PASCAL) pour réaliser cette tâche. II. DEFINITION ET DECLARATIONS a) Définition Un enregistrement est un type de données défini par l'utilisateur et qui permet de regrouper un nombre fini d'éléments (ou champs) de types éventuellement différents. Schéma de la structure: Champ1 Champ2 Champ3 Champ4 Champ5 Type1 Type2 Type3 Type4 Type5 Une seule entité d'une variable enregistrement b) Déclaration En algorithmique En PASCAL TDNT TYPE TYPE Nom_type= Enregistrement Nom_type = RECORD Champ1 : type1 Champ1: type1; Champ2 : type2 Champ2: type2; …………………. …………………. ; Champn : typen Champn: typen; Fin Nom_type END; TDO Objet Type/Nature Rôle VAR Identificateur_objet : Nom_type; Enregistrement Identificateur_objet Nom_type pour…… Remarque: les types (type1, type2, …, type n) peuvent être soit standards, soit définis par l'utilisateur. 4ème SI LES ENREGISTREMENTS & FICHIERS PAGE 2
  • 3. ALGO & PROGRAMMATION © Enseignant : Mohamed SAYARI c) Activité2 Déclarer en algorithmique et en PASCAL une variable enregistrement représentant un élève sachant qu'un élève est caractérisé par un nom, un code, un nom et prénom, un moyen et une observation. Réponse En Algorithmique En PASCAL TDNT TYPE TYPE ELEVE = RECORD ELEVE= Enregistrement NUM: integer; NUM : Entier CODE: string [4]; CODE : Chaîne [4] NOM: string; Nom : Chaîne OBSERVATION: string ; OBSERVATION: Chaîne MOYEN: Real; Moyen : Réel END; FIN ELEVE TDO Objet Type/Nature Rôle VAR ELV ELEVE Variable enregistrement ELV: ELEVE ; représentant un élève d) Activité3 Déclarer en algorithmique et en PASCAL une variable enregistrement appelé DATE qui comporte:  Le numéro de jour (jj) en utilisant le type JOURS qui est un nouveau type défini par l'utilisateur qui énumère les numéros des jours d'un mois de 1 à 31.  Le mois (mm) en utilisant le type MOIS qui est un nouveau type défini par l'utilisateur et qui énumère les 12 mois de l'année (Janvier, février, mars, .., décembre)  L'année (aa) qui est un entier EN ALGORITHMIQUE EN PASCAL TDNT TYPE TYPE JOURS : 1..31 JOURS: 1..31; MOIS = (Janvier, février, mars, avril, mai, juin, MOIS = (Janvier, février, mars, avril, mai, juin, juillet, août, septembre, octobre, novembre, juillet, août, septembre, octobre, novembre, décembre) décembre); DATE = ENREGISTREMENT DATE = RECORD jj: jours jj: jours ; mm: mois mm : mois ; aa: entier aa : integer; FIN DATE END; TDO Objet Type/Nature Rôle VAR calendier DATE Variable enregistrement représentant une date Calendrier: DATE ; III.UTILISATION DES ENREGISTREMENTS o Si on veut schématiser une variable V de type simple, on peut la représenter par un carré V  o Si on veut schématiser une variable T de type tableau, on peut la représenter par un tableau T  o Si on veut schématiser une variable E de type enregistrement, on peut la représenter par: 4ème SI LES ENREGISTREMENTS & FICHIERS PAGE 3
  • 4. ALGO & PROGRAMMATION © Enseignant : Mohamed SAYARI Champ1  E Champ2  ……….. Champ n  III.1 Affectation  Pour affecter une valeur à une variable de type: V  5  Pour affecter une valeur à une case i d'un tableau T : T[i]  5  Pour affecter des valeurs aux différents champs d'une variable enregistrement: En Algorithmique EN PASCAL Variable.champ  valeur Variable.champ := valeur ; Activité 4 Reprenons l'enregistrement ELEVE, affectez respectivement les valeurs suivantes: 1, "G911", "Guizani Zied", 11.25, "Passable" En Algorithmique En PASCAL Emp.num  1 Emp.num := 1; Emp.code  "G911" Emp.code := 'G911'; Emp.nom  "Guizani Zied" Emp.nom := 'Guizani Zied'; Emp.moyen  11,25 Emp.moyen := 11.25; Emp.observation  "Passable" Emp.observation := 'Passable'; Remarques :  Il est possible d'affecter une variable enregistrement dans une autre à condition qu'elles aient la même structure Exemple: Var e1, e2: eleve; e1:= e2; (ou bien e2:=e1;)  tous les champs de la variable enregistrement à affecter seront recopiés dans les champs de l'autre.  Un champ a exactement les mêmes propriétés qu'une variable du même type.  Le champ d'une variable enregistrement peut être lui-même un enregistrement. III.2 Lecture  Pour lire le contenu d'une variable V de type simple  Lire (v)  Pour lire le contenu d'un tableau T,on utilise une boucle pour lire chaque élément du tableau  Lire(T[i])  Pour lire le contenu d'une variable de type enregistrement: En Analyse En Algorithme En PASCAL Variable.champ = Donnée Lire (variable.champ) Readln (variable.champ) Exemple: En Analyse En Algorithme En PASCAL Emp.Num = Donnée ("NUM=") Ecrire ("NUM=") Write ('NUM='); Lire (Emp.Num) Readln (Emp.Num); III.3 Ecriture L'écriture des valeurs de différents champs d'une variable enregistrement se fait: En Analyse et Algorithme En PASCAL Ecrire (variable.champ) Write (variable.champ) 4ème SI LES ENREGISTREMENTS & FICHIERS PAGE 4
  • 5. ALGO & PROGRAMMATION © Enseignant : Mohamed SAYARI Exemple: En Analyse et en Algorithme En PASCAL Ecrire ("NUM=", ELV.NUM) write ('NUM=', ELV.NUM); Ecrire ("CODE=", ELV.CODE) write ('CODE=', ELV.CODE); Ecrire ("NOM ET PRENOM=", ELV.NOM) write ('NOM ET PRENOM=', ELV.NOM); Ecrire ("MOYEN=", ELV.MOYEN) write (MOYEN=', ELV.MOYEN); Ecrire ("OBSERVATION=", ELV.OBSERVATION) write ('OBSERVATION=', ELV.OBSERVATION); III.4 Structure AVEC .. FAIRE (With .. Do) Cette structure est utilisée pour éviter l'utilisation répétée des champs et de la notation avec le point (variable.champ) et pour simplifier l'écriture. Cette structure s'utilise avec une opération d'affectation, de lecture et d'écriture. Syntaxe Au niveau de l’analyse et l’algorithme En PASCAL AVEC variable FAIRE WITH variable DO {actions à faire} BEGIN FIN AVEC {actions à faire ;} END ; Activité 5 Réécrire les actions suivantes avec le structure AVEC .. FAIRE Elv.NUM  30 AVEC ELV FAIRE Elv.CODE  "S932" NUM  30 Elv.NOM  "Fitouri Rochdi" CODE  "S932" Affectation Elv.MOYEN  10.21 NOM  "FIROURI Rochdi" Elv.OBSERVATION  "PASSABLE" MOYEN  10.21 OBSERVATION  "PASSABLE" Lecture Ecrire ("NUM =") Ecrire ("NUM= ") Lire (ELV.NUM) Lire (NUM) Ecriture Ecrire ("MOYEN= ", Elv.MOYEN) Ecrire ("MOYEN=", Elv.MOYEN) FIN AVEC Activité 6 (Activité 8 page 19) III.5 Vecteur d’enregistrements Activité 7 Reprenons l’activité 4 concernant une fiche d’un élève contenant son numéro, son code, son nom et prénom, son moyen et son observation. Nous désirons utiliser cet enregistrement pour tous les employés de la société. Question : est ce qu’on peut utiliser un tableau d’enregistrements ? Réponse : oui, car un vecteur ne peut contenir que des éléments de même type y compris le type enregistrement. 4ème SI LES ENREGISTREMENTS & FICHIERS PAGE 5
  • 6. ALGO & PROGRAMMATION © Enseignant : Mohamed SAYARI Activité 7 On se propose d’écrire un programme modulaire qui permet de saisir N élèves (5≤ N ≤40), dans un tableau T, affiche le moyen de la classe et le pourcentage de réussite. Un élève est caractérisé par un numéro, un code (chaîne de 4 caractères au maximum), un nom et prénom, un moyen et une observation (10 caractères au maximum). Analyse du programme principal : Résultat= Ecrire (″le pourcentage de réussite est : ″, FN pourcentage(t,n)) Ecrire (″le moyen de la classe est : ″, FN calcul (T, n)) T= proc remplir (T, n) N= proc saisir (n) TDNT TYPE ELEVE= Enregistrement NUM : Entier CODE : Chaîne Nom : Chaîne observation: Chaîne Moyen : Réel FIN ELEVE TAB = Tableau de 100 ELEVE TDO Objet Type /Nature Rôle T TAB Tableau d’enregistrements pour les fiches des employés 4ème SI LES ENREGISTREMENTS & FICHIERS PAGE 6