Prototyper une fonction
- Fiche de cours
- Quiz
- Profs en ligne
- Videos
- Application mobile
Prototyper une fonction.
- Avant d’écrire une fonction, il faut la prototyper.
- Prototyper une fonction, c’est lui donner un nom, définir ses paramètres, le type de variables utilisées, ainsi que le retour que la fonction doit utiliser.
- Notion de fonction
- Utilisation de l’outil sqrt pour calculer la racine carrée
Lorsqu’on veut utiliser une fonction, pour l’appeler, on a besoin de préciser les informations suivantes.
- Son nom.
Exemple : euclid, fct, etc. - Ses paramètres et leur type,
c’est-à-dire quelles sont les valeurs que
doit utiliser la fonction, ainsi que leur type
(int, float,
str, etc.)
Exemple
euclid(int a, int b) indique que cette fonction prend des paramètres entiers. int est pour rappel l’abréviation de « integer », ce qui signifie « entier » en français. - Le retour et son type.
Exemple
int euclid(int a, int b) indique que le retour de la fonction est un nombre entier.
La précision de ces informations constitue le prototype de la fonction.
Le langage Python ne nécessite pas de donner le type des paramètres. Cela facilite le travail d’écriture des fonctions puisque l’on n’a pas à préciser le type des paramètre ou des retours de la fonction.
Sur la première ligne, le mot clé def définit la fonction euclid de paramètres a et b.
Les lignes 2 à 7 correspondent au corps de la fonction.
Voici quelques recommandations concernant le nommage de fonctions.
- Le nom doit indiquer de manière succincte ce qu’est la fonction, cela permet d’améliorer la lisibilité du code.
- Par convention, les informaticiens utilisent
le camelCase ou le snake_case pour nommer une fonction.
- Le camelCase (« casse de chameau » en anglais) est une convention d’écriture qui consiste à écrire un ensemble de mots en les liant, sans espace ni ponctuation, et à mettre une majuscule sur la première lettre de chaque mot (sauf le premier).
- Le snake_case (« casse de serpent » en anglais) est une convention d’écriture qui consiste à écrire un ensemble de mots en les séparant par des tirets bas, et à mettre une minuscule sur la première lettre de chaque mot.
Nommage de la fonction « test affichage écran » avec les conventions camelCase et snake_case.
camelCase
|
snake_case
|
testAffichageEcran | test_affichage_ecran |
Un nom de fonction ou de variable ne doit pas contenir d’espaces, ni de tirets « hauts » (-) ou d’accents.
On doit utiliser le même type de règles pour le nommage des variables, l’idéal étant de choisir un nom ayant un lien avec la variable.
On veut prototyper une fonction qui prend en paramètres les coordonnées de deux points d’un plan orthonormé et qui retourne la distance euclidienne entre les deux points.
Si A(xA ; yA) et B(xB ; yB) alors .
Pour prototyper cette fonction, on doit choisir un nom qui corresponde à ce qu’elle fait : cette fonction est censée calculer une distance euclidienne, on peut donc la nommer « distance ».
On doit ensuite déterminer les paramètres de la fonction : l’énoncé indique que l’on doit entrer les coordonnées de deux points, il y a donc quatre variables.
Pour le choix des variables, autant utiliser les notations mathématiques qui sont universelles, soient :
- x1 pour l’abscisse du premier point ;
- y1 pour l’ordonnée du premier ;
- x2 pour l’abscisse du second ;
- y2 pour l’ordonnée du second.
Python n’a pas besoin du type de variable, il est donc ici inutile de préciser que ces paramètres doivent être des flottants (nombres décimaux).
Le retour de la fonction est une distance, il faut donc écrire en langage informatique (implémenter) la formule mathématique rappelée ci-dessus. Dans un langage autre que Python, il faudrait préciser que c’est un flottant de la manière suivante : float distance(float x1,float y1,float x2,float y2).
Pour pouvoir utiliser la racine carrée, on est obligé d’importer la bibliothèque qui permet de faire des mathématiques et d’utiliser la fonction racine carrée, qui est sqrt pour Python.
Voici ci-dessous les lignes de code qui permettent de prototyper la fonction souhaitée.
Le tableau ci-dessous donne l’explication ligne à ligne.
from math import * | On importe tous les outils de la bibliothèque math. |
def distance(x1,y1,x2,y2) | On utilise le mot clé def pour indiquer que l’on définit une fonction. |
return sqrt((x2-x1)**2 + (y2-y1)**2) | Retour de la fonction. |
x1=float(input()) | On indique que le nombre que doit entrer l’utilisateur est un flottant. |
y1=float(input()) | |
x2=float(input()) | |
y2=float(input()) | |
print(distance(x1,y1,x2,y2)) | Affichage du résultat. |
Vous avez obtenu75%de bonnes réponses !