A quoi sert une fonction en programmation ?
#1
A quoi sert une fonction ?
Supposons que le trader fasse une nouvelle transaction. Par exemple s'il achète 42€ pour revendre 40€ un lot de 20 actions. Et bien il nous faut refaire le calcul de benef
.
Ci-dessous je programme ce nouveau calcul et je stocke le résultat dans la variable benef
. Il y a plusieurs choses à voir. La variable est à gauche du signe de l'affectation donc elle reçoit une nouvelle valeur mais elle perd l'ancienne. La variable ayant déjà été déclarée il ne faut pas utiliser le mot réservé var
.
Vous pouvez voir également que c'est un calcul que l'on a déjà fait mais avec des valeurs différentes. A chaque nouvelle transaction du trader il faudra refaire ce même calcul avec les valeurs de la transaction. L'idée c'est de programmer une sorte de "boîte de calcul" à qui on va sous-traiter ce calcul. Ensuite à chaque nouvelle transaction on ré-utilisera cette boîte.

C'est une fonction qui va nous permettre de faire ça. En fait c'est la fonction qui va servir de boîte.

La fonction vous allez la déclarer pour dire ce qu'elle fait. Vous la déclarez qu'une seule fois. Au moment de la déclaration il n'y a aucune instruction qui est exécutée.
Pour la déclarer vous allez vous servir d'un snippet :
- Vous tapez
fun
commefunction
et vous choisissezfunction_with_name
. - Vous tapez
tab
puiscalculerBenef
pour donner un nom à la fonction. Ce nom servira à appeler la fonction pour demander le calcul. - Vous tapez
tab
et vous tapezprixAchat,prixVente,qt
. Là vous indiquez la liste des informations que la fonction prend en entrée. Cette liste je l'appelle la liste des paramètres de déclaration. Vous devez mettre une virgule entre chaque paramètre de déclaration. Certains parlent d'argument. D'ailleurs c'est ce que Sublime Text écrit. - Vous tapez
tab
et vous déclarez une variablecalcul
et vous lui affectez la formule de calcul en vous servant des paramètres de déclaration. - Puis pour terminer vous retournez la valeur de
calcul
au moyen de l'instructionreturn
.
Ensuite vous allez appeler cette fonction autant de fois que vous voulez. Vous lui donnez à chaque fois de nouvelles valeurs en paramètres d'appel.
Ce sont toujours les mêmes instructions qui s'exécutent mais avec des valeurs différentes.
Les paramètres d'appel sont copiés dans les paramètres de déclaration.

#2
Portée de la variable et des paramètres de déclaration.
Ici la variable calcul
est un exemple de variable qui est déclarée dans la fonction. Cette variable n'existe que dans la fonction. On dit qu'elle est locale à la fonction.
Dans le tutoriel sur la variable je vous ai dit qu'une variable avait une portée. Et bien ici la portée de la variable calcul
c'est la fonction.
C'est la même chose pour les paramètres de déclaration qui ne sont visibles que dans la fonction.
#3
J'ai besoin de changer le calcul...
Supposez qu'il y ait des frais à chaque transaction. Ce qui est le cas dans la réalité. Il me suffit de modifier le calcul dans la fonction et la modification sera reportée dans tous les appels que j'ai fait.