INTRODUCTION |
Nous avons déjà vu comment définir une fonction avec ou sans paramètre et comment l’appeler. Vous avez sans doute remarqué que le concept de fonction utilisé en programmation diffère sensiblement des fonctions que l’on trouve en mathématiques. En effet, en mathématiques, les fonctions y = f(x) possèdent une variable indépendante et pour chaque valeur de x, la fonction retourne une valeur de la variable dépendante y. Un exemple classique est la fonction quadratique
En Python, on peut également définir des fonctions qui calculent des valeurs et les "retournent" sous forme de variables. |
LE MOT-CLÉ RETURN |
from gpanel import * makeGPanel(-25, 25, -25, 25) def squarenumber(a): b = a * a return b for x in range(-5, 6): y = squarenumber(x) if x == -5: move(x, y) else: draw(x, y) |
MEMENTO |
Le mot-clé return, permet à une fonction de retourner une valeur au code appelant et d’interrompre son exécution. Si return est placé avant la fin du bloc, la fonction s’interrompt au et n’exécute pas les instructions qui se trouvent en-dessous du return. Cependant, comme vous l’avez remarqué, il existe également en informatique des fonctions qui ne retournent pas de valeur et qui produisent tout de même un effet sur l’ensemble du programme. Les fonctions sont même capables de cumuler les deux : retourner une valeur et produire un effet sur l’ensemble du programme, indépendamment de la valeur de retour [plus...Lorsque l’on appelle une telle fonction, on peut très bien ignorer sa valeur de retour et ne l’utiliser que comme une commande]. Cette représentation graphique de la fonction quadratique n’est pas encore satisfaisante. En plus de l’absence de système de coordonnées, le graphe tracé est bien trop anguleux. Cela vient du fait que l’on a évalué la fonction en un nombre trop restreint de points entiers que l’on a ensuite connectés par des segments droits. Cela montre une faiblesse essentielle de l’informatique par rapport aux mathématiques : bien que notre fonction livre pour chaque abscisse x une image y, on ne peut l’évaluer qu’un en nombre fini de points. On dit que l’axe Ox continu est discrétisé ou réparti en points discrets. |
NOMBRES DÉCIMAUX (FLOATS) |
from gpanel import * makeGPanel(-6, 6, -3, 33) setColor("gray") drawGrid(-5, 5, 0, 30) def squarenumber(a): b = a * a return b setColor("blue") lineWidth(2) x = -5 while x < 5: y = squarenumber(x) if x == -5: move(x, y) else: draw(x, y) x = x + 0.01 |
MEMENTO |
En Python, les nombres décimaux sont appelées des flottants (float). A contrario des mathématiques, les nombres décimaux ne comptent tous qu’un nombre fini de décimales en informatique. En Python, les flottants sont stockés avec 14 décimales. Dans d’autres langages de programmation, de tels nombres sont appelés double. Un exemple courant est qu’un ordinateur ne pourra jamais vraiment stocker le nombre π dans sa mémoire puisque ce dernier est irrationnel et comporte de ce fait une infinité de décimales sans période. Il faut donc se résoudre à réaliser des calculs avec une précision limitée à 14 décimales au maximum. Pour dessiner un repère cartésien, procéder de la manière suivante :
|
EXERCICES |
|