Sous-programmes : procédures et fonctions - 2


Une fonction est une sous-routine qui renvoie un résultat (nombre, ligne de caractères, etc.).

Imaginez que vous ayez commandé un produit dans une boutique en ligne. Du point de vue de la programmation, vous avez appelé un sous-programme, et contrairement à une procédure, ce sous-programme doit renvoyer un résultat - livrer le produit que vous avez commandé. Ces sous-programmes sont appelés fonctions.
Une fonction est formatée exactement de la même manière qu'une procédure. La seule différence avec une procédure est la présence d'un opérateur spécial return,
 après quoi la valeur à retourner au programme principal est écrite.

Une fonction qui renvoie la moyenne arithmétique de deux entiers ressemblerait à ceci :
moyenne flottante (int a, int b) { flotteur moy = (a + b) / 2,0 ; retour août ; } Il reste à comprendre comment appeler cette fonction dans le programme principal. Il ne faut pas appeler une fonction de la même manière qu'une procédure : moyenne(10, 5); La valeur retournée par la fonction sera perdue. C'est comme si les produits de la boutique en ligne n'étaient donnés à personne, mais jetés. Il est peu probable que le client l'aime.

Il est plus correct de stocker le résultat dans une variable (ou de l'afficher à l'écran) :
float a = average(10, 5); Console.WriteLine(average(10, 5));< /code>

Souvent, les programmeurs utilisent des fonctions booléennes qui renvoient des valeurs booléennes vraies ou fausses (true ou faux).
Ces fonctions sont utiles pour vérifier une propriété.
Prenons deux exemples d'écriture d'une fonction logique qui vérifie la régularité d'un nombre
bool isEven(int n) { retour (n % 2 == 0); }
bool isEven(int n) { si (n % 2 == 0) { retourner vrai ;   } autre { renvoie Faux ;   } }
Meilleur moyen :
résultat de l'expression
n % 2 == 0
sera vrai (vrai) ou faux (faux)
Pas besoin d'écrire une instruction conditionnelle.
Ne faites pas ça.
Bien sûr, vous pouvez le faire, mais c'est une entrée plus longue.

Et la dernière remarque sur l'utilisation des fonctions et des procédures : le nombre de fonctions et de procédures dans le programme n'est pas limité. De plus, un sous-programme peut appeler un autre sous-programme et même lui-même.
De plus, une fois que le programme atteint le return dans la fonction, le programme arrête immédiatement d'exécuter la fonction et renvoie la valeur.
Autrement dit, le deuxième exemple du tableau pourrait également être raccourci comme ceci :
bool isEven(int n)
{
    si (n % 2 == 0) {
        renvoie Vrai
    }
    renvoie Faux ;
}