DEF FN |
Définir une fonction |
---|---|
GWBASIC |
Syntaxe
DEF FNnom(variable)=formule |
Paramètres
Nom | Description |
---|---|
nom | Ce paramètre permet d'indiquer le nom de la fonction |
variable | Ce paramètre permet d'indiquer le nom de la variable utilisé dans la formule |
formule | Ce paramètre permet d'indiquer la formule a employé dans la fonction |
Description
Cette commande permet de définir une fonction.
Remarques
- Dans l'instruction DEF FN, les paramètres servent uniquement à définir la fonction ; elles n'affectent pas les variables de programme portant le même nom. Un nom de variable utilisé dans une définition de fonction peut apparaître ou non dans le paramètre. Si c'est le cas, la valeur du paramètre est fournie lorsque la fonction est appelée. Sinon, la valeur actuelle de la variable est utilisée.
- Les variables dans le paramètre représentent, sur une base un à un, les variables ou valeurs de paramètre devant être données dans l'appel de fonction.
- Les fonctions définies par l'utilisateur peuvent être numériques ou de chaîne de caractères. Si un type est spécifié dans le nom de la fonction, la valeur de l'expression est forcée à ce type avant d'être renvoyée à l'instruction appelante. Si un type est spécifié dans le nom de la fonction et que le type de paramètre ne correspond pas, une erreur "Type Mismatch" se produit.
- Une fonction définie par l'utilisateur peut être définie plusieurs fois dans un programme en répétant l'instruction DEF FN.
- Une instruction DEF FN doit être exécutée avant que la fonction qu'elle définit puisse être appelée. Si une fonction est appelée avant d'avoir été définie, une erreur "Undefined User Function" se produit.
- DEF FN n'est pas autorisé en mode direct.
- Les fonctions récursives ne sont pas prises en charge dans l'instruction DEF FN.
Exemples
Voici un exemple d'une fonction «teste» retourner 50 à l'écran :
- 10 DEF FNteste(a)= a * 10
- 20 PRINT FNteste(5)
on obtiendra le résultat suivant :
50La ligne 410 définit la fonction définie par l'utilisateur FNAB. La fonction est appelée à la ligne 420. Lorsqu'elle est exécutée, la variable T contiendra la valeur R3 divisée par S2, soit 0,25 :
- .
- .
- .
- 400 R=1: S=2
- 410 DEF FNAB(X, Y)=X^3/Y^2
- 420 T=FNAB(R, S)
- .
- .
- .
Dernière mise à jour : Lundi, le 19 janvier 2015