INFORMATIQUE TP n°4 : les fonctions en python

publicité
PCSI
Pôle Kerichen-Vauban
INFORMATIQUE TP n°4 : les fonctions en python
Une fonction en Python est en tout point semblable à une fonction mathématique. A partir d’une ou
plusieurs entrées, on produit une ou plusieurs sorties.
Exemple :
Dans le schéma suivant, les entrées (les arguments ou données) sont x, y et z.
Les sorties (les résultats) de la fonction sont A et B :
x
A
y
FONCTION
B
z
I-DEFINITION ET UTILISATION DE FONCTIONS SIMPLES
Exemple : fonction Somme
x
Somme
x+y
y
Cette fonction Somme calcule la somme de deux nombres. Elle a deux entrées (x et y) et une sortie
(x+y).
définition en python de la fonction Somme : écrire et exécuter les lignes suivantes :
def Somme(x,y): #nom de la fonction et ses arguments
return x+y #résultat
nota: -attention à l’indentation
-les variables x et y sont les arguments de la fonction Somme
-les arguments peuvent uniquement être utilisés pour élaborer le résultat de la fonction mais en
aucun cas modifiés.
utilisation de la fonction Somme :
Pour calculer 4+9, écrire et exécuter dans le shell la commande :
Somme(4,9)
Lors de l’appel de la fonction, Python remplace la variable x par 4 et y par 9 et retourne le résultat : 13.
Que se passe-t-il si vous écrivez et exécutez la commande Somme(4,9) non pas dans le shell
mais dans votre programme ? Pourquoi ?
Ecrire et exécuter les lignes suivantes :
z=Somme(4,9)
print(z)
On affecte à la variable z ce que retourne la fonction somme avec les arguments 4 et 9, à savoir 13,
puis, on affiche le contenu de cette variable z.
Exercice 1: fonction surface
(a) Définir une fonction Surface qui retourne la surface d’un rectangle à partir des longueurs des
côtés. Tracer le schéma précisant les argument(s) et sortie(s) de cette fonction.
1
PCSI
Pôle Kerichen-Vauban
Essayer cette fonction sur des exemples.
(b)Utiliser la fonction Surface pour calculer le volume d’une boîte parallélépipédique rectangle 23 cm ×
15 cm × 17 cm.
3
Réponse : 5865 cm .
Exercice 2: fonctions moyenne
(a) Ecrire une fonction Moyenne4 qui retourne la moyenne de 4 nombres. Tracer le schéma précisant
les argument(s) et sortie(s) de cette fonction.
Essayer cette fonction sur des exemples.
(b) Ecrire une fonction Moyenne qui retourne la moyenne de n nombres qui seront donnés par
l’utilisateur. Tracer le schéma précisant les argument(s) et sortie(s) de cette fonction. On pensera à
utiliser une liste pour stocker ces n nombres.
Exercice 3: fonction distance
Ecrire une fonction Distance qui retourne la distance entre 2 points du plan dont on donnera les
coordonnées. Tracer le schéma précisant les argument(s) et sortie(s) de cette fonction.
Exemple : la distance du point (1, 2) au point (4, 10) est environ égale à 8.54
Exercice 4: calcul de sommes
(a) On considère la fonction f :
( x, y ) →
x
1+ y2
Définir avec python la fonction f.
2015
(b)On considère la somme
k
2
k =1 1 + ( k + 3)
S=∑
Sur papier, écrire S à l’aide de f.
Puis, avec python, calculer S en utilisant f (réponse S ≃ 5.49)
1515 1789
(c) On considère la somme double
i
2
j =1 1 + ( j + 3)
S = ∑∑
i =1
Sur papier, écrire S à l’aide de f.
Puis, avec python, calculer S en utilisant f (réponse S ≃ 317084)
Exercice 5: des carrés dans tous les sens
(a) Avec la tortue (cf. TP3), écrire une fonction carre qui dessine un carré de côté L (nota : pas de
return dans cette fonction).
(b) Créer la figure suivante (on utilisera bien sûr la fonction carre) :
On aura besoin des commandes :
penup() : soulève le crayon (donc la tortue ne dessine plus)
pendown() : descend le crayon (donc la tortue dessine)
2
PCSI
Pôle Kerichen-Vauban
(c) Créer la figure suivante :
(d) Créer la figure suivante (on fait tourner un carré autour de l’un de ses sommets).
II FONCTION APPELANT UNE AUTRE FONCTION
Une fonction peut appeler une autre fonction.
Exemple : On considère la fonction h : ( x, y , z ) → ( x + y ) + 3 z
2
On peut voir cette fonction comme constituée de 2 autres fonctions :
– La fonction somme f :
– La fonction g :
( x, y ) → x + y
( u, v ) → u 2 + 3v
On a alors : h(x, y, z) = g (f (x, y), z)
x
f
u = x+ y
y
z
g
v=z
h
Exercice 6:
(a)Ecrire en Python les fonctions f et g.
Tester sur des exemples.
3
u2 + 3v = ( x + y ) + 3z
2
PCSI
Pôle Kerichen-Vauban
(b)Ecrire la fonction h en utilisant les fonctions f et g, puis la tester.
Par exemple h(1, 2, 3) = 18.
Exercice 7:
x2 + y 2 + z 2 + x2 + y 2 + z 2
On considère la fonction h : ( x, y , z ) →
1 + x2 + y2 + z 2
(a)On souhaite construire la fonction principale h à partir de deux fonctions auxiliaires f et g. Sur
papier, tracera le schéma précisant les argument(s) et sortie(s) des différentes fonctions. Puis écrire
mathématiquement la fonction principale en fonction des 2 fonctions auxiliaires.
(b)Ecrire en Python les fonctions f et g.
Tester sur des exemples.
(c)Ecrire la fonction h en utilisant les fonctions f et g, puis la tester.
Par exemple h(1, 2, 3) ≈ 1.18
III TRAVAIL SUR LES CHAÎNES DE CARACTERES ET LES FONCTIONS.
Rappels : Une chaîne de caractères est une suite quelconque de caractères délimitée par des
guillemets. Le type d’une chaîne caractères est le type string.
Essayez l’exemple suivant :
a=1
b=’1’
print(type(a))
print(type(b))
Accès au caractère individuel d’une chaîne (comme pour une liste…). Essayez l’exemple suivant :
ch=’La formule de De Moivre’
print(ch[0],ch[2],ch[3])
Une chaîne de caractères est numérotée à partir de 0.
Longueur d’une chaîne (comme pour une liste…).
La longueur (c’est-à-dire le nombre de caractères) d’une chaîne, s’obtient à l’aide de la commande
len(NomDeLaChaîne). Essayez l’exemple suivant :
print(len(ch))
Concaténation (comme pour une liste…).
Assembler plusieurs petites chaînes pour en construire de plus grandes. Cette opération s’appelle la
concaténation et on la réalise sous Python à l’aide de l’opérateur +.
Cet opérateur réalise donc l’opération d’addition lorsqu’on l’applique à des nombres, et l’opération de
concaténation lorsqu’on l’applique à des chaînes de caractères (ou des listes). Essayez l’exemple
suivant :
a = ‘Petit poisson’
b = ‘ deviendra grand’
c=a+b
print(c)
La chaîne vide :
La chaîne vide s’écrit ch=’’
Attention : la chaîne ch=’ ’ contient un caractère, c’est l’espace. Vous pouvez le vérifier avec la
commande len.
4
PCSI
Pôle Kerichen-Vauban
Exercice 8: à faire d’abord sur papier puis vérifier avec Python
(a) Quel est le résultat du programme suivant ?
ch=’’
ch=ch+’*’
ch=ch+’*’
ch=ch+’*’
print(ch)
(b) Et celui-là ?
ch=’’
c=2
while c<=10:
ch=ch+’*’
c=c+1
print(ch)
(c) Et celui-là ?
ch=’’
c=2
while c<=10:
ch=ch+’*’
c=c+1
print(ch)
Exercice 9: étoiles
Ecrire un programme (une fonction) Etoile qui recopie une chaîne (dans une nouvelle variable), en
insérant des astérisques entre les caractères.
Par exemple, Etoile(‘Euler’) retourne la chaîne de caractères ‘E*u*l*e*r’
Exercice 10: occurence
Ecrire un programme (une fonction) Occurence qui compte le nombre de caractères qui est dans une
chaîne de caractères.
Par exemple, Occurence(‘e’,’La formule de Moivre’) doit retourner le nombre 3.
Exercice 11: miroir
Ecrire un programme (une fonction) Inversion qui recopie une chaîne (dans une nouvelle variable) en
l’inversant.
Par exemple, Inversion(‘Euler’) retourne la chaîne ‘reluE’
Exercice 12: être ou ne pas être
Ecrire un programme (une fonction) Existence qui détermine si un caractère donné est présent ou non
dans une chaîne de caractères donnée.
Exemple : Existence(‘e’,’La formule de Moivre’) devra retourner le booléen True
Existence(‘p’,’La formule de Moivre’) devra retourner le booléen False
5
Téléchargement