{"cells":[{"metadata":{},"cell_type":"markdown","source":"![En tête general](https://raw.githubusercontent.com/PythonLycee/PyLyc/master/img/En_tete_general.png)\n\n\n© Copyright Franck CHEVRIER 2019-2022 https://www.python-lycee.com.
\nLes activités partagées sur Capytale sont sous licence Creative Commons.\n\n Pour exécuter une saisie Python, sélectionner la cellule et valider avec SHIFT+Entrée.\n"},{"metadata":{},"cell_type":"markdown","source":"# La suite de Fibonacci \n"},{"metadata":{},"cell_type":"markdown","source":"### Sommaire\n\n1. Définition par récurrence de la suite de Fibonacci.
\n2. Formule de Binet : calculs directs des termes de la suite.
\n3. Complément sur la suite de Fibonacci : Quotients de termes successifs. (Tale Spé Math)
\n\n"},{"metadata":{},"cell_type":"markdown","source":"## 1. Définition par récurrence de la suite de Fibonacci."},{"metadata":{},"cell_type":"markdown","source":"
\nOn considère l'évolution d'une population (fictive) de lapins, régie par les règles suivantes :\n\n
\nActiver la cellule ci-dessous pour obtenir une illustration dynamique des premiers mois d'observation.
\nPour faire apparaître et activer l'animation, sélectionner la cellule ci-dessous et valider avec SHIFT+Entrée.
"},{"metadata":{"trusted":true},"cell_type":"code","source":"#Sélectionner cette zone puis SHIFT+ENTREE\nfrom IPython.display import HTML ; HTML(\"\"\"\"\"\")","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"
\nOn note $F_n$ le nombre de couples de lapins à l'étape $n$, où $n \\in \\mathbb{N}$ est le rang du mois de l'observation (en considérant que $n=0$ correspond à l'étape initiale).\n
"},{"metadata":{},"cell_type":"markdown","source":"__1.1. Soit $n \\in \\mathbb{N}$. Exprimer $F_{n+2}$ en fonction de $F_{n+1}$ et $F_n$.__\n"},{"metadata":{},"cell_type":"markdown","source":"__1.2. Exécuter les cellules Python suivantes. Pour chacune, expliquer ce que permet d'obtenir la syntaxe proposée.__\n"},{"metadata":{"trusted":true},"cell_type":"code","source":"Fibo = [1,1,2,3,5]\nFibo ","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Fibo[-1]","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Fibo[-2]","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"a = Fibo[-1]+Fibo[-2]\nFibo.append(a)\n\nFibo","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"__1.3. Écrire une fonction Python Fibonacci qui reçoit N non nul en argument et qui renvoie la liste des termes $F_n$ pour $0 \\leq n \\leq N$.__\n
\n$\\quad\\;$Aide : On pourra initialiser une liste [1,1] que l'on complètera ensuite progressivement à l'aide d'une boucle."},{"metadata":{"trusted":true},"cell_type":"code","source":"# Écrire ici la fonction Fibonacci\n\n","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"__1.4. À l'aide la fonction Fibonacci, obtenir la liste des 30 premiers termes de la suite de Fibonacci $(F_n)_{n \\geq 0}$.__"},{"metadata":{"trusted":true},"cell_type":"code","source":"# Écrire ici un appel à la fonction Fibonacci\n\n","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## 2. Formule de Binet : calculs directs des termes de la suite."},{"metadata":{},"cell_type":"markdown","source":"
\n Notations :\n \n Remarque :
\n Le nombre $\\phi$ ainsi défini s'appelle le nombre d'or.\n
\n\n\n
\nOn pose $\\displaystyle \\phi=\\frac{1+\\sqrt{5}}{2}$ et $\\displaystyle \\psi=\\frac{1-\\sqrt{5}}{2}$, et on considère :\n\n
"},{"metadata":{},"cell_type":"markdown","source":"__2.0 Valider la cellule suivante.__
\n$\\;\\;\\;$__Les fonctionnalités importées de sympy permettront d'effectuer des calculs avec racines carrées en valeurs exactes.__"},{"metadata":{"trusted":true},"cell_type":"code","source":"from sympy import sqrt,simplify\n\nsqrt(5) # syntaxe pour la racine carrée de 5","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"__2.1. Créer des variables Python phi et psi correspondant respectivement à $\\phi$ et $\\psi$.
\n$\\quad\\;\\;$Écrire ensuite des fonctions Python u et v d'argument n permettant le calcul de $u_n$ et $v_n$.__"},{"metadata":{"trusted":true},"cell_type":"code","source":"#Utiliser ces zones de saisies pour créer phi et psi, puis pour définir u et v\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"\n","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"__2.2. Exécuter les cellules suivantes. Qu'observe-t-on ?__\n"},{"metadata":{"trusted":true},"cell_type":"code","source":"simplify( (u(3)-v(3))/sqrt(5) )","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"simplify( (u(4)-v(4))/sqrt(5) )","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"
\nLa formule de Binet affirme que pour tout $n \\in \\mathbb{N}$ ; $\\displaystyle F_{n} = \\frac{u_{n}-v_{n}}{\\sqrt{5}} $. \n
\n\n2.3. Question différenciée suivant le niveau :\n
\n\n
\n Version 1ère Spé Math
\n À l'aide de saisies Python, calculer $\\displaystyle \\frac{u_{n}-v_{n}}{\\sqrt{5}}$ pour tous les entiers $n$ de 0 jusqu'à 29.\n
(on appliquera la fonction simplify)\n
Comparer les résultats avec ceux de la question 1.4.\n
Pour la suite, on admettra que la formule de Binet est vraie pour tout $n \\in \\mathbb{N}$.\n
\n
\n Version Tale Spé Math
\n a. Démontrer que $\\phi$ et $\\psi$ sont les racines du polynôme $x²-x-1$.
\n $\\quad$ ($\\phi$ et $\\psi$ vérifient donc $1+\\phi=\\phi^2$ et $1+\\psi=\\psi^2$).
\n b. À l'aide d'un raisonnement par récurrence, démontrer que la formule de Binet est vraie pour tout $n \\in \\mathbb{N}$.\n
\n \n
\n\n"},{"metadata":{"trusted":true},"cell_type":"code","source":"# Zone pour les saisies Python (version 1ère Spé Math)\n\n","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"__2.4.a. À l'aide des fonctions Python u et v, écrire une fonction Python F d'argument n qui permet le calcul direct de $F_n$.__"},{"metadata":{"trusted":true},"cell_type":"code","source":"# Écrire ici la fonction F\n\n","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"$\\quad$__b. Effectuer une saisie Python pour calculer $F_{10}$, puis pour calculer $F_{50}$.__"},{"metadata":{"trusted":true},"cell_type":"code","source":"# Effectuer ici les appels à la fonction F\n\n","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## 3. Complément sur la suite de Fibonacci : Quotients de termes successifs. (Tale Spé Math)"},{"metadata":{},"cell_type":"markdown","source":"__3.1. Exécuter les cellules Python suivantes.__
\n$\\quad\\;\\;$__Indiquer ce que permet d'obtenir chaque cellule. Quelle conjecture permettent-elles d'énoncer ?__\n"},{"metadata":{"trusted":true},"cell_type":"code","source":"float(F(21)/F(20))","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"float(F(101)/F(100))","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"float(phi)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"__3.2.a. Vérifier que $\\displaystyle \\left| \\frac{\\psi}{\\phi} \\right|<1$ et en déduire la limite de $\\displaystyle \\left( \\frac{\\psi}{\\phi} \\right)^n$ quand $n$ tend vers $+\\infty$.__\n"},{"metadata":{},"cell_type":"markdown","source":"$\\quad\\;$__b. Démontrer que pour tout $n \\in \\mathbb{N}$ ; $\\displaystyle \\frac{F_{n+1}}{F_n}= \\phi \\times \\frac{1-\\left( \\frac{\\psi}{\\phi} \\right)^{n+2}}{1-\\left( \\frac{\\psi}{\\phi} \\right)^{n+1}}$.__\n"},{"metadata":{},"cell_type":"markdown","source":"$\\quad\\;$__c. Conclure : Quelle est la limite de $\\displaystyle \\frac{F_{n+1}}{F_n}$ quand $n$ tend vers $+\\infty$ ?__\n"},{"metadata":{},"cell_type":"markdown","source":"![Fibonacci](https://raw.githubusercontent.com/PythonLycee/PyLyc/master/img/Leonardo_Fibonacci.jpg)\n\n
Leonardo Fibonacci (env. 1175 - env. 1250) est un mathématicien italien qui a donné son nom à la suite de Fibonacci.
"},{"metadata":{},"cell_type":"markdown","source":"© Copyright Franck CHEVRIER 2019-2022 https://www.python-lycee.com.
\nLes activités partagées sur Capytale sont sous licence Creative Commons.\n

\nDernière modification de l'activité : Juillet 2022"}],"metadata":{"celltoolbar":"Raw Cell Format","kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.7.10"}},"nbformat":4,"nbformat_minor":2}