Annexe 2 : TRACE DE L`ALGORITHME

publicité
1
Exercice n° 47
Description
Public(s)
Savoir(s)
STT Informatique et gestion
1.2 Les domaines d’application
1.2.1 La gestion commerciale
2.3 La conception d’un programme
2.3.2 Les structures de programme
Être capable de :
- Faire la trace d’un algorithme existant et comprendre son objectif
- Analyser un algorithme appliqué à la gestion des approvisionnements
- Modifier un algorithme existant
- Appliquer une méthode d’approvisionnement (quantités fixes-dates variables ou
quantités variables-dates fixes) à la gestion d’un stock
- Trace d’un algorithme
- Analyse de l’algorithme appliqué à la gestion d’approvisionnement
- Modification de l’algorithme : utilisation d’un compteur, d’un total et d’un tableau
avec une structure Pour.
Exonet47.zip
Séverine QUESQUE
Capacité(s)
Activité(s)
Fichier
Auteur(s)
Énoncé
Contexte de travail
L’entreprise DORSBIEN fabrique des landaus pour enfants. Elle achète les coques à un sous-traitant et aménage
l’intérieur du landau grâce à des tissus gais et colorés.
Le développeur d’application a quitté l’entreprise sans documenter ses programmes ! On vous demande donc
d’analyser un de ses algorithmes afin de l’expliquer. Cet algorithme est fourni en annexe 1.
Travail à réaliser
1 – Faites la trace de l’algorithme en utilisant les documents fournis en annexe 2.
Remarque : Deux types d’annexe 2 sont proposés pour suivre l’évolution du contenu des variables (cf correction).
2 – L’affichage des résultats de l’algorithme représente à l’écran un document utilisé par l’entreprise. Précisez
comment on appelle ce document.
3 – Indiquez ce que représentent les variables STS, QTECOM, STF, STI, QTELIV, DISPO et STA . Utilisez vos
réponses pour donner un intitulé à chaque ligne du tableau obtenu à l’écran.
4 – Déterminez quelle méthode d’approvisionnement a été adoptée par l’entreprise. Justifiez votre réponse en
précisant dans quelle instruction vous avez trouvé la solution.
5 – Déterminez le délai de livraison. Justifiez votre réponse.
6 – Modifiez l’algorithme afin que :
-
l’utilisateur puisse saisir le contenu du tableau CONSOM et les valeurs initiales de QTECOM et
STF ;
-
l’algorithme intègre le calcul du nombre de commandes passées ainsi que la quantité totale
commandée au cours des 6 mois.
2
Annexe 1 : ALGORITHME
ACTION …
Déclarations
Constantes
MOIS : tableau (1..6) de chaînes = {"Janvier", "Février", "Mars", "Avril", "Mai", "Juin"}
CONSOM : tableau (1..7) d’entiers = {330, 170, 520, 110, 280, 350, 460}
Variables
STS, QTECOM, STF, I, STI, QTELIV, DISPO, STA : entiers
/* CONSEIL : L’affichage se fait en colonne. On change de colonne à chaque valeur de la variable I */
DÉBUT
STS  200
QTECOM  0
STF  640
POUR I DE 1 À 6 FAIRE
AFFICHER MOIS[I]
STI  STF
AFFICHER STI
SI QTECOM = 1000
ALORS QTELIV  1000
QTECOM  0
SINON QTELIV  0
FINSI
AFFICHER QTELIV
DISPO  STI + QTELIV
STA  STS + CONSOM[I] + CONSOM[I+1]
SI DISPO <= STA
ALORS QTECOM  1000
FINSI
AFFICHER QTECOM
AFFICHER CONSOM[I]
STF  DISPO - CONSOM[I]
AFFICHER STF
FINPOUR
FIN
3
Annexe 2 : TRACE DE L’ALGORITHME
Suivi des valeurs mémorisées
Adresses
Valeurs correspondantes
MOIS[1]
"Janvier"
…
…
MOIS[6]
"Juin"
CONSOM[1]
330
…
…
CONSOM[7]
460
STS
QTECOM
STF
I
MOIS[I]
STI
QTELIV
DISPO
CONSOM[I]
CONSOM[I+1]
STA
RÉSULTATS OBTENUS À L’ÉCRAN
4
Annexe 2 : TRACE DE L’ALGORITHME
Suivi des valeurs mémorisées
MOIS(1)
MOIS(2)
MOIS(3)
MOIS(4)
MOIS(5)
MOIS(6)
STF
MOIS(6)
Janvier
Février
Mars
Avril
Mai
Juin
I
CONSOM(1)
CONSOM(2)
CONSOM(3)
CONSOM(4)
CONSOM(5)
CONSOM(6)
CONSOM(7)
STI
CONSOM(7)
330
170
520
110
280
350
460
QTELIV
STS
DISPO
RÉSULTATS OBTENUS À L’ÉCRAN
QTECOM
STA
5
Correction
Question 1 : TRACE DE L’ALGORITHME (1e version)
Suivi des valeurs mémorisées
Adresses
Valeurs correspondantes
MOIS[1]
"Janvier"
…
…
MOIS[6]
"Juin"
CONSOM[1]
330
…
…
CONSOM[7]
460
STS
200
QTECOM
0 ; 1000 ; 0 ; 1000 ; 0
STF
640 ; 310 ; 310 ; 1140 ; 620 ; 510 ; 230 ; 880
I
1;2;3;4;5;6;7
MOIS[I]
"Janvier" ; "Février" ; "Mars" ; "Avril" ; "Mai" ; "Juin"
STI
640 ; 310 ; 1140 ; 620 ; 510 ; 230
QTELIV
0 ; 1000 ; 0 ; 0 ; 0 ; 1000
DISPO
640 ; 1310 ; 1140 ; 620 ; 510 ; 1230
CONSOM[I]
330 ; 170 ; 520 ; 110 ; 280 ; 350
CONSOM[I+1]
170 ; 520 ; 110 ; 280 ; 350 ; 460
STA
700 ; 890 ; 830 ; 590 ; 830 ; 1040
Remarque pour le professeur : Pour les constantes, on ne note que l’affectation initiale (elle était
mentionnée dans l’annexe fournie). Pour les variables, on note les résultats de tous les accès destructeurs
(affectation) : la nouvelle valeur succède à l’ancienne valeur, les deux valeurs sont séparées par un
point-virgule, l’ancienne valeur est biffée1. Pour les accès non destructeurs, on note la valeur accédée
lorsqu’elle est différente de la dernière valeur notée.
Cette convention s’applique à tous les accès destructeurs, même si la nouvelle valeur est égale à l’ancienne (voir
l’évolution de la variable QTELIV).
1
6
Question 1 : TRACE DE L’ALGORITHME (2e version)
Suivi des valeurs mémorisées
MOIS(1)
MOIS(2)
MOIS(3)
MOIS(4)
MOIS(5)
MOIS(6)
STF
640
310
1140
620
510
230
880
MOIS(6)
Janvier
Février
Mars
Avril
Mai
Juin
CONSOM(1)
CONSOM(2)
CONSOM(3)
CONSOM(4)
CONSOM(5)
CONSOM(6)
CONSOM(7)
I
1
2
3
4
5
6
7
CONSOM(7)
330
170
520
110
280
350
460
STI
640
310
1140
620
510
230
STS
200
QTELIV
0
1000
0
0
0
1000
QTECOM
0
1000
0
1000
0
DISPO
640
1310
1140
620
510
1230
STA
700
890
830
590
830
1040
Question 1 : RÉSULTATS OBTENUS À L’ÉCRAN
Janvier
Février
Mars
Avril
Mai
Juin
640
310
1140
620
510
230
0
1000
0
0
0
1000
1000
0
0
0
1000
0
330
170
520
110
280
350
310
1140
620
510
230
880
Question 2 : Nom du tableau obtenu à l’écran
On obtient un planning d’approvisionnement.
7
Question 3 :
Que désignent STS, QTECOM, STF, STI, QTELIV, DISPO et STA ?

STS : stock de sécurité utilisé par l’entreprise pour faire face à l’imprévu

QTECOM : quantité en commande

STF : stock final (en fin de mois)

STI : stock initial (en début de mois)

QTELIV : quantité livrée (en début de mois)

DISPO : disponibilités pour satisfaire les consommations du mois (= stock initial +
quantité livrée)

STA : stock d’alerte, c’est-à-dire niveau de stock qui déclenche une commande
Intitulés des lignes
Mois
Janvier Février Mars
Avril
Mai
Juin
Stock initial du mois
640
310
1140
620
510
230
Quantité livrée en début de mois
0
1000
0
0
0
1000
Quantité commandée en début de mois
1000
0
0
0
1000
0
Consommation au cours du mois
330
170
520
110
280
350
Stock final du mois
310
1140
620
510
230
880
Question 4 : Méthode d’approvisionnement
L’entreprise prévoit de s’approvisionner à des dates variables mais en quantité fixe : si
les disponibilités (stock initial + livraison) sont inférieures ou égales au stock d’alerte, une
commande de 1 000 produits est passée. Le stock d’alerte est obtenu en additionnant le
stock de sécurité, la consommation du mois en cours et celle du mois suivant.
C’est la structure “ Si ” suivante qui fournit la réponse :
SI DISPO <= STA
ALORS QTECOM  1000
FINSI
8
Question 5 : Délai de livraison
Le délai de livraison est de 1 mois puisqu’on teste dans l’algorithme la quantité
commandée du mois précédent : si elle est égale à 1 000 alors cela indique qu’il y a une
livraison pour le mois en cours (premier test SI).
Question 6 : Modification de l’algorithme

Nombre de commandes et quantité totale commandée
Il faut deux variables supplémentaires :
- une pour le nombre de commandes : NBCOMMANDE
- une pour la quantité totale : QTETOTALE
Le nombre de commandes est obtenu par incrémentation. Il faut donc l’initialiser à zéro
en début de programme.
La quantité totale peut être obtenue par deux moyens différents :
- Soit on exploite le caractère fixe de la quantité commandée (quantité totale =
1 000 * nombre de commandes) : dans ce cas, le calcul se fait en fin de
programme. C’est la solution choisie dans l’algorithme présenté ci-dessous.
- Soit on obtient la quantité totale par cumul des quantités commandées : dans
ce cas, la variable doit être initialisée en début de programme.
Une commande est passée quand QTECOM passe à 1000 : on incrémente alors de 1 le
nombre de commandes passées.
Les modifications faites pour gérer ces deux variables sont présentées en rouge.

Saisie de STF, QTECOM et des consommations
Avant d’afficher le planning d’approvisionnement, il faut saisir les consommations
mensuelles et les stocker dans le tableau CONSOM. Il s’agit de répéter 7 fois la saisie
d’une case du tableau : cette saisie peut donc se faire grâce à une boucle Pour. La
variable utilisée en tant que compteur peut être I ou une autre variable.
Les modifications faites pour gérer ces saisies sont présentées en bleu.
9
ACTION PLANNING D’APPROVISIONNEMENT
Déclarations
Constantes
MOIS : tableau (1..6) de chaînes = {"Janvier", "Février", "Mars", "Avril", "Mai", "Juin"}
Variables
CONSOM : tableau (1..7) d’entiers
STS, QTECOM, STF, I, STI, QTELIV, DISPO, STA, NBCOMMANDE, QTETOTALE : entiers
Début
STS  200
Afficher "Entrer la quantité en cours de commande : "
Saisir QTECOM
Afficher "Entrer le stock final de la période précédente : "
Saisir STF
Pour I de 1 à 7 faire
Afficher "Entrer la consommation prévue pour le mois de ", MOIS[I], " : "
Saisir CONSOM[I]
Finpour
NBCOMMANDE  0
POUR I de 1 à 6 Faire
afficher MOIS[I]
STI  STF
afficher STI
Si QTECOM = 1000
Alors QTELIV  1000
QTECOM  0
Sinon QTELIV  0
FinSi
afficher QTELIV
DISPO  STI + QTELIV
STA  STS + CONSOM[I] + CONSOM[I+1]
Si DISPO < STA
Alors QTECOM  1000
NBCOMMANDE  NBCOMMANDE + 1
FinSi
Afficher QTECOM
afficher CONSOM[I]
STF  DISPO - CONSOM[I]
afficher STF
FinPour
Afficher "Le nombre de commandes passées est de : ", NBCOMMANDE
QTETOTALE  1000 * NBCOMMANDE
Afficher "La quantité totale commandée pour les 6 mois est de : ", QTETOTALE
Fin
Remarque pour le professeur : C’est par souci de simplification que la quantité fixe à commander (1 000)
et le stock de sécurité (STS) n’ont pas fait l’objet d’un paramétrage de constantes.
Téléchargement