Exercice 6 Les Enregistrements Corrigé
// Définition des types de données
Type TDate = Enregistrement
    Jour : Entier
    Mois : Entier
    Annee : Entier
Fin
Type TAdresse = Enregistrement
    Numero : Entier
    Rue : Chaine[50]
    Ville : Chaine[20]
    Wilaya : Chaine[20]
    Cw : Entier    // Code Wilaya
Fin
Type THabitant = Enregistrement
    Nom : Chaine[20]
    Prenom : Chaine[20]
    Date_naiss : TDate
    Residence : TAdresse
Fin
// Définition de la procédure pour remplir le tableau d'habitants
Procédure RemplirTableau(T : Tableau de THabitant, N : Entier)
    Pour i de 1 à N faire
        Ecrire("Entrer les informations pour l'habitant ", i)
        Ecrire("Nom: ")
        Lire(T[i].Nom)
        
        Ecrire("Prenom: ")
        Lire(T[i].Prenom)
        
        Ecrire("Date de naissance (jour, mois, année): ")
        Lire(T[i].Date_naiss.Jour, T[i].Date_naiss.Mois, T[i].Date_naiss.Annee)
        
        Ecrire("Adresse (Numéro, Rue, Ville, Wilaya, Code Wilaya): ")
        Lire(T[i].Residence.Numero, T[i].Residence.Rue, T[i].Residence.Ville, T[i].Residence.Wilaya, T[i].Residence.Cw)
    FinPour
FinProcédure
// Définition de la procédure pour afficher les adresses des habitants nés avant une année donnée
Procédure AfficherAdressesAnnee(T : Tableau de THabitant, N : Entier, AnneeLimite : Entier)
    Ecrire("Habitants nés avant ", AnneeLimite, ":")
    Pour i de 1 à N faire
        Si T[i].Date_naiss.Annee < AnneeLimite Alors
            Ecrire("Adresse de ", T[i].Nom, " : ", T[i].Residence.Rue, ", ", T[i].Residence.Ville, ", ", T[i].Residence.Wilaya)
        FinSi
    FinPour
FinProcédure
// Définition de la procédure pour afficher les habitants de Zemmouri (Wilaya de Boumerdes)
Procédure AfficherHabitantsZemmouri(T : Tableau de THabitant, N : Entier)
    Ecrire("Habitants de la ville de Zemmouri (Wilaya de Boumerdes) :")
    Pour i de 1 à N faire
        Si (T[i].Residence.Ville = "Zemmouri") et (T[i].Residence.Wilaya = "Boumerdes") Alors
            Ecrire(T[i].Nom, " ", T[i].Prenom, " - Date de naissance: ", T[i].Date_naiss.Jour, "/", T[i].Date_naiss.Mois, "/", T[i].Date_naiss.Annee)
        FinSi
    FinPour
FinProcédure
// Définition de la procédure pour compter les habitants par wilaya
Procédure CompterHabitantsParWilaya(T : Tableau de THabitant, N : Entier)
    Déclarer WilayaCount : Tableau[1..100] de Entier
    Déclarer WilayaNames : Tableau[1..100] de Chaine
    NbWilayas ← 0
    
    Pour i de 1 à N faire
        trouvé ← FAUX
        Pour j de 1 à NbWilayas faire
            Si T[i].Residence.Wilaya = WilayaNames[j] Alors
                WilayaCount[j] ← WilayaCount[j] + 1
                trouvé ← VRAI
            FinSi
        FinPour
        Si non trouvé Alors
            NbWilayas ← NbWilayas + 1
            WilayaNames[NbWilayas] ← T[i].Residence.Wilaya
            WilayaCount[NbWilayas] ← 1
        FinSi
    FinPour
    
    Ecrire("Nombre d'habitants par wilaya:")
    Pour i de 1 à NbWilayas faire
        Ecrire(WilayaNames[i], ": ", WilayaCount[i], " habitants")
    FinPour
FinProcédure
// Programme principal
Début
    Déclarer T : Tableau[1..100] de THabitant
    Déclarer N, AnneeLimite : Entier
    
    Ecrire("Entrer le nombre d'habitants (N ≤ 100) : ")
    Lire(N)
    
    // Appel à la procédure pour remplir le tableau
    Appeler RemplirTableau(T, N)
    
    // Saisie de l'année limite pour afficher les adresses
    Ecrire("Entrer une année limite pour afficher les adresses des habitants nés avant cette année : ")
    Lire(AnneeLimite)
    
    // Afficher les adresses des habitants nés avant l'année limite
    Appeler AfficherAdressesAnnee(T, N, AnneeLimite)
    
    // Afficher les habitants de Zemmouri (Wilaya de Boumerdes)
    Appeler AfficherHabitantsZemmouri(T, N)
    
    // Compter et afficher le nombre d'habitants par wilaya
    Appeler CompterHabitantsParWilaya(T, N)
Fin
- 
            
              mimizola51hasSept. 10, 2024, 6:44 p.m. je cherche le corrigé de l'exercice svp merci beaucoup pour ces exerices 
Ajouter un commentaire
Veuillez vous connecter pour ajouter un commentaire.
 
            
oudevnet
Sept. 10, 2024, 10:16 p.m.
Je suis heureux de pouvoir vous aider avec la correction de cet exercice