Upload
amindo-trance
View
2.331
Download
0
Embed Size (px)
Citation preview
Page 1 sur 3
LYCEE ELIMTIEZ TOZEUR********
2010/2011 ********
DEVOIR DE SYNTHESE N°01
Matière : Algorithmique & Programmation Théorique
Durée : 2h Classe : 4ème SI
Date : 06/12/2010 Coefficient : 3
Sujet proposé par : Mr B BEYA Hassen
Attention:ü Le sujet comporte trois pages.ü Chaque partie sera faite sur des feuilles indépendantes.ü Rendez une copie propre.
PARTIE I
Exercice 1 (4 pts)
Soient les déclarations suivantes :
TypeClient = Enregistrement
Nom : Chaîne [30]Rib : Entier longSolde : Réel
Fin ClientFClient = Fichier de ClientTClient = Tableau de 100 ClientFReel = Fichier de réel
Objet Type/Nature RôleC Client Enregistrement pour un ClientF FClient Fichier de ClientF1 Texte Fichier texteF2 FReel Fichier de réelsTC TClient Tableau d’enregistrement ClientCh Chaîne Chaîne de caractèrej Entier Compteur
En se basant sur les déclarations précédentes, dire pour chacune des instructions suivantes si elle estcorrecte ou non. Dans le cas où elle ne l’est pas, justifier votre réponse.
a. Lire(F, C)b. Ecrire(F2, ch)c. Pointer(F1, 8)d. Ecrire(F, TC[j])e. Ecrire(F, C.Solde)f. Lire_nl(F2, j)
Voir suite au versoF
Page 2 sur 3
Exercice 2 (4 pts)
Soit l’algorithme de la fonction Inconnu suivante :
0) DEF FN Inconnu (d, n:Entier): ………………………1) Si (d> (n div 2)) Alors
Inconnu ← vraiSinon Si (n mod d ≠ 0) Alors
Inconnu ← FN Inconnu (d+1, n)Sinon
Inconnu ← fauxFin Si
2) Fin Inconnu
Questions
1. Quel type la fonction Inconnu pourra-t-elle avoir ?2. Tourner à la main cette fonction avec les appels suivants en donnant la trace d’exécution de
chaque appel :· Inconnu (2, 7)· Inconnu (2, 25)
3. En déduire le rôle de cette fonction.
PARTIE II
Problème (12 pts)
Une société de produits laitier décide d’automatiser la gestion de ses produits. On détient pour chaquearticle les informations suivantes :
Ø Numéro (Num) : entier désigne le numéro unique de l’article.Ø Désignation (Des) : désigne le nom de l’article qui est une chaîne de 20 caractères au maximum.Ø Une matricule (Mat) : remplie automatiquement par une chaine représentée par les deux
premiers caractères de la désignation et le numéro de l’article.
Exemple :
Pour l’article dont le numéro est 10, la désignation est ‘‘ YAOURT ’’à la matricule sera « YA10 ».
Ø Une date de vente (DV) formée de trois champs :
o Jour (j) : (1 à 31)o Mois (m) : (1 à 12)o Année (a) : entier
Ø Quantité vendue (qv) : entierØ Prix unitaire (pu) : réel
Le programme doit réaliser les traitements suivants :
o Saisir et enregistrer les articles dans un fichier de données nommé « articles.dat », l’ajoutd’articles s’arrête lors de la saisie d’un numéro (Num) ≤ 0, qui ne sera pas retenu dans le fichier.
o Copier les articles saisis du fichier « articles.dat » vers un tableau « Tart ».
o Trier le tableau « Tart » par ordre décroissant des recettes :
Sachant que recettes = (qv*pu).
Page 3 sur 3
o A partir du tableau « Tart » et pour une date donnée valide saisie par l’utilisateur, créer unfichier texte intitulé «Recettes.txt » contenant les informations des articles tel que :
- La 1ère ligne comporte le message « Articles vendus le : » suivie par la date saisie parl’utilisateur.
- La 2ème ligne comporte la recette totale du jour (qv*pu) de tous les articles pour la datedonnée précédée par le message « Recette total du jour : ».
- La 3ème ligne comporte « Matricule des articles vendus » suivie d’un espace suivi de« recette ».
- La suite du fichier comportera, pour chaque article vendue, la matricule suivie d’un espacesuivi de la recette de vente (qv*pu).
o Afficher le contenu du fichier « Recettes.txt ».
N.B : Tous les fichiers seront sauvegardés dans le dossier C:\BAC2011.
Exemple :Contenu du tableau « Tart » (pour 3 articles) après le tri
9 10 4
LAIT YAOURT FROMAGE
LA9 YA10 FR4
06
12
2010
06
12
2010
27
10
2010
200 300 1000
1,00 0,250 0,150
Contenu du fichier « Recettes.txt » si la date saisie est le « 06/12/2010 »
Articles vendus le : 06/12/2010
Recette total du jour : 275
Matricule des articles vendus Recette
LA9 200
YA10 75
Questions
1) Proposer la/les structure(s) de donnée(s) adéquate(s) à utiliser pour la résolution de ceproblème.
2) Analyser ce problème en le décomposant en modules et en déduire l'algorithme du programmeprincipal.
3) Analyser chacun des modules envisagés précédemment.BON TRAVAIL
Tart
1 2 3