Unisciel algoprog – dx00cours-texte, September 19, 2016 2
1 Se poser les bonnes questions
Retour `a la case d´epart
Nous avons vu qu’un probl`eme bien sp´ecifi´e s’inscrit dans le sch´ema suivant (cf. @[L’al-
gorithmique]) :
´etant donn´e [les donn´ees] on demande [l’objectif]
Une fois le probl`eme correctement pos´e, on peut partir `a la recherche d’une m´ethode
de r´esolution, c.-`a-d. d’un algorithme en ce qui concerne les probl`emes `a r´esoudre par
les moyens informatiques.
D´emarches algorithmiques de base
Nous avons vu divers mod`eles et techniques algorithmiques adapt´ees `a des structures par-
ticuli`eres (les nombres, les chaˆınes, les tableaux, les variables structur´ees, les fichiers...).
La plupart des exercices portaient directement sur ces structures (par ex. calculer la
somme des nombres d’un tableau, fusionner deux fichiers en un seul, extraire une sous-
liste `a partir d’une liste donn´ee). Ces exercices d’entraˆınement et de formation constituent
des d´emarches algorithmiques de base qui trouvent toutes une place dans des probl`emes
plus complexes.
Probl`emes de la vie courante
Mais la plupart des probl`emes issus des situations de la vie courante auxquels se confronte
le programmeur s’expriment g´en´eralement de mani`ere plus floue : par ex.
•Dresser la comptabilit´e des d´epenses mensuelle d’une entreprise.
•Faire un tableau r´ecapitulatif du r´esultat des ´elections par cantons ´electoraux.
•Faire une version informatique d’un jeu t´el´evis´e...
Les exemples sont infinis.
La repr´esentation des donn´ees
C’est dans le cadre de ce genre de probl`eme plus complexe que se pose le probl`eme de
la repr´esentation de donn´ees. Une fois le probl`eme bien sp´ecifi´e (par les donn´ees et
l’objectif) apparaissent naturellement les questions suivantes :
•Quelles donn´ees du probl`eme sont r´eellement utiles `a sa r´esolution ? (Il est fr´equent
que l’´enonc´e d’un probl`eme contienne des donn´ees superflues ou inutiles.)
•Y a-t-il des donn´ees plus importantes que d’autres ?
•Les donn´ees doivent-elles ˆetre consult´ees plusieurs fois ?
•Quelles donn´ees faut-il conserver en m´emoire ?
•Sous quelle forme ?
•Faut-il utiliser un tableau ? Une liste ?
•Faut-il cr´eer une structure ?
•Les donn´ees doivent-elles ˆetre class´ees selon un crit`ere pr´ecis ?
•Ou la pr´esentation brute des donn´ees suffit-elle pour solutionner le probl`eme pos´e ?