Le maire d’une ville française a effectué un recensement de la population de sa municipalité pendant 7 ans.
Les données recueillies sont présentées dans le tableau ci-dessous :
| Année | 2013 | 2014 | 2015 | 2016 | 2017 | 2018 | 2019 |
| Rang | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
| Habitants | 2 502 | 2 475 | 2 452 | 2 430 | 2 398 | 2 378 | 2 351 |
Dans la première partie de l’exercice, on modélisera le nombre d’habitants à l’aide d’une suite géométrique et dans la seconde partie, on utilisera une fonction exponentielle.
Partie 1 : Modélisation à l’aide d’une suite
-
Calculer le pourcentage d’évolution de la population de la ville entre 2013 et 2014, entre 2014 et 2015, entre 2015 et 2016 et entre 2018 et 2019.
-
Par la suite on estimera que la population diminue de 1% par an.
On note $p_n$ le nombre d’habitants l’année 2013+$n$.
Montrer que la suite $(p_n)$ est une suite géométrique dont on donnera le premier terme et la raison.
-
À l’aide de la suite $(p_n)$ estimer la population de la ville en 2030 en supposant que la diminution de la population s’effectue au même rythme pendant les années à venir.
Partie 2 : Modélisation à l’aide d’une fonction exponentielle
-
On cherche à modéliser le nombre d’habitants à l’aide de la fonction $f$ définie sur $\left[ 0~;~ +\infty \right[$ par :
$f~: \ t \longmapsto 2500\ \text{e}^{ – 0,01t }$
où $t$ désigne la durée écoulée, en année, depuis 2013.
Montrer que la fonction $f$ est strictement décroissante sur l’intervalle $\left[ 0~;~ +\infty \right[$.
-
Compléter la fonction Python ci-dessous afin qu’elle retourne les images de la variable $t$ par la fonction $f$ :
def f(t) : return ...À l’aide d’une boucle, écrire un script Python qui retourne les images par $f$ des entiers compris entre 0 et 6.
Comparer aux données de l’énoncé.
Cette modélisation vous semble-t-elle valable ? -
Le maire souhaite prévoir en quelle année le nombre d’habitants de sa ville passera sous la barre des 2 200 d’après ce modèle.
En utilisant la fonction précédente, écrire un programme Python qui répond à cette question.
Corrigé
Partie 1
-
Le pourcentage d’évolution de la population entre 2013 et 2014 est (voir formule de calcul d’une évolution) :
$t_1 = \dfrac{ p_1 – p_0 }{ p_0 } = \dfrac{ 2~475 – 2~502 }{ 2~502 }$$\approx – 0,0108 \approx \dfrac{ – 1,08 }{ 100 } = – 1,08\%$
De même, le pourcentage d’évolution entre 2014 et 2015 est :
$t_2 = \dfrac{ p_2 – p_1}{ p_1 } = \dfrac{ 2~452 – 2~475 }{ 2~475 }$$\approx – 0,0093 \approx \dfrac{ – 0,93 }{ 100 } = – 0,93\%$
entre 2015 et 2016 :
$t_3 = \dfrac{ p_3 – p_2}{ p_2 } = \dfrac{ 2~430 – 2~452 }{ 2~452 }$$\approx – 0,0090 \approx \dfrac{ – 0,90 }{ 100 } = – 0,90\%$
enfin, entre 2018 et 2019 :
$t_6 = \dfrac{ p_6 – p_5}{ p_5 } = \dfrac{ 2~351 – 2~378 }{ 2~378 }$$\approx – 0,0114 \approx \dfrac{ – 1,14 }{ 100 } = – 1,14\%$
On remarque que, dans tous les cas, la diminution est proche de 1%.
-
Le coefficient multiplicateur qui fait passer de $p_{n+1}$ à $p_n$ correspondant à une baisse de 1% est (voir coefficient multiplicateur) :
$CM=1 – \dfrac{ 1 }{ 100 } =0,99$
On a donc, pour tout entier naturel $n$ :
$p_{n+1} = 0,99p_n$
La suite $\left( p_n \right)$ est donc une suite géométrique de raison $q = 0,99.$ Son premier terme est $p_0=2502.$
-
La population de la ville à l’année de rang $n$ est :
$p_n=p_0\ q^n = 2502 \times 0,99^n$
L’année 2030 correspond au rang 17. La population en 2030 peut donc, d’après ce modèle, être estimée à :
$p_{ 17 } = 2502 \times 0,99^{ 17 } \approx 2109.$
Partie 2
-
$f$ est dérivable sur $\left[ 0~;~ +\infty \right[$. Pour déterminer le sens de variation de $f$, on calcule sa dérivée $f^{\prime}$.
Sachant que la dérivée de la fonction $t \longmapsto \text{e}^{ at }$ est la fonction $t \longmapsto a\ \text{e}^{ at }$ on obtient :$f^{\prime}(t)=2500 \times – 0,01 \text{e}^{ – 0,01t } = – 25 \ \text{e}^{ – 0,01t }$
$- 25$ est strictement négatif tandis que $\text{e}^{ – 0,01t }$ est strictement positif (car la fonction exponentielle ne prend que des valeurs strictement positives) donc $f^{\prime}(t) < 0$ sur $\left[ 0~;~ +\infty \right[$.
Par conséquent, la fonction $f$ est strictement décroissante sur l’intervalle $\left[ 0~;~ +\infty \right[$.
-
La fonction Python se définit simplement comme suit :
def f(t) : return 2500 * exp(-0.01 * t)On doit toutefois importer le module math qui contient la fonction exp ; par exemple :
from math import exp def f(t) : return 2500 * exp(0.01 * t)Comme on connait le nombre d’itérations, on peut employer une boucle for pour afficher les images des 7 premières valeurs entières de $t$ :
from math import exp def f(t) : return 2500 * exp(-0.01 * t) for t in range(7) : print(f(t))On obtient le résultat suivant :
2500.0 2475.1245843729203 2450.4966832668883 2426.1138338712703 2401.973597880808 2378.073561251785 2354.411333960622Ces valeurs sont suffisamment proches de celles du tableau donné dans l’énoncé pour considérer que cette modélisation est satisfaisante.
-
On utilise une boucle while pour répondre à la question.
On reste dans la boucle tant que le nombre d’habitants est supérieur ou égal à 2 200 et on sort de la boucle dès que ce nombre devient strictement inférieur à 2 200.Il faut penser à initialiser la variable t avant la boucle et à l’incrémenter à l’intérieur de la boucle (voir : boucles while). On peut ensuite afficher la valeur de t à la sortie de la boucle :
from math import exp def f(t) : return 2500 * exp(-0.01 * t) t=0 while f(t) >= 2200: t=t+1 print(t)Ce programme affiche la valeur 13.
D’après ce modèle, la population passera sous la barre des 2 200 l’année de rang 13 c’est à dire en 2013+13 = 2026.