Lycée El Emtiez Foussana Lycée Foussana
2009-2010
ALGORITHME &
PROGRAMMATION Classe : 4ème SI Durée : 2 Heures
Le: 08 – 12 – 2009 Profs : Mr. Cherif Ahmed Mr. Boujelben Ibrahim Mr. Ben Douma Hosni DEVOIR DE SYNTHÈSE N° 1
Exercice 1 (5pts = 0.75 + 2.25 + 1+ 1)
Soit le programme Pascal suivant :
Program Inconnu ; Uses wincrt ; Var
f, g : ……….. ; nb, p, k : ……….. ; ph : String ;
Begin
Assign (f, 'C:\f.txt') ; Assign (g, 'C:\g.txt') ; Reset (f) ;
ReWrite (g) ; nb := 0 ;
While not eof(f) Do Begin
Readln(f) ; nb := nb + 1 ; End ;
Repeat
Write ('Donner la position p :') ; Readln (p) ;
Write ('Donner la position k :') ; Readln (k) ;
Until (p in [1..nb]) and (k in [p..nb]) ;
Reset (f) ; nb := 0 ;
While not eof (f) Do Begin
nb := nb + 1 ;
if (nb >= p) And (nb <= k) then Readln (f)
Else Begin
Readln (f, ph) ; Writeln (g, ph) ; End ;
End ; Close (f) ; Close (g) ; Erase (f) ;
Rename (g, 'C:\f.txt') ; End.
1. Compléter la partie déclarative de ce programme.
2. Donner le rôle de chaque traitement (pris du programme) présenté ci-dessous :
Traitement Rôle While not eof(f) Do
Begin Readln(f) ; nb := nb + 1 ; End ;
Erase (f) ;
Rename (g, 'C:\f.txt') ;
Page 1 sur 4 Nom & Prénom :
N°
Partie I : (8 pts)
http://bac-tunisie.jimdo.com
3. Soit le contenu du fichier f.txt avant l’exécution du programme :
Informatique Réseau Internet
Réseau sans fils Intranet
Déterminer le nouveau contenu du fichier f.txt après l’exécution du programme (avec p=2 et k=4)
4. Déduire le rôle de ce programme.
………
………
………
………
Exercice 2 (3pts)
Ecrire l’algorithme d’une fonction récursive intitulé « Somme » qui permet de calculer pour un ordre n donnée (n >0), la somme approchée de la série définie par :
S = 1 + 1 / (5 * 1 !) + 1 / (25 * 2 !) + ….. + 1 / (5n * n !)
………
………
………
……….
………
……….
………
………..
………
………..
………
………
………
………
Une société de produit laitier décide d’automatiser la gestion de ses produits. On détient pour chaque produit les informations suivantes :
Page 2 sur 4
Partie II : Problème (12
http://bac-tunisie.jimdo.com
Numéro « num » : Numéro unique de l’article
Désignation « design » : Nom de l’article (YAOURT, LAIT ou FROMAGE)
Une matricule « mat » : Remplie automatiquement par une chaîne 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 qui lui-même formée de trois champs : o Jour « j » (1 à 31)
o Mois « m » (1 à 12) o Année « a » (≥2000)
Quantité vendue « qv »
Prix unitaire « pu » Travail demandé :
On désire établir une marche à suivre d’un programme permettant de :
1. Saisir et enregistrer les articles des différents produits dans un fichier ayant pour nom logique "FPROD" et qui correspond à un nom physique
"Produit.dat" qui sera crée sur la racine de l’unité C :
La création du fichier "FPROD" s’arrête à la saisie d’un numéro négatif qui ne sera pas retenue dans le fichier.
2. Afficher le numéro et la date de vente d’un article qui correspond à une matricule donnée. Si aucun article n’est trouvé, afficher un message d’erreur.
3. Organiser le fichier «FPROD » dans un autre fichier « FPROD_ORD » en rangeant au début les données relatives à l’article LAIT puis celles du YAOURT puis celle du FROMAGE.
4. Créer un fichier texte dont la structure est la suivante :
- La 1ére ligne comporte le message "Articles vendus le : " suivit par la date donnée (la date saisie doit respecter la même condition indiquée ci-dessus).
- La 2ème ligne comporte la recette du jour pour la date donné précédée par le message "Recette du jour : "
- La suite du fichier comporte les matricules des articles vendus à la date donnée précédés par le message "Matricules des articles vendus : "
Ainsi, le fichier texte prendra la forme présentée par l’exemple suivant :
Page 3 sur 4 Articles vendus le : 12/03/2009 Recette du jour : 48.000
Matricules des articles vendus : LA6
FR3
http://bac-tunisie.jimdo.com
Page 4 sur 4
N.B : Le programme doit afficher le fichier "FPROD_ORD" et le fichier texte crée.
Questions :
1) Analyser le programme principal ainsi que les différents modules envisagés
2) En déduire l’algorithme du programme principal ainsi que ceux des modules envisagés.
Bon travail