Vous surprenez-vous souvent à copier et coller votre code pour le réutiliser dans différentes sections de votre programme?

Si tel est le cas, vous voudrez peut-être envisager d'utiliser des fonctions. Les fonctions sont une caractéristique très puissante des langages de programmation. Ils peuvent rendre le code plus efficace, plus facile à lire et élégant.

Qu'est-ce qu'une fonction?

Une fonction est un bloc de code qui exécute une tâche. Il peut être appelé et réutilisé plusieurs fois. Vous pouvez transmettre des informations à une fonction et elle peut renvoyer des informations. De nombreux langages de programmation ont des fonctions intégrées auxquelles vous pouvez accéder dans leur bibliothèque, mais vous pouvez également créer vos propres fonctions.

Qu'est-ce que la récursivité et comment l'utilisez-vous?

Apprenez les bases de la récursivité, l'outil essentiel mais un peu déroutant pour les programmeurs.

Lorsque vous appelez une fonction, le programme met en pause le programme en cours et exécute la fonction. La fonction sera lue de haut en bas. Une fois la fonction terminée, le programme continue de s'exécuter là où il s'était arrêté. Si la fonction a renvoyé une valeur, cette valeur sera utilisée là où la fonction a été appelée.

instagram viewer

Comment écrivez-vous une fonction?

Il existe de nombreuses manières d'écrire des fonctions. La syntaxe exacte dépendra du langage dans lequel vous programmez. Nous montrerons des exemples en Python, JavaScript et C ++ pour démontrer une gamme de syntaxe de programmation.

En rapport: Pourquoi les langages de programmation ne peuvent exister sans fonctions

Fonctions d'annulation

Le premier type de fonction que nous allons examiner est une fonction vide. Cela signifie simplement que la fonction ne renvoie pas de valeur. Les fonctions d'annulation sont utilisées pour compléter un ensemble d'instructions. Dans ces exemples, la fonction que nous avons écrite s'appelle bonjourFonction. Le but de la fonction est de sortir "Hello World".

CONSEIL: donnez aux fonctions des noms qui expliquent ce qu'elles font. Il sera plus facile de gérer les fonctions et de lire le code à mesure que votre programme deviendra plus complexe.

Python

def bonjourFonction ():
print ("Hello World")
bonjourFonction ()

Le mot clé def est utilisé en Python pour définir et créer une fonction. Ensuite, est le nom de la fonction. Les instructions de la fonction suivent sur la ligne suivante après les deux points. L'espace blanc est important en Python, alors assurez-vous de mettre en retrait tout le code que vous souhaitez que votre fonction exécute. Dans l'exemple ci-dessus, la fonction exécute une ligne de code.

Vos yeux perçants ont peut-être remarqué que impression() est également une fonction, mais elle est appelée différemment de notre fonction. Accrochez-vous à cette pensée dès maintenant, nous explorerons les fonctions des paramètres plus tard.

JavaScript

function helloFunction () {
alert ("Hello World!");
}
bonjourFonction ();

En JavaScript, le mot-clé fonction est utilisé pour créer des fonctions. Ensuite, nous avons le nom de la fonction. Tout code compris entre les accolades est exécuté lorsque la fonction est appelée.

L'espace blanc n'est pas important dans JavaScript, mais il est habituel d'indenter le code dans la fonction. L'indentation facilite la lecture du code, ce qui est très important à mesure que vos programmes deviennent plus complexes.

Remarque: tout comme impression() dans l'exemple précédent, alerte() est aussi une fonction.

C ++

#comprendre 
en utilisant l'espace de noms std;
void helloFunction () {
cout << "Bonjour tout le monde!";
}
int main(){
bonjourFonction ();
return 0;
}

Les fonctions sont créées différemment en C ++. Au lieu d'un mot-clé pour définir une fonction, le premier mot décrit le type de données que la fonction retournera. Dans ce cas, notre fonction ne renvoie aucune donnée, donc les données sont nulles. Ensuite, nous avons le nom de la fonction. Semblable à JavaScript, tout le code entre les accolades est exécuté lorsque la fonction est appelée. De même que JavaScript, les espaces blancs n'affectent pas la fonction mais constituent une bonne pratique.

Avez-vous repéré une autre fonction dans le code C ++? Oui, principale() est une fonction. Lorsque vous exécutez un programme C ++, vous appelez automatiquement la fonction principale. Lorsque la fonction principale est terminée avec succès, elle renvoie 0 à la sortie du programme pour signaler qu'il n'y a pas eu d'erreurs lors de l'exécution du programme.

Fonctions nécessitant des valeurs

Les fonctions d'annulation sont excellentes si vous constatez que vous écrivez le même morceau de code encore et encore. Mais ils peuvent être limitatifs. Ils sont statiques et ne changent pas. Ils remplissent toujours les mêmes instructions. Une façon d'augmenter leur utilité est de transmettre différentes valeurs à la fonction.

Vous aurez remarqué que les crochets suivaient les noms de toutes nos fonctions. Entre parenthèses, nous pouvons déclarer que des données sont nécessaires pour exécuter notre fonction. Ensuite, nous pouvons utiliser les données transmises à notre fonction dans la fonction. Jetons à nouveau un coup d'œil aux exemples précédents, mais cette fois, transmettez la phrase que nous voulons afficher.

