Comme il l'a été expliqué dans la partie1, une procédure ne renvoie PAS de valeur.
Voyons tout de suite un exemple:
- Définitions des besoins: nous voulons un programme qui effectue la
somme de deux nombres, et qui AFFICHE cette somme.
- Ecriture du programme en pseudo-code:
| QUOTE |
|
procedure calculeLaSomme() var nombreUn = 5 ; var nombreDeux = 6 ; var somme = 0 ; somme = nombreUn + nombreDeux ; affiche somme ; |
Décortiquons cette procédure :
-La première ligne procedure calculeLaSomme(), elles ont la même fonction que décrit plus haut, c'est à dire donner des paramètres à la procédure.
-La deuxième ligne var nombreUn = 5 et qu'elle a pour valeur 5.
-La troisième ligne var nombreDeux = 6 ; et qu'elle a pour valeur 6.
-La quatrième ligne var somme = 0 ; et qu'elle a pour valeur 0 .
-La cinquième ligne somme = nombreUn + nombreDeux et que le résultat va être affecté à la variable somme qui a maintenant la valeur 11 (he oui 6 + 5 = 11 ).
-La dernière ligne affiche somme est la plus importante !!!Comme je l'ai dit plus haut, c'est grâce à elle que l'on différencie une procédure d'une fonction. En effet les fonctions RETOURNENT une valeur, les procédures la TRAITE
Vous voyez qu'à la place de "retourne somme ;" nous avons écrit affiche somme, je vous laisse deviner à quoi
sert cette instruction .
- Ecriture du programme en JavaScript:
| CODE |
<script language="JavaScript" type="text/javascript"> function calculeLaSomme() { var nombreUn = 5; var nombreDeux = 6; var somme = 0; somme = nombreUn + nombreDeux; document.write (somme); } /**** programme principal ****/ calculeLaSomme(); </script> |
Là, plus besoin de "return somme ;" puisque l'on traite la valeur affectée à "somme" directement.
Donc plus besoin non plus de :
var resultat = calculeLaSomme ;
document.write (resultat) ;
Par contre, pour la faire fonctionner il suffit de l'appeler dans le programme principal comme ceci:
calculeLaSomme() ;
Vous avez pu remarquer que les variables ont été déclarées à l'intérieur de la fonction et de la procédure, on les apelle des variables locales, car elles n'ont d'effet QUE sur la fonction ou sur la procédure. Si on avait voulu utiliser ces variables tout au long de notre
programme il aurait fallu les déclarer en dehors .
C'est à vous de choisir quel type de variable (locale ou globale) vous voulez utiliser, essayez simplement de réfléchir à leur utilité.
Les paramètres :
He oui, rapellez vous, nous en avons parlé dans la partie1, c'est ce que l'on peut mettre entre les parenthèses qui suivent le nom de la fonction ou de la procédure.
C'est une valeur qui peut-être modifiée à l'intérieure de la fonction ou de la procédure, mais qui est définie dans le programme principal.
Il peut y avoir autant de paramètres que l'on souhaite, le tout et de ne pas se mélanger les pinceaux quand il y en a vraiment beucoup
Comme ça doit être un peu flou, voyons tout de suite des exemples, en reprenant notre programme d'addition de deux nombres, mais cette fois ci, le programme va demander à l'utilisateur quels nombres il veut additionner
- La fonction en pseudo-code tout d'abord :
| QUOTE |
|
fonction calculeLaSomme(nombreUn, nombreDeux) var nombreUn = 0 ; var nombreDeux = 0 ; var somme = 0 ; somme = nombreUn + nombreDeux ; retourne somme ; /**** programme principal ****/ var demandeNombreUn = demande à l'utilisateur le premier nombre ; var demandeNombreDeux =demande à l'utilisateur le second nombre ; var resultat = calculeLaSomme(demandeNombreUn, demandeNombreDeux) ; affiche resultat ; |
Ici les variables nombreUn qui va retourner la somme, qui sera ensuite affichée par le programme principal .
- Ecriture du programme en JavaScript:
| CODE |
<script language="JavaScript" type="text/javascript"> function calculeLaSomme(nombreUn, nombreDeux) { var somme = 0; nombreUn = parseFloat(nombreUn); nombreDeux = parseFloat(nombreDeux); somme = nombreUn + nombreDeux; return somme; } /**** programme principal ****/ var demandeNombreUn = prompt ("Entrez le nombre un",''); var demandeNombreDeux = prompt ("Entrez le nombre deux",''); var resultat = calculeLaSomme(demandeNombreUn, demandeNombreDeux); document.write (resultat); </script> |
Quelques petites précisions :
- parseFloat(nombreUn), parseFloat(nombreDeux) en un nombre réel, car la méthode
prompt retourne une chaine de caractère.
Donc si on veux faire une opération mathématique, il faut que ces chaines soient converties en nombres réels grâce à la méthode parseFloat() .
Sachez que si vous utilisez la méthode parseFloat()
vous pourrez effectuer des opérations mathématiques avec des
nombres à virgule, tandis que si vous utilisez la méthode
parseInt() vous ne pourrez effectuer des opérations mathématiques sur des nombres ENTIERS uniquement :!: .
- prompt (\"Entrez le nombre un\",''), prompt (\"Entrez le
nombre deux\",''), permettent d'afficher un boite de dialoque de
demander à l'utilisateur d'entrez une valeur qui peut être de la forme
que l'on désire, mais cette méthode retourne des chaines de caractères
donc si vous voulez utiliser des chiffres vous devrez utiliser les méthodes ci-dessus.
Le premier paramètre (ici: "Entrez le nombre un" ) affiche ce message
sur la boite de dialogue.
Le deuxième paramètre (ici: '') permet de rentrer une valeur par défaut
dans le champ de texte de cette boite de dialogue.
- La procédure en pseudo-code:
| QUOTE |
|
fonction calculeLaSomme(nombreUn, nombreDeux) var nombreUn = 0 ; var nombreDeux = 0 ; var somme = 0 ; somme = nombreUn + nombreDeux ; affiche somme ; /**** programme principal ****/ var demandeNombreUn = demande à l'utilisateur le premier nombre ; var demandeNombreDeux =demande à l'utilisateur le second nombre ; calculeLaSomme ( demandeNombreUn, demandeNombreDeux) ; |
Comme pour la fonction ci dessus, les variables nombreUn qui va afficher la somme.
La procédure sera apellées dans le programme principal comme ceci :
| QUOTE |
|
calculeLaSomme ( demandeNombreUn, demandeNombreDeux) ; |
Ecriture du programme en JavaScript:
| CODE |
<script language="JavaScript" type="text/javascript"> function calculeLaSomme(nombreUn, nombreDeux) { var somme = 0; nombreUn = parseFloat(nombreUn); nombreDeux = parseFloat(nombreDeux); somme = nombreUn + nombreDeux; document.write (somme); } /**** programme principal ****/ var demandeNombreUn = prompt ("Entrez le nombre un",''); var demandeNombreDeux = prompt ("Entrez le nombre deux",''); calculeLaSomme(demandeNombreUn, demandeNombreDeux); </script> |
Et voilà, vous en savez un peu plus maintenant sur les fonctions et les procédures.
Bon courage
img:coupe img:remarque A voir également :
Les notions Javascript de base
- img:coupe
img:remarque Pour toute question à ce sujet veuillez utiliser les salles du forum, merci.