Correction Tableau Enregistrement
Correction Tableau Enregistrement
Correction Tableau Enregistrement
Exercice 1 :
On considère que la fiche d’un étudiant est définie par les informations suivantes : nom,
prénom, age, cin, tel et adresse.
Ecrire un algorithme permettant de remplir un tableau de N étudiants, de rechercher un
étudiant de cin donnée et afficher son nom, prénom et adresse.
Algorithme fiche_etudiant
Constante
NMAX=100
Type
Domicile= Enregistrement
Avenue,ville,pays : chaine [20]
Numero,code_postale : entier
FinEnregistrement
Etudiant=Enregistrement
Nom, prénom : chaine [20]
Age : entier
Cin : entier
Tel : entier
Adresse : Domicile
finEnregistrement
Exercice 2 :
Dans une banque un client est connu par :
-Nom
-Prénom
-Numéro de compte
-Solde
- Date de création du compte
- le nombre de transaction total
Historique : Tableau de transactions (type de transaction, date) (*tableau trié par ordre
croissant selon la date*).
a) Ecrire l’enregistrement client.
b) Écrire un programme permettant :
- Déclarer la variable banque comme étant un tableau de client
- D’entrer les informations de tous les clients de la banque (on considère NC : nombre de
client)
- De faire la somme d’argent totale STA et la moyenne d’argent Moy par client.
- D’afficher les clients de la banque
- De stocker dans un tableau la liste des nouveaux clients dont la date de création du compte
est supérieure à 01/07/2021. Puis, afficher le contenu du tableau.
- D’afficher le nombre total de transaction effectué par la totalité des clients à un mois donné.
Algorithme banque
Type
Transaction= Enregistrement
Fin Enregistrement
Client= Enregistrement
Num_c : entier
Solde : reél
nt : entier
Historique : Tab1
Fin enregistrement
Nouveau_client=tableau[1..NMAX] de Client
Variable
mois,TS,NC, i, j : entier
S : réel
T : Banque
Début
Lire (NC)
Lire (T[i].Historique[1].type_transaction)
Lire (T[i].Historique[j].type_transaction)
Repeter
Ordonne ←Faux
Ordonne ←vrai
Sinon
Si ((T[i].Historique[j-1].date.année= T[i].Historique[j].date.année) alors
Si (T[i].Historique[j-1].date.mois < T[i].Historique[j].date.mois)) Alors
Ordonne ←vrai
Sinon
Si (T[i].Historique[j-1].date.mois = T[i].Historique[j].date.mois) alors
Si (T[i].Historique[j-1].date.jour < T[i].Historique[j].date.jour)) Alors
Ordonne ←vrai
Finsi
Finsi
Finsi
Finsi
Finsi
Fin pour
Fin pour
S←0
S←S+T[i]. Solde
Fin pour
Ecrire (‘‘la somme total du solde des clients est ‘‘, S, ‘‘la moyenne par client est’’, S/NC)
Fin pour
J←0
Sinon
Si ((T[i]. date_creation.année = 2021) alors
Si (T[i]. date_creation.mois >07) Alors
nouv ←vrai
Sinon
Si (T[i]. date_creation.mois = 07) alors
Si (T[i]. date_creation.année.jour >01) Alors
nouv ←vrai
Finsi
Finsi
Finsi
Finsi
Finsi
Si ( nouv = vrai) alors
j←j+1
nouveau_client[j].prenom← T[i].prenom
nouveau_client[j].solde←T[i].solde
nouveau_client[j].num_c←T[i].num_c
Finsi
Fin pour
Fin pour
(*** Afficher le nombre total de transaction effectué par la totalité des clients à un mois
donné ***)
Repeter
Lire (mois)
TSß0
Fin pour
Fin pour
Fin
Exercice 3:
Le but de cet exercice est d’écrire un algorithme qui permet de mémoriser dans un tableau les
informations relatives aux 15 joueurs d’une équipe de rugby et de les traiter. Un joueur est
caractérisé par son numéro, nom, prénom, date de naissance, poids et rôle dans l’équipe (Le
numéro 1 est piller gauche, le numéro 2 est talonneur, etc.).
Définir les types joueur et Équipe qui représentent respectivement un joueur et un tableau de
15 joueurs.
Algorithme rugby
Constante Nmax=15
Type
Joueur= enregistrement
Non, prenom : chaine [15]
Date_naiss : date
Poids : reél
Role : chaine [20]
Numéro : entier
Enregistrement
Équipe = tableau [1..Nmax] de joueur
Variable
T : équipe, i,j,Min : entier
Temps : joueur
Début
Fin pour
Repeter
Lire ( numéro )
Jusqu'à (( numéro >0) et (numéro <=Nmax))
i 1
Tant que ((numéro <>T[i]. numéro) et (i≤Nmax)) faire
i i+1
Fin tant que
Écrire (T[i].nom, T[i].prénom, T[i].role, T[i]. numéro, T[i].poids, T[i].Date_naiss.jour,
T[i].Date_naiss.mois, T[i].Date_naiss.année )
max 1
Pour i allant de 2 à Nmax faire
Si ( T[i].poids >T[max].poids) alors
max i
FinSi
Fin pour
Écrire (‘‘Le jours de plus lourds est, ’’, T[max].nom, T[max].prénom, T[max].role,
T[max]. Numéro, T[max]. Poids)
1) Ajouter un article à une liste d’articles triés selon l’ordre croissant de leurs codes.
3) Diminuer ou augmenter la quantité en stock d’un article donné par une quantité
quelconque.
Algorithme gestion_stock
Constante Nmax=100
Type
Produit= enregistrement
code : entier
Nom : chaine[10]
Prix : réel
Quantité : entier
Fin produit
Société= tableau [1..Nmax] de produit
Variable
S : société
I, choix : entier
X : produit
N : entier
Début
N=10
(*saisir les informations de N articles *)
(*trier les articles selon l’ordre croissant de leurs codes *)
Écrire (‘‘menu’’)
Répéter
Répéter
Lire (choix)
Sinon
Si (choix =2) alors
1=1
Tant que ( S.code <>X.code et (i≤n)) faire
I i+1
Fin tant
Si ( S.code =X.code) alors
Ecrire (‘‘article existant’’)
Sinon
Ecrire (‘‘article inexistant ’’)
Finsi
Sinon
Si (choix = 3) alors
Lire (code)
i=1
Tant que ( S[i].code= code et i≤N)
I i+1
Fin tant que
Si (S[i]. code =code) alors
Repeter
Lire (action)
Jusqu'à (action=’O’ ou action=’D’)
Si (action =’O’) alors (*augmenter*)
Repeter
Lire (Q)
Jusqu'à (Q>0)
Sinon
Repeter
Lire (Q)
Jusqu'à ( S[i].code-D≥0) ( *diminution*)
Sinon
Écrire ( ‘‘ code introuvable’’)
Finsi
Finsi
Finsi
Finsi
Jusqu'à (choix =4)
FIN
Exercice 5 :
On s’intéresse à la gestion des véhicules d’un parc auto. Chaque véhicule est caractérisé par
un matricule, une marque, un modèle, une couleur, le nombre de places, une puissance fiscale
et l’état du véhicule, smart ou non, âge. Si le véhicule est smart on rajoute les caractéristiques
suivantes : nombre totale de capteur, nombre de Caméra et de Lidars. Si le véhicule n’est pas
smart, on rajoute le Nombre de Kilomètre Parcouru.
Donner l’enregistrement permettant de décrire un véhicule.
1) Ecrire un algorithme qui permet de :
a) Stocker les informations d’un parc auto regroupent au max 50 véhicules en utilisant les
structures adéquates ;
b) Établir la liste (matricule, marque, modèle, puissance) des véhicules d’une couleur
donnée ;
c) Rechercher le véhicule smart ayant le nombre maximal de capteurs dont au moins 4
Caméras et deux Lidars.
d) Établir l’âge moyen du parc auto des voitures.
Algorithme parc_auto
Constante
Nmax=50
Véhicule= enregistrement
Puissance : réel
Finselon
FinEnregistrement
Variable
T : tab
N ,i : entier
SV : véhicule
Début
Repeter
Lire (n)
Lire (T[i]. Matricule, T[i]. Marque, T[i]. Modèle, T[i]. Couleur, T[i]. Etat, T[i].
Nb_place, T[i]. Age, T[i]. Puissance)
Repeter
Lire(T[i].Type)
Sinon
Finsi
Finpour
Lire (couleur)
Ageß0
Si ( T[i].couleur=couleur )
Finpour
i<-1
Trouve<-faux
Si (T[i].type=’’smart’’) alors
Ind_Cmax<-i
Trouve<-vrai
Finsi
Sinon i<-i+1
Finsi
FinTantQue
sinon
Si (T[i].type=’’smart’’) alors
Ind_Cmax<-i
Finsi
Finsi
FinPour
Ecrire (‘‘le véhicule le plus smart est : ‘‘, T[Ind_Cmax]. Matricule, T[Ind_Cmax].
Marque, T[Ind_Cmax]. Modèle, T[Ind_Cmax]. Puissance, T[Ind_Cmax]. Age,
T[Ind_Cmax]. Capteurs, T[Ind_Cmax]. Caméra, T[Ind_Cmax]. Lidars)
FinSi
Fin