Avez-vous une question? (216) 97 656 803 hajjriadh@gmail.com
Algorithme

Vecteur d'enregistrements

Un cours complet pour maîtriser Vecteur d'enregistrements.

0 chapitres 0 QCM Accès gratuit

Objectifs

  • Connaitre les enregistrements algorithmiques

Définition d'un vecteur d'enregistrement

Algorithme les enregistrements

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.

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 objets globaux :
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 procédures)

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

Applications

1 Exercice 1

Un médecin enregistre sur ordinateur les fiches de ses Patients. Une fiche a 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.

Voir la 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 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.
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
NomType / NatureRôle
PatientPersonneEnregistrement pour une fiche personne
SaisirProcédureSaisie des champs
AfficherProcédureAffichage des champs
2. Analyses et algorithmes (les procédures)
2.1. Procédure Saisir

2.1.1. Analyse :

Résultat Saisir les champs

Traitement La saisie se fera par des opérations de lecture avec la structure Avec .. Faire sur la variable Patient.

2.1.2. Algorithme :

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 :

Résultat Afficher les champs

Traitement L'affichage se fera par des opérations d'écriture avec la structure Avec .. Faire.

2.2.2. Algorithme :

0) Procédure Afficher (VAL Patient : Personne)
1) Avec Patient Faire
      Ecrire ("Nom : ", nom)
      Ecrire ("Numéro : ", numéro)
      Ecrire ("Téléphone : ", tel)
      Ecrire ("Code assurance : ", code)
   Fin Avec
2) Fin Afficher

2 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 créer_apprenant qui permet de créer un vecteur de N apprenants.
  • Écrire une procédure recherche qui prend en paramètre le vecteur d'apprenant et le code d'un apprenant pour rechercher s'il existe ou pas.
  • Écrire une procédure affiche_feminin qui affiche la liste des apprenants féminins.
Voir la solution proposée
1 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'apprenant
2 Création d'un vecteur de N apprenants
Procédure créer_apprenant(VAR v: Vecteur, VAL 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 Recherche d'un apprenant par code
Procédure recherche(VAL V: Vecteur, VAL n: entier, VAL codeE: chaîne)
Var i: entier
Début
    i ← 1
    Tant que (i <= n) ET (codeE ≠ V[i].code) faire
        i ← i + 1
    Fin tant que
    
    Si codeE = V[i].code alors
        Ecrire('Cet apprenant est dans la case N°: ', i)
    Sinon
        Ecrire('Cet apprenant n\'existe pas')
    Fin si
Fin
4 Afficher la liste des apprenants féminins
Procédure affiche_feminin(VAL V: Vecteur, VAL n: entier)
Var i: entier
Début
    Pour i = 1 à n faire
        Si V[i].sexe = 'F' alors
            Ecrire(V[i].code, " - ", V[i].nom, " ", V[i].prénom, " (Grade: ", V[i].grade, ")")
        Fin si
    Fin pour
Fin