Python

def helloFunction (newPhrase):
print (newPhrase)
helloFunction ("Notre nouvelle phrase")

Maintenant, entre les crochets, notre fonction déclare qu'elle a besoin d'une variable pour s'exécuter. Nous avons nommé la variable newPhrase et peut maintenant l'utiliser dans notre fonction. Lorsque nous appelons la fonction, nous devons transmettre les informations demandées en les plaçant entre les crochets. Les mêmes modifications ont été apportées à JavaScript.

JavaScript

function helloFunction (newPhrase) {
alert (newPhrase);
}
helloFunction ("Notre nouvelle phrase");

C ++

#comprendre 
en utilisant l'espace de noms std;
void helloFunction (string newPhrase) {
cout << newPhrase;
}
int main(){
helloFunction ("Notre nouvelle phrase");
return 0;
}

Notre fonction C ++ nécessitait un peu plus d'informations. Nous savons que votre fonction veut des données de chaîne, mais ce n'est pas suffisant pour C ++. Lorsque vous créez votre fonction, vous devez spécifier le type de données dont votre fonction a besoin. Si vous n'envoyez pas le type de données correct, la fonction créera une erreur.

Cela peut sembler un peu ennuyeux, mais des langues strictes peuvent souvent vous éviter des maux de tête. Si vous écrivez une fonction en JavaScript qui nécessite un entier, mais que le nombre est envoyé sous forme de chaîne, cela peut créer un bogue très difficile à localiser.

En rapport: 5 langages de programmation fonctionnels à connaître

Fonctions qui renvoient une valeur

La capacité fonctionnelle finale que nous allons couvrir est le retour des données. Ceci est particulièrement utile lorsque vous souhaitez modifier des données avant de les utiliser. Bien que vous puissiez écrire cela en ligne, si vous utilisez les mêmes calculs plusieurs fois, comme la conversion impériale en métrique, il peut être plus judicieux de l'écrire en tant que fonction. Notre exemple sera plus simple. Notre fonction nécessitera deux entiers et renverra la somme.

Python

def fonction d'ajout (a, b):
retourne a + b
imprimer (fonction d'ajout (2, 4))

Dans cet exemple, notre fonction nécessite deux variables au lieu d'une. Nous l'indiquons en séparant nos noms de variables par une virgule. Le mot clé revenir indique à la fonction de renvoyer les données suivantes, dans ce cas, 2 + 4 ou 6. Nous appelons la fonction à l'intérieur du impression() fonction.

Une fois que notre programme est arrivé à cette ligne, il aurait fait une pause, exécuté notre fonction, puis continué comme si fonction d'ajout (2, 4) était en fait juste la valeur retournée 6.

JavaScript

Le code JavaScript est très similaire au code Python. La principale différence est que la fonction est appelée dans une alerte.

function ajoutantFunction (a, b) {
retourne a + b;
}
alert (fonction d'ajout (2, 4));

C ++

#comprendre 
en utilisant l'espace de noms std;
int ajoutantFunction (int a, int b) {
retourne a + b;
}
int main(){
cout << fonction d'ajout (2, 4);
return 0;
}

Le code C ++ s'exécute de la même manière, mais comme d'habitude, il nécessite un peu plus d'informations. Tout d'abord, nous devons dire quel type de données notre fonction retournera. Vous verrez que annuler a été changé en int. Cela signifie qu'au lieu de ne renvoyer aucune donnée, notre fonction renverra un entier. Au-delà, le code est similaire au code que nous avons déjà exploré.

Gérez vos fonctions

Une chose amusante à propos des fonctions est que les fonctions peuvent appeler d'autres fonctions. Ils peuvent même s'appeler! Mais une grande puissance s'accompagne d'une grande responsabilité. Ne devenez pas fou en créant du code avec des fonctions qui appellent d'autres fonctions qui appellent encore plus de fonctions.

Comme mentionné, chaque fois qu'une fonction est appelée, le programme s'interrompt pendant qu'il exécute la fonction. Cela signifie que le programme est conservé dans la mémoire active. Si vous appelez plusieurs autres fonctions sans les terminer, vous utilisez plus de mémoire active. Si vous ne faites pas attention, votre programme peut devenir incontrôlable.

E-mail
Comment garder votre code propre avec l'encapsulation d'objets

Les variables globales peuvent sembler simples, mais elles sont souvent la cause de tant de bogues. Voici comment rationaliser votre code avec l'encapsulation.

Rubriques connexes
  • Programmation
  • Programmation
  • Programmation fonctionnelle
A propos de l'auteur
Jennifer Seaton (20 articles publiés)

J. Seaton est un rédacteur scientifique spécialisé dans la décomposition de sujets complexes. Elle détient un doctorat de l'Université de la Saskatchewan; sa recherche s'est concentrée sur l'utilisation de l'apprentissage basé sur le jeu pour accroître l'engagement des étudiants en ligne. Quand elle ne travaille pas, vous la trouverez avec ses lectures, ses jeux vidéo ou son jardinage.

Plus de Jennifer Seaton

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives!

Un pas de plus…!

Veuillez confirmer votre adresse e-mail dans l'e-mail que nous venons de vous envoyer.

.