Vous êtes sur la page 1sur 2

Institut Supérieur des études

Technologiques de Sfax
Devoir de Synthèse
Département : Technologies de l’Informatique Date : Janvier 2019
Section : LMD-L1 Semestre1 Documents : Non autorisés
Matière : ALGORITHMIQUE & PROGRAMMATION I Durée : 1H 30'
Nb pages : 2
Enseignants : ABID S., ELLOUZE S., FRIKHA N. et ZRIBI L.
Exercice (7.5 points = 2.5 + 5)
Le code d’un produit dans une société est composé de 10 caractères alphanumériques dont les
deux premiers caractères sont alphabétiques, les cinq suivants sont numériques et les trois
derniers forment un code de contrôle de tous les précédents. Ce code de contrôle est égal au reste
de la division entière de la somme des codes ascii des deux premiers caractères et du nombre
correspondant aux cinq chiffres suivants par 1000.
Exemple :
Code='CX21438593' Le code de contrôle 593 = reste de la division entière de la somme
suivante : (67+88+21438) par 1000.

Code ascii de 'C' Code ascii de 'X'


Pour vérifier si un code d’un produit donné est correct (conforme à la description ci-dessus), on
vous demande d’écrire :
1. Une fonction Val admettant en paramètre une chaîne numérique Ch et ayant comme résultat
le nombre correspondant.
Exemple : pour Ch='21438' le résultat de la fonction doit être l’entier 21438.
2. Un algorithme VérifCode qui permet de saisir une chaîne de caractères de taille 10
représentant le code d’un produit et de vérifier s’il est correct ou non.
Problème (12.5 points = 2 + 1.5 + 4 + 2 + 3)
A l’occasion de la période des soldes, la société des vêtements SHF (Société d’Habits de la
Famille) désire automatiser ses opérations de vente. La société compte aux alentours de 100
articles en vente.
Pour gérer son stock et ses ventes, la société vous propose les structures de données suivantes :
Article = Structure
Code : Chaîne[10]
Des : Chaîne[30] // Désignation d’un article
QteStk : Entier // Quantité en Stock d’un article
PUV : Réel // Prix unitaire de vente
TxRemS : Entier // Taux de remise d’un article soldé (il vaut 0 si l’article ne l’est pas)
PrixS : Réel // Prix unitaire de vente d’un article soldé = PUV*(1-TxRemS/100)
Fin Structure
LigneVente = Structure
Code : Chaîne[10] // Code d’un article vendu
QteV : Réel // Quantité vendue
MtL : Réel // Montant d’une ligne de vente=QteV* PrixS
Fin Structure
Vente = Structure
NumV : Entier // Numéro d’une opération de vente
// Ce champ est un numéro séquentiel ayant comme valeur initiale 1
NbLV : Entier // Nombre de lignes de vente dans une opération de vente

1/2
TLV : Tableau[1..100] de LigneVente
MtTotV : Réel //Montant total d’une opération de vente= MtL
Fin Structure
TabArt = Tableau [1..100] d’Article
TabVente = Tableau [1..1000] de Vente
On dispose des tableaux suivants :
 TA : TabArt // Ce tableau est supposé chargé par les 100 articles vendus par la société SHF
// et actualisé pendant la période des soldes
 TV : TabVente
Chaque opération de vente, réalisée par le magasin, est enregistrée dans le tableau TV, après
avoir calculé son numéro (le numéro de la dernière opération incrémenté de 1) et saisi le nombre
de lignes de vente (NbLV). Le détail de cette opération de vente (Code, QteV et MtL) est
enregistré dans le tableau correspondant (TLV) tout en calculant son montant total.
Travail demandé
En utilisant les structures de données définies précédemment (sans avoir à les reprendre sur vos
copies d’examen), on vous demande d’écrire :
1. Une fonction VerifArt permettant de vérifier l’existence d’un article donné par son code
dans le tableau TA. Cette fonction rend son indice dans TA si le code existe et 0 dans le cas
contraire.
2. Une procédure InfArt qui permet de déterminer la quantité en stock et le prix de vente d’un
article, soldé ou non, sachant son indice dans le tableau TA.
3. Une procédure AjoutVente qui, faisant appel à la fonction et la procédure précédentes,
permet de saisir une nouvelle opération de vente dans le tableau TV contenant déjà NV
opérations. La quantité vendue de chaque article ne doit pas dépasser sa quantité en stock et
doit être y retranchée.
4. Une fonction RevenuVente permettant de calculer le montant total des ventes réalisées par
le magasin de la société.
5. L’algorithme principal GestionVente qui permet d’ajouter autant d’opérations de vente que
l’utilisateur le désire (sans dépasser la capacité du tableau TV) et d’afficher le revenu des
ventes réalisées par la société.

2/2

Vous aimerez peut-être aussi