Fonctions

Analyses de fonctions

Fonctions sans argument

Que renvoient les fonctions suivantes ? (donner une réponse avant de tester avec un interpréteur Python) Lesquelles de ces déclarations de fonctions provoquent une erreur ? et pourquoi ? <table>  

Fonctions à un seul argument

Que s'affiche-t-il lors de l’exécution des scripts suivants ? (donner une réponse avant de tester avec un interpréteur Python)  

Fonctions à plusieurs argument

Que s'affiche-t-il lors de l’exécution des scripts suivants ? (donner une réponse avant de tester avec un interpréteur Python)      

Fonctions mathématiques

Fonctions simples

Implémenter en Python les fonctions mathématiques suivantes :
  • \(aire:r \rightarrow \pi r^2\)
  • \(f:x \rightarrow e^{-x}\)
  • \(dB:g \rightarrow 20 \log{(g)}\)
Tester ces fonctions :
  • aire(16)  : 804.247719318987
  • f(54)  : 3.532628572200807e-24
  • dB(21)  : 26.444385894678387

Correction

Fonctions avec paramètres

Implémenter en Python les fonctions mathématiques suivantes :
  • \(p2:x \rightarrow ax^2+bx+c\)
  • \(eln:x \rightarrow e^{i -j\ln{x}}\)
Tester ces fonctions :
  • p2(-1.5, 1, 2, -4)  : -4.75
  • eln(8.1, 2, -1)  : 59.85135440133828

Correction

 

Généralisation

Connaissances supplémentaires requises : dictionnaires

  • Écrire en Python une fonction \(g_1:x \rightarrow g_1(x)\) , quelle que soit l'expression de \(g_1(x)\).

par exemple : g1(3, "3*x+2/x")  doit renvoyer 9.666666666666666

  • En déduire une fonction g2() admettant en plus des paramètres.

par exemple : g2(3, "a*x+b/x", 3, 2)  doit également renvoyer 9.666666666666666

Cette fonction n'est pas encore universelle ! Les noms des paramètres doivent parfaitement coïncider avec ceux de l'expression, et il doit y en avoir autant.
  • Écrire une fonction qui en guise de paramètres d'une expression mathématique, accepte un dictionnaire :
Les **  ici permettent de déclarer à la fonction les couples clef:valeur  d'un dictionnaire comme une série d'arguments avec mot clef (keyword argument) (voir les fonctions). Ces deux déclarations sont équivalentes :
la fonction locals()  renvoie toutes les variables locales de la fonction sous forme d'un dictionnaire

par exemple : g3(-2, "i*x-sqrt(k*x)/(h-x**2)", i = 1, k = -8, h = 5)  doit renvoyer -6

Correction


Tables de multiplication

Connaissances supplémentaires requises : boucles

  • Écrire une fonction table(n)  qui affiche la table de multiplication par n , sous la forme "i x n = j" .

par exemple, table(7)  doit afficher :

 
  • Écrire une fonction table2(n, debut, fin, pas)  qui affiche la table de multiplication par n  depuis dedut  ( "n x debut" ) jusqu'à fin  ( "n x fin" ) en incrémentant de la valeur pas .

par exemple, table2(7, 2, 13, 2)  doit afficher :

Correction


Une fonction comme argument

Connaissances supplémentaires requises : boucles

  • Écrire une fonction evaluer(fct, b_inf, b_sup, n_eval)  qui afficher n_eval  résultats de la fonction fct(x)  pour x  variant de b_inf  à b_sup .

par exemple, soit la fonction :

dans ce cas, evaluer(f, 3, 7, 10)  doit afficher :

  • Modifier la fonction en evaluer2()  pour qu'elle retourne une liste de tuple (x, fct(x)) .

dans ce cas, evaluer2(f, 3, 7, 10)  doit retourner : [(3, 143), (3.4, 205.72), (3.8, 284.76), (4.2, 382.04), (4.6, 499.48), (5.0, 639.0), (5.4, 802.52), (5.8, 991.96), (6.2, 1209.24), (6.6, 1456.28)] 

Correction


Racines

Connaissances supplémentaires requises : structures conditionnelles

  • Écrire une fonction racines(a, b, c)  qui renvoie les racines (si elles existent !) du polynôme de la forme : \(ax^2+bx+c\).
 

e (constante de Néper)

Connaissances supplémentaires requises : boucles

Écrire une fonction e(n)  qui estime la valeur de la constante mathématique \(e\) en utilisant la formule : \(e=\lim\limits_{n \to \inf}\sum_{i=0}^{n}{\frac{1}{i!}}\) avec n  le nombre d'itérations de calcul.
Rappel : la fonction Python pour \(x \rightarrow x!\) est factorial()  (module math )

Correction


Nombres romains

  • Écrire une fonction romains(n)  qui convertit un entier n  en écriture romaine.

par exemple  romains(1515)  doit renvoyer la chaîne de caractères : "MDXV"  

Correction

 

Widget not in any sidebars

Vous aimerez aussi...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

code