Commentaborderunproblème1
15
Unestratégiedevérificationestunensembledetestsaccompagnédu
résultatattendupourchacundecestests.
Lestestsd’unestratégiedevérificationdoiventêtreconçusdefaçonà
permettredevérifierle
respectdescontraintes,lavaliditédescalculs,lagestion
descasinvalidesetlimites,etc.
Lastratégiedevérificationdoitêtreécriteavant
ouenmêmetempsquel’algorithmeafind’éviterl’oublidecasparticuliers.
Oneffectuechacundestestsdelastratégieencomparantlesrésultatsobtenus
aveclesrésultats
attendus.Durantlavalidation,s’iladvientquelasolutionne
respectepaslescontraintesde
performanceimposéesouqu’uneerreurs’ysoit
glissée,onreprendalorslaméthodede
résolutiondeproblèmeàpartirdela
deuxièmeétape.Cependant,siuneerreurs’estglisséedans
lecodemaisque
l’algorithmeestvalide,oncorrigel’erreurdanslecodeetonrefaitchacundes
testsdelastratégiedevérification.
1.2Exemple:rendrelamonnaie
Étudionsunproblèmerelativementsimple:«Commentfaireensortequ’une
machinedistribu‐
tricerendelamonnaieenutilisantunnombreminimaldepièces
demonnaie?»
1.2.1Compréhensionduproblème
Àlalecturedel’énoncé,nousconstatonsquecelui‐ciestvagueetincomplet.
Eneffet,latâcheà
accomplirn’estpasprécise;faut‐ilconstruirelemécanismedel’appareilous’agit‐ilsimplement
dedévelopperuneméthodedéterminantles
piècesàremettre?D’autrepart,certaines
informationsessentiellesn’apparaissent
pasdansl’énoncé:lesvaleursnominalesdespièces
aveclesquellesnousdevons
travailler,lenombredepiècesdechaquevaleurànotredisposition
etcequ’ilfaut
fairelorsqu’ilneresteplusdepiècesd’unecertainevaleur.
Clarifionsdoncl’énoncéavantdepasseràl’étapesuivante:«Écrivezun
programmedéterminant
lespiècesdemonnaieàutiliserpourreprésenterun
montantd’argentm expriméencents.Votre
programmedevraminimiserle
nombredepiècesutilisées.Lesvaleursnominalesdisponibles
sont:1cent,5
cents,10cents,25cents,1dollar(100cents)et2dollars(200cents).Supposez
quevousdisposezd’unnombreinfinidepiècesdechaquevaleur.»
Définition:Stratégiedevérification