Vous êtes sur la page 1sur 2

Université Saad Dahlab de Blida-1 08 Janvier 2023

Faculté des sciences


Département d’Informatique
Epreuve Finale - Algorithmique1-Semestre 01 Durée (2h)

Exercice 1
Soient T et V deux vecteurs d’entiers de taille n≤100.

1. Écrire une procédure remplirVecteur qui permet de remplir T.


2. Ecrire une fonction CompterDiviseurs qui renvoie le nombre de diviseurs d’un entier.
3. Écrire une fonction remplirVectDiviseurs qui permet de remplir un vecteur V tel que un le ieme
élément V est égale au nombre de diviseurs du ieme élément de T.

T 5 12 30 12 5 5 8 25 V 2 6 6 6 2 2 4 3

4. Écrire une procédure SupprimerOccurence qui modifie T de sorte que toute les occurrences (valeurs
répétées) de chaque valeur de V seront remplacées par la valeur zéro ( on garde seulement la
première occurrence.

T 5 5 30 12 5 12 8 30 T 5 0 30 12 0 0 8 0

5. Écrire une procédure DeplacerZerosADroite qui déplace toutes les valeurs nulles de T à droite du
vecteur.

T 5 0 30 12 0 0 8 0 T 5 30 12 8 0 0 0 0

6. Écrire une procédure trierCroissant (n’impote quelle méthode de tri) qui trie les valeurs de V selon
l’ordre croissant.

T 5 0 30 12 0 0 8 0 T 5 8 12 30 0 0 0 0
7.

8. Écrire une procédure AfficherValDistinct qui affiche dans l’ordre croisant les éléments distincts (non
nuls) de T.
9. En utilisant les sous algorithmes précédant, écrire un algorithme qui lit un vecteur et qui affiche
chacun de ses éléments non nuls distincts (dans l’ordre croissant) ainsi que leurs nombres de
diviseurs.
Exercice N°2
Pour gérer ses vente, Une entreprise c commerciale dispose de deux tableaux : TabCilent de taille N
(0<N<=100) qui contient les informations des clients de l’entreprise et TabFact, un tableau des factures de
taille M (0<M<=1000). On dispose aussi de deux variables NBC (nombre de client dans TabClient) et NBF
(nombre de factures dans TabFact)

a. un client est caractérisé par son code Client (entier), nom du Client (chaine de caractères), wilaya
de residence (chaine de caractères) et Numéro de Téléphone (chaine de caractères).
b. La facture de vente contient les informations suivantes : un numéro de facture, le code du client,
le label du produit vendu, la quantité du produit vendu, le montant de la facture, la sa date
d’édition (jour, mois, et année) ainsi que la mention payée ou non . un client ne peut avoir qu’une
seule facture non payée.

TabClient TabFact

1 1 Ali Blida 0545665465 1 3 21 Stylo 250 2500 3/7/22 1


2 2 Ahmed Alger 0789454445 2 5 1 Cahier9 50 100 21/2/21 1
6
3 8 Aissa Medea 0665768745 3 44 21 Cahier9 300 3000 2/4/22 1
6
4 21 Slim Alger 0555678790 4 4 1 Gomme 100 500 27/3/22 0
5 3 8 Crayon 400 2000 11/1/23 1
6 2 21 Crayon 250 1250 15/8/21 0
7 3 4 Stylo 800 8000 25/6/21 1

Questions :

1. Définir les structures de données nécessaires.


2. Ecrire
a. Une procédure ajouterClient qui permet d’ajouter un client dans TabClient.
b. Une fonction rehercherClientNom qui recherche par nom un client dans
TabClient et renvoie son code Client s’il existe -1 sinon
c. Une procedure ajouterFacture qui permet d’ajouter une facture dans TabFact.
d. Une fonction rehercherClientCode qui recherche par code un client et renvoie
toute ses information.
e. Une fonction quantiteTotaleProduit qui renvoie la quantité totale vendue d’un
produit P.
f. Une procedure afficherCliFactImpayee qui affiche les informations des tous les
clients qui ont une facture impayée
g. Une fonction chiffreDAffaireMois () qui renvoie le montant total des ventes d’un
mois (donné) d’une année donnée.
h. Une fonction chiffreDAffaireClient () qui renvoie le montant total des factures
d’un client donné par son code client.

Vous aimerez peut-être aussi