Lire et modifier du code Python — Fonctions et simulations (2nde)
Savoir lire un petit programme Python, identifier la fonction mathématique qu'il calcule et modifier ses paramètres pour simuler des cas différents.
Lire et modifier du code en Python — fonctions et simulations (niveau 2nde)
Durée estimée : 30–45 minutes. Pré-requis : notions de fonction, variables, boucles simples.
Objectifs
- Lire un court script Python et repérer la fonction mathématique implémentée.
- Modifier un paramètre ou une formule pour tester des hypothèses.
- Simuler et tracer des valeurs pour vérifier le comportement d'une fonction.
Quel est le premier objectif de ce cours ?
Notions clés
1. Fonction mathématique vs fonction Python
Définition : une fonction mathématique associe à chaque \(x\) une valeur \(f(x)\). En Python on écrit souvent une fonction qui calcule cette valeur :
def f(x, a=2, b=1):
return a*x + b
Mathématiquement, cela correspond à \(f(x)=ax+b\).
2. Paramètres et variables
Les paramètres (ici a, b) définissent la famille de fonctions. Modifier un paramètre, c'est explorer une nouvelle fonction de la même famille.
3. Simulation par échantillonnage
Pour tracer une courbe on calcule plusieurs valeurs \(f(x_i)\) pour des \(x_i\) régulièrement espacés. En Python on parcourt une liste ou on utilise une boucle.
xs = [0, 0.5, 1, 1.5, 2]
ys = [f(x) for x in xs]
flowchart LR
A[LIRE le code] --> B[COMPRENDRE la fonction]
B --> C[IDENTIFIER les paramètres]
C --> D[MODIFIER un paramètre]
D --> E[EXÉCUTER et OBSERVER]
E --> F[INTERPRÉTER les résultats]
Que fait la ligne return a*x + b dans la fonction Python ?
Exemples résolus
Exemple 1 — droite : comprendre et modifier
Voici un script minimal :
def f(x, a=2, b=1):
return a*x + b
xs = [0,1,2,3]
ys = [f(x) for x in xs]
print(ys)
Voir la solution
Interprétation : pour a=2 et b=1 on calcule \(f(x)=2x+1\). Les valeurs sont :
Donc la liste affichée est [1, 3, 5, 7].
Si on change a en 3, que vaut \(f(2)\) ?
Exemple 2 — simuler une courbe et vérifier un point
Script :
import math
def f(x, a=1.5, b=-0.5):
return a*x**2 + b
xs = [i*0.5 for i in range(9)] # 0,0.5,...,4
ys = [f(x) for x in xs]
print(xs)
print(ys)
Demande : quel est \(f(1)\) et que se passe-t-il si on passe a=0 ?
a=0, alors \(f(x)=-0.5\) pour tout \(x\) (constante).Avec a=0 et b=-0.5, que renvoie la fonction ?
Erreurs fréquentes
- Confondre l'affichage (
print) et le retour d'une fonction (return). - Modifier une variable sans tester : sauvegarde une copie du script avant de changer plusieurs choses à la fois.
- Oublier que les paramètres ont des valeurs par défaut (si on appelle
f(1), on utilise les valeurs par défaut).
Que faut-il utiliser pour élever au carré en Python ?
**, donc x**2 (réponse 2).Récapitulatif
Étapes rapides pour lire et modifier un script :
- Lire la fonction définie et écrire sa formule mathématique \(f(x)=\dots\).
- Repérer les paramètres (valeurs par défaut).
- Modifier un paramètre, exécuter et comparer les résultats.
x**2, vérifier l'indentation et le return.Quelle est la première étape pour modifier un programme qui calcule une fonction ?
Teste tes connaissances sur ce cours
Crée ton compte gratuitement pour accéder aux quiz associés et suivre ta progression.
