Stratégie de conception |
Modulaire descendante. Principe : Découpage d'un problème complexe en un ensemble de
fonctions de base. Exemple : Tri d'un tableau. Classer les éléments par ordre décroissant. |
|
Ø Principe : |
1- On recherche le plus grand élément. |
Ø Deux fonctions de base : |
1- Rechercher le plus grand élément. |
Ø Trois étapes : |
1- Fonction principale. |
1- Fonction principale Modèle structurel Modèle informationnel (dictionnaire des variables) |
|||
Nom |
Type |
Allocation mémoire- Classe |
Commentaire |
Tab |
tableau de nombres |
Registre d'adresse |
Réserver de la place en mémoire |
Index |
entier |
Registre de données |
Index courant |
fin_tab |
entier |
Constante |
Index de fin du tableau |
Modèle comportemental (pseudo code) |
|||
Début |
|
|
|
|
index ß 0 |
|
|
|
tant que ( index <= fin_tab ) |
|
|
|
Faire |
|
|
|
|
Rechercher_max |
|
|
|
Remplacer |
|
|
|
index ß index+1 |
|
|
fintq |
|
|
Fin |
|
|
|
2- Recherche du plus grand élément |
|||||||||
Modèle structurel |
|||||||||
Modèle informationnel (dictionnaire des variables) |
|||||||||
Nom |
Type |
Allocation mémoire. Classe |
Commentaires |
||||||
index_max |
entier |
Registre de données |
|
||||||
max |
nombre |
Registre de données |
variable interne |
||||||
indexi |
entier |
Registre de données |
|||||||
Modèle comportemental (pseudo-code) |
|||||||||
Début |
|
|
|
||||||
|
max ß tab(index) |
||||||||
|
indexi ß index |
||||||||
|
tant que ( indexi <= fin_tab ) |
||||||||
|
faire |
||||||||
|
|
si ( tab(indexi) > max ) |
|||||||
|
|
alors |
|
||||||
|
|
|
index_max ß indexi |
||||||
|
|
|
max ß tab( indexi ) |
||||||
|
|
finsi |
|||||||
|
|
indexi ß indexi+1 |
|||||||
|
fintq |
|
|
||||||
fin |
|
|
|
||||||
3- Remplacement d'un élément par un autre |
|||
Modèle structurel |
|||
Modèle informationnel (dictionnaire des variables) |
|||
Nom |
Type |
Allocation mémoire. Classe |
Commentaires |
tampon |
nombre |
Registre de données |
variable interne |
Modèle comportemental (pseudo-code) |
|||
Debut |
|
|
|
|
tampon ß tab(index) |
||
|
tab(index) ß tab(index_max) |
||
|
tab(index_max) ß tampon |
||
fin |
|
|
|