Le but de ce TP est de découvrir les fonctions en programmation.
entree1 = 'Choux'
entree2 = 'Salade'
plat1 = 'Frites'
plat2 = 'Haricots vert'
print("==== Menu du jour ====")
print("")
print("Entrées -----")
print(" * ", entree1)
print(" * ", entree2)
print("Plats -------")
print(" * ", plat1)
print(" * ", plat2)
print("")
print("Faites votre choix")
Dans le programme précédent, on répète plusieurs fois comment il faut afficher un choix.
print(" * ", entree1)
print(" * ", entree2)
C'est peu long à écrire mais surtout si l'on veut mettre un ~
au lieu d'une *
, il faut changer chaque ligne (et donc surement en oublier!). Pour éviter d'avoir à réécrire chaque fois la même chose, on peut définir des fonctions.
Ici notre fonction va transformer le nom d'un plat en ligne de notre menu.
def choix(plat):
return ' ~ '+ plat
On peut alors utiliser cette fonction pour présenter notre menu.
entree1 = 'Choux'
entree2 = 'Salade'
plat1 = 'Frites'
plat2 = 'Haricots vert'
print("==== Menu du jour ====")
print("")
print("Entrées -----")
print(choix(entree1))
print(choix(entree2))
print("Plats -------")
print(" * ", plat1)
print(" * ", plat2)
print("")
print("Faites votre choix")
On peut aussi tout à fait programmer des fonctions similaires à celles que l'on trouve en mathématiques.
Cette fonction affine
$$ f:x \mapsto -x^2 + 6x+ 3$$se codera en python
def f(x):
return -x**2+6*x-3
Maintenant que la fonction est codée, on peut l'utiliser pour calculer des images.
print(f(10))
print(f(-2))
Pour chacune des fonctions suivantes, testées les pour savoir si elles fonctionnents. Une fois que vous ètes sûr qu'elles font bien ce que vous souhaitez, ne les effacées pas et gardez les pour la suite.
Programmer la fonction $g$ définie par $$ g:x \mapsto x(19 - 2x) $$
Programmer la fonction $h$ qui correspond au programme de calcul suivant
Programmer une fonction celcius2fahrenheit
qui convertit des degrés celcius vers des degrés fahrenheit en utilisant la formule suivante
$$ (°F) = 1,8 * (°C) + 32 $$
Programmer la fonction inverse fahrenheit2celcius
.
Les 2 prochaines parties peuvent être faite independament. A vous de choisir celle qui tente le plus.
Imaginons que je souhaite chercher le maximum de la fonction $f$ programmée précédement. Il va falloir que je fasse calculer à python plusieurs images de cette fonction.
print(f(0))
print(f(5))
print(f(20))
Le faire de la sorte peut prendre beaucoup de temps et n'est pas vraiment dans la logique de faire travailler l'ordinateur à notre place.
Pour réaliser plusieurs calculs de façon systématiques, on peut utiliser une boucle for
.
for x in range(10):
print("Quand x vaut", x, ", f(x) vaut", f(x))
On peut donc penser que la fonction a un maximum autour de 3.
Au bac, on applique le barème suivant:
On peut y voir une fonction qui transforme une note en l'un des deux mots recalé ou reçut.
if
dans le mémo).Parmi les reçuts, certains peuvent avoir des mentions: