Conventions en matière de contrôle des paramètres en entrée d'une fonction
Salut,
J'ai une question toute bête mais qui me tracasse un peu.
Lorsqu'on dois contrôler les paramètres en entrée d'une fonction, comment devrais t-on formuler les conditions ?
Pour donner un exemple simple, est-ce que le pseudocode suivant est acceptable ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| FONCTION UneFonction
PARAMETRES
Tab : TABLEAU[1..4] DE ENTIERS; [I/O] // On suppose ici qu'il n'y a pas de fonction qui donne automatiquement la taille de la chaîne
TailleTab : Entier // Donne le nombre de cases dans le tableau
VARIABLES
Compteur, Variable2 : Entier
RETOUR Booléen
DEBUT
// On sais d'avance que le tableau ne dois pas contenir plus de 4 cases
SI( UnNombre < 0 ET UnNombre > 4 )
RETOURNER FAUX;
// Traitements portant sur un paramètre
TANT QUE ( Compteur < UnNombre )
Tab[ Compteur ] += UnNombre;
Compteur++;
FIN TANT QUE
RETOURNER Vrai;
FIN |
Ou vaudrais t-il mieux contrôler le paramètre ainsi ? Certains me dirons que c'est chou vert et vert choix...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| FONCTION UneFonction
PARAMETRES
Tab : TABLEAU[1..4] DE ENTIERS; [I/O] // On suppose ici qu'il n'y a pas de fonction qui donne automatiquement la taille de la chaîne
TailleTab : Entier // Donne le nombre de cases dans le tableau
VARIABLES
Compteur, Variable2 : Entier
RETOUR Booléen
DEBUT
// L'indice est bon
SI( UnNombre >= 0 ET UnNombre <= 4 )
TANT QUE ( Compteur < UnNombre )
Tab[ Compteur ] += UnNombre;
Compteur++;
FIN TANT QUE
RETOURNER Vrai;
FIN SI
RETOURNER Faux;
FIN |
Ou est-ce que cela dépends du contexte finalement ?
Je posterais un algorithme complet où la question a été soulevée. C'était dans le contexte d'un examen et la première approche m'a évité de tout réécrire.