Back

Vecteur d’enregistrements

Vecteur d’enregistrements

  1. Objectifs

    • Connaitre les enregistrements algorithmiques
  2. Définition d’un vecteur d’enregistrement

    • Un tableau ne peut grouper ou contenir que des éléments de même type, et puisque les
      éléments d’un enregistrement sont de même type qui est celui de l’enregistrement, donc on peut utiliser un tableau ou un vecteur d’enregistrements.
    • Algorithme les enregistrements

      Exemple

        Tableau de déclaration des nouveaux types :

          Déclaration de la variable T utilisant les enregistrements des apprenants :

          Type
          Fiches = Enregistrement
          nom, prénom : Chaîne
          sexe : Caractère
          numéro : Entier non signé
          moyenne : Réel
          num_cin : Entier long
          Fin Fiches
          Tab = Tableau de 30 Fiches {tableau d’enregistrements fiches}



        Tableau de déclaration des nouveaux types :

          Objet Type / Nature Rôle
          T Tab Tableau d’enregistrements pour les fiches des élèves



    Cas général

    A. Analyses et algorithme
    1. Analyses et algorithmes (programme principal)
    1.1. Analyse du programme principal
    1.2. Algorithme du programme principal
    1.2.1. Tableau de déclaration des nouveaux types
    1.2.2. Tableau de déclaration des objets globaux
    2. Analyses et algorithmes (les procedures)
    2.1. procédure AAA
    2.1.1. Analyse de la procédure AAA
    2.1.2. Algorithme de la procédure AAA
    2.2. procédure BBB
    2.2.1. Analyse de la procédure BBB
    2.2.2. Algorithme de la procédure BBB
    2.3. procédure CCC
    2.3.1. Analyse de la procédure CCC
    2.3.2. Algorithme de la procédure CCC
    B. Traduction en Pascal
  3. Applications

  4. Exercice: 1
    • Un médecin enregistre sur ordinateur les fiches de ses Patients. Une fiche a la la structure suivante :

        – un nom (chaîne de 30 caractères maximum)
        – un numéro (entier)
        – un numéro de téléphone (10 caractères maximum)
        – un code d’assurance (entier non signé).

      1/ Écrire les analyses, les algorithmes des différents modules d’un programme nommé Fiche,qui permet la saisie et l’affichage de l’enregistrement d’un Patient.
      2/ Traduire ce programme en Pascal

      Solution proposée
      • A. Analyses et algorithme

      • 1. Analyses et algorithmes (programme principal)
        • 1.1. Analyse du programme principal

          • Résultat : Affichage d’une fiche
            – Traitement : – Une fiche peut être représentée par une structure d’enregistrement comportant 4 champs (le nom, le numéro, le numéro de téléphone et le code d’assurance).
            L’affichage des différents champs sera la tâche de la procédure Afficher.
            La saisie des différents champs se fera par la procédure Saisir.
            Fin Analyse
        • 1.2. Algorithme du programme principal

          • 0) Début Fiche
            1) Saisir (Patient)
            2) Afficher (Patient)
            3) Fin Fiche

          1.2.1. Tableau de déclaration des nouveaux types

            Type
            Personne = Enregistrement
            nom : Chaîne de 30 caractères
            numéro :entier
            tel: Chaîne de 10 caractères
            code: Entier non signé
            Fin Personne
          1.2.2. Tableau de déclaration des objets globaux
            Nom Type / Nature Rôle
            Patient Personne Enregistrement pour une fiche personne
            Saisir Procédure Saisie des champs
            Afficher Procédure Affichage des champs
          2. Analyses et algorithmes (les procedures)
          2.1. procédure Saisir
          2.1.1. Analyse de la procédure Saisir
            Résultat : Saisir les champs
            Traitement :
            La saisie des différents champs de l’enregistrement se fera par des opérations de lecture avec
            l’utilisation de la structure Avec .. Faire, sur la variable Patient.
            Patient : représente la variable de l’enregistrement.
            Fin Analyse
          2.1.2. Algorithme de la procédure Saisir
            0) Procédure Saisir (VAR Patient : Personne)
            1) Avec Patient Faire
            Ecrire (“Entrer le nom de la personne : “) ; Lire (nom)
            Ecrire (“Entrer son numéro : “) ; Lire (numéro)
            Ecrire (“Entrer son numéro de téléphone : “) ; Lire (tel)
            Ecrire (“Entrer le code d’assurance : “) ; Lire (code)
            Fin Avec
            2) Fin Saisir
          2.2. procédure Afficher
          2.2.1. Analyse de la procédure Afficher

            Résultat: Afficher les champs

            Traitement :
            L’affichage des différents champs de l’enregistrement se fera par des opérations d’écriture avec l’utilisation de la structure Avec .. Faire, sur la variable Patient.

            Fin Analyse.

          2.2.2. Algorithme de la procédure Afficher
          B. Traduction en Pascal
  5. Exercice: 2
    • constituer une base de données des apprenants. Chaque apprenant est caractérisé par:
      Le code.
      Le nom.
      Le prénom.
      Le grade.
      Le sexe.
      Les apprenants seront stockés dans un vecteur

        Donner une déclaration du type apprenant.
        Écrire une procédure nouveau permet de créer un vecteur de n apprenant.
        Écrire une procédure qui prend en paramètre le vecteur d’apprenant si cet apprenant existe ou pas.
        Écrire une procédure qui affiche la liste des apprenants féminins

      Solution proposée
      1. Donnons la déclaration du type apprenant
        • type apprenant=enregistrement
          code : chaîne
          nom : chaîne
          prénom : chaîne
          grade : chaîne
          sexe : caractère
          fin enregistrement
          vecteur = tableau[1..100] d’enregistrement
      2. Écrivons une procédure qui permet de créer un vecteur de n apprenant.
        • procédure: créer_apprenant(v: vecteur, n: entier)
          début
           pour i=1 à n faire lire(V[i].code)
              lire(V[i].nom)
              lire(V[i].prénom)
              lire(V[i].grade)
              lire(V[i].sexe)
           fin pour
          fin
      3. Écrivons une procédure qui prend en paramètre le vecteur d’apprenant et le CIN d’un apprenant et qui recherche si cet apprenant existe ou pas.
        • procédure: recherche(V: vecteur, n: entier, codeE: chaîne)
          var i: entier
          début
            

          i←1
            tant que i<= et codeE≠V[i].code faire   i←i+1

            fin tant que

            si codeE=V[i].code alors

            écrire(‘Cet apprenant est dans la case N°: ‘,i)

            sinon

            écrire(‘Cet apprenant n’existe pas’)

            fin si

          fin
      4. Écrivons une procédure qui affiche la liste des apprenant féminins.
        • procédure affiche_femini(V: vecteur, n:entier)
          var i: entier
          début
            pour i=1 à n faire
              si V[i].sexe = ‘F’ alors
                écrire(V[i].code)
                écrire(V[i].nom)
                écrire(V[i].prénom)
                écrire(V[i].grade)
              fin si
            fin pour
          fin





Riadh HAJJI

Abonnez vous à notre chaîne YouTube gratuitement