Next: Resolution de problèmes en
Up: Introduction
Previous: Notions de base
|
|
= |
|
modèle données + algorithme de calcul |
|
|
- Un programme est fait pour résoudre un problème
en calculant sa solution.
- Les données sont celles d'entrée et de
sortie (ou solution) du problème.
- Les modèles de données sont des abstractions
qui aident dans la formulation des problèmes et de leurs solutions.
- Les calculs sont ceux à réaliser sur les données
d'entrée pour obtenir la solution.
- Un algorithme est une description précise d'une méthode
pour calculer la solution d'un problème.
Les algorithmes
Il peut y avoir plusieurs méthodes pour résoudre un problème.
Vous voulez montrer à un enfant
comment remplir un verre à partir d'une bouteille d'eau.
Méthode 1:
- 1.
- placer le verre près de la bouteille,
- 2.
- enlever le bouchon de la bouteille,
- 3.
- remplir le verre avec l'eau de la bouteille,
- 4.
- reboucher.
Méthode 2:
- 1.
- enlever le bouchon de la bouteille,
- 2.
- amener la bouteille au bord du verre
- 3.
- remplir le verre avec l'eau de la bouteille,
- 4.
- reboucher.
Il faut s'assurer que notre méthode prévoit tous les
cas possibles: que se passe-t-il si la bouteille est déjà
debouchée? (un enfant saura faire, pas une machine.)
Détailler ou Abstraire?
- Détailler: un algorithme doit être
très détaillé et prevoir tous les cas. Ex:
comment tourner le bouchon pour l'enlever,
etc.
- Abstraire: un programme qui n'est pas suffissament abstrait,
c.a.d., qui ne cache pas suffisamment les détails, est illisible et
donc difficile à maintenir (comprendre, modifier).
- Calculs intermédiares: un programme peut
être découpé en sous-calculs appelés procédures ou
fonctions.
Découpage en ``tâches''
- 1.
- Tâche ``enlever le bouchon'':
- (a)
- si le bouchon est enlevé on a fini
- (b)
- si le bouchon est de type ``capsule'', deboucher
en poussant vers le haut avec le pouce,
- (c)
- sinon, si le bouchon est de type ``à vise'',
tourner celui-ci de la gauche vers la droite
jusqu'à ce qu'il soit complètement devisé,
- (d)
- sinon, arrêter, car le bouchon est trop difficile à enlever!
- 2.
- Tâche ``amener la bouteille au bord du verre'': ...
- 3.
- ....
Selon le niveau de ``l'interlocuteur'' on devra détailler
plus ou moins l'algorithme.
Next: Resolution de problèmes en
Up: Introduction
Previous: Notions de base
Maria-Viginia Aponte
2001-11-21