Procedures - Fonctions

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 27

06.

Procédures - Fonctions
Procédures - Fonction (1)
1. Introduction
Dans une application VB, toutes les instructions doivent obligatoirement
être placées dans une procédure ou une fonction.

Les procédures ou fonctions permettent de créer des blocs de code (sous


programmes) qui pourront ensuite être appelés partout dans le programme
c’est à dire dans d’autres blocs de code .

L’appel à la procédure ou fonction se fait en utilisant l’identifiant de la


procédure ou fonction c’est à dire leur nom.
Procédures - Fonction (2)
1. Introduction
Les procédures ou les fonctions peuvent recevoir des données à traiter,
effectuent ensuite des actions avec ces données reçues afin renvoient une
valeur ou non.

Les données qu’elles reçoivent sont appelées : « Paramètres », ils seront


obligatoirement spécifiées au moment de l’appel de la procédure ou de la
fonction, les données qu’elles reçoivent sont appelées : « Arguments »

Le découpage d’un programme en plusieurs fonctions (sous programme)


présente plusieurs intérêts : Lisibilité , Modularité et évolutivité du code
source.
Procédures - Fonction (3)
2. Intérêts d’utilisation des procédures ou des fonctions
 Lisibilité du code
Il est plus facile d’analyser le comportement de plusieurs blocs de code de
10 qu’un pavé de lignes de codes.
 Modularité
L’écriture des procédures ou fonctions permettent d’effectuer des appels à
partir de plusieurs endroits dans le code en évitant de réécrire les mêmes
instructions en cas de besoin.
 Evolutivité
Lorsqu’elles sont utilisées dans plusieurs parties d’un programme, leurs
modifications répercuteront les modifications pour tous les appels.
Procédures - Fonction (4)
3. Catégories de procédures et de fonctions
 Des fonctions qui exécutent un bloc de code et retournent une valeur :
Fonction;
 Des fonctions qui exécutent un bloc de code et ne retournent pas une
valeur : Procédures;
 Des procédures ou fonctions déjà écrites qui sont prêtes à l’emploi :
Procédures et fonction prédéfinies;
 Des procédures ou fonctions qui sont déclenchées automatiquement
lorsqu’un événement se produit (un clic sur un bouton ou un appui sur
une touche du clavier, par exemple) : Procédures et fonctions
événementielles. Comme déjà évoqué, selon qu’elles retournent une
valeur ou pas.
Procédures - Fonction (5)
4. Fonctions
Une fonction doit avoir un nom et des éventuels paramètres s’ils existent.
Le type de chaque paramètre doit être défini ainsi que leur éventuelle
valeur par défaut si elle(s) existe(ent) lors de la déclaration. C'est le nom de
la fonction et la liste de ses paramètres qui définissent sa signature auprès
d’un compilateur.

- Syntaxe
<Modificateur d'accès> Function <NomFonction>( [para1, [para2]..) As <type de retour>
‘Les instructions
Return <Valeur>
End Function
NB : Les mots clés sont : Function…………End Funtion.
Procédures - Fonction (6)
4. Fonctions
 Modificateur d'accès
Il permet de définir le niveau de visibilité de la fonction dans un projet VB,
c’est-à-dire détermine quelle portion de code a le droit de l’utiliser.
- Public : Elle est accessible de n’importe quelle portion de code du projet
dans lequel elle est déclarés.
- Protected : Ce mot clé est utilisable uniquement à l’intérieur d’une classe.
- Friend : Les éléments VB déclarés avec ce mot clé seront accessibles de
l’assemblage dans lequel ils sont déclarés.
- Private : Ce mot clé restreint l’accès.
NB : Si rien n’est défini comme modificateur, c’est « Public » le modificateur
par défaut et c’est lui qu’on utilise généralement.
Procédures - Fonction (7)
4. Fonctions
 Nom de la fonction
Comme une variable, une fonction doit avoir un nom, c’est grâce à lui qu’un
éventuel appel sera possible.
 Paramètre(s)
Les variables qu’elle reçoit sont des : « Paramètres ».
 Type de retour, mots clés Return et End Function
Une fonction doit obligatoirement retourner une valeur, cette valeur doit
avoir un types, elle est généralement issue d’un calcul et est retournée
grâce au mot clé « Return ». « End Function » indique la fin du code d’une
fonction.
Procédures - Fonction (8)
4. Fonctions
 Appel fonction
Lors de l’appel d’une fonction, on peut récupérer le résultat afin de le
traiter par exemple. Le résultat peut donc être stocké directement dans une
variable ou encore être passé en paramètre d’une autre fonction par
exemple.

- Syntaxe [Variable] = NomFonction (valeurs_parametres)


Procédures - Fonction (9)
4. Fonctions
Ex. Une fonction avec paramètres sans « Return »
Procédures - Fonction (10)
4. Fonctions
Ex. Une fonction avec paramètres avec « Return »
Procédures - Fonction (11)
4. Fonctions
 Variable globale et locale (Portée des variables)
 Qu’est-ce que vous avez remarqué au niveau des noms des variables ?
Dans le chapitre sur les variables, nous avions vu que chaque variable
devrait avoir un nom unique. C'est tout à fait correct, mais cette règle n'est
valable qu'à l'intérieur du programme principal ou au sein d’une fonction.
Donc Il est tout à fait possible d'avoir plusieurs variables ayant le même
nom pour autant qu'elles soient déclarées dans des fonctions différentes,
attention, c’est à éviter pour ne pas se brouiller.
Procédures - Fonction (12)
4. Fonctions
 Fonctions surchargées
