B) Analyse des traitements:
B1) Identifier les relations entre données et résultats:
(introduction éventuelle de
variables auxiliaires)
La
solution
pour le coeur du problème consiste à augmenter
itérativement
la valeur de la pièce soit supérieure à la valeur
minimum.
valPiece
=
valInit + montPlusValue
+ montPlusValue + ... + montPlusValue ; /* avec
valPiece
> valMini */
B2) Les itérations.
1. Détecter s'il y a des itérations.
"augmente de 2
euros chaque premier janvier" ==> modification
répétitive de la donnée initiale (valeur initiale
de la pièce)
2. Détecter le type d'itérative:
La condition est initialisée avant de
débuter l'itérative (valInit)
et on n'est pas sûr d'exécuter au moins une fois le corps
de l'itérative car valInit peut
être supérieure à valMini et
le nombre d'itérations n'est pas connu : plutôt un while 3.
Déterminer la condition de répétition.
(valPiece <= valMini)
4. Déterminer les instructions qui
modifient
la condition de répétition:
valPiece = valPiece + monPlusValue;
5. Déterminer la situation
initiale.
valPiece = valInit ; B3)
Filtrage des données en entrée:
Remarque: Il
s'agit ici de prévoir un traitement pour des valeurs incorrectes
données par l'utilisateur.
Nom
contrainte
Solution
valInit
> 0
Demander itérativement la
valeur tant qu'elle n'est pas correcte (un do...while)