Il est possible de créer plusieurs fonctions ayant le même nom, mais il faut
juste que la liste des paramètres de ces fonctions soit différente : Surcharge
d'une fonction ou fonction surchargée .
Ex. Fonction addition surchargée
Public Function addition (nb1 As Byte, nb2 As Byte ) As Byte
Return nb1 + nb2
End Function
Public Function addition (nb1 As Byte, nb2 As Byte, nb3 As Byte ) As Byte
Return nb1 + nb2 + nb3
End Function
Procédures - Fonction (13)
4. Fonctions
 Paramètres optionnels
Il est possible d’ajouter des paramètres optionnels à une fonction, c’est-à-
dire des paramètres dont la valorisation au moment de l’appel de la
fonction est optionnelle.
NB : Les paramètres optionnels doivent être les derniers paramètres
déclarés dans la signature de la fonction, ils doivent avoir chacun une valeur
par défaut et doivent être annoncés par le mot clé « Optional ».
Procédures - Fonction (14)
4. Fonctions
 Paramètres optionnels
Ex.
Public Function addition (nb1 As Byte, nb2 As Byte, Optional nb3 As Byte = 0) As Byte
Return nb1 + nb2 + nb3
End Function

Il est maintenant possible d’appeler cette fonction de deux (2) manières


distincts :
addition(3, 3)
addition(3, 3, 3)
Procédures - Fonction (15)
4. Fonctions
 Fonction récursive
Une fonction peut aussi appeler d'autres fonctions, elle peut même appeler
elle-même, on parle dans ce cas : Fonction récursive.
Les exemples ci-dessous utilisent la récursivité pour calculer :
 La puissance N d’un nombre entier ,
 La somme d’un nombre entiers de 1 à N,
 Le factoriel d’un entier.
Procédures - Fonction (16)
4. Fonctions
 Fonction récursive : Calcul d’une puissance
Procédures - Fonction (17)
4. Fonctions
 Fonction récursive : Calcul de la somme d’un entiers de 1 à N
Procédures - Fonction (18)
4. Fonctions
 Fonction récursive : Calcul du factoriel d’un nombre entier
Procédures - Fonction (19)
5. Procédures
Comme une fonction, elle doit avoir un nom et des éventuels paramètres
s’ils existent. Le type de chaque paramètre doit être défini ainsi que leur
éventuelle valeur par défaut si elle existe lors de la déclaration.

- Syntaxe
<Modificateur d'accès> Sub <NomProcédure>( [para1, [para2]..)
‘Les instructions
[Return <Valeur>]
End Sub
NB : Les mots clés sont : Sub…………End Sub.
Procédures - Fonction (20)
5. Procédures
Exemple : Procédure sans paramètre
Procédures - Fonction (21)
5. Procédures
Exemple : Procédure avec paramètres
Procédures - Fonction (22)
6. Fonctions prédéfinies
 Fonctions mathématiques prédéfinies
Pour utiliser ces fonctions, il faut importer l'espace de noms
« System.Math », en l'ajoutant en haut de votre code comme :
Imports System.Math
Chaque fonction appelée doit être prévenue par le mot clé « Math » suivi
d’un point puis le nom de la fonction si l'espace de noms « System.Math »
n’est pas importé. Ex.
Dim x As Integer = Math.Abs(-150)
Dim y As Double = Math.Abs(-50.33)
Procédures - Fonction (23)
6. Fonctions ou Procédures prédéfinies
 Quelques fonctions mathématiques prédéfinies
Fonctions Utilités
Abs(Nb) Donne la valeur absolue du nombre.
Cos(Nb) Donne le cosinus du nombre.
Sin(Nb) Donne le sinus du nombre.
Tan(Nb) Donne la tangente du nombre.
Round(Nb) Arrondi la valeur du nombre :Round(4.5) = 4 et Round(4.51) = 5
Sqrt(Nb) Racine carrée du nombre.
Procédures - Fonction (24)
6. Fonctions ou Procédures prédéfinies
 Quelques fonctions chaine de caractères prédéfinies
Fonctions Utilités
Len(Chaîne) Donne la longueur de la chaîne.
Lcase(Chaîne) Transforme la chaîne en minuscule.
UCase(Chaîne) Transforme la chaîne en majuscule
LTrim(Chaîne) Supprime les espaces de tête de la chaine.
RTrim(Chaîne) Supprime les espaces de fin de la chaine.
Trim(Chaîne) Supprime les espaces de tête et de fin de la chaine.
Space(Nb) Génère n des espaces : Space(4) = “ ”
Str(Nb) Convertit le nombre en chaîne de caractères : Str(123) = “123”.
Val(Chaîne) Convertit en nombre une chaîne: Val(“123”) = 123
Procédures - Fonction (25)
6. Fonctions ou Procédures prédéfinies
 Quelques fonctions de type données prédéfinies
- IsDate : Retourne une valeur booléenne indiquant si une expression
représente une valeur Date valide.
- IsEmpty: Retourne une valeur booléenne indiquant si une variable a été
initialisée.
- IsNull : Renvoie une valeur booléenne indiquant si une expression ne
contient aucune donnée valide.
IsNumeric : Retourne une valeur booléenne indiquant si une expression
peut être évaluée comme un nombre.
Format : Retourne une chaîne mise en forme conformément aux
instructions contenues dans une expression String de format.

Vous aimerez peut-être aussi