{"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":"# Le flocon de Von Koch (corrigé)"},{"metadata":{},"cell_type":"markdown","source":"### Sommaire\n\n1. Construction géométrique et notations
\n2. Étude du périmètre du flocon de Von Koch
\n3. Étude de l'aire du flocon de Von Koch
\n"},{"metadata":{},"cell_type":"markdown","source":"## 1. Construction géométrique et notations"},{"metadata":{},"cell_type":"markdown","source":"
\n Description de la construction :

\n La figure initiale est un triangle équilatéral $P_0$ de côté $1$.

\n À chaque étape, le polygone $P_n$ étant construit avec des côtés de longueur $a_n$, on obtient le polygone $P_{n+1}$ en remplaçant chaque côté par une ligne polygonale à quatre segments de longueur $a_{n+1}=\\displaystyle \\frac{a_n}{3}$ , vers l’extérieur.

\n
\n Activer la figure dynamique ci-dessous, qui permet de visualiser les polygones $P_n$ pour les premières valeurs de $n$.
\n (Pour faire apparaître et activer la figure dynamique, sélectionner la cellule et valider avec SHIFT+Entrée)."},{"metadata":{"trusted":false},"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":"
\n
\n \n
\n Notations :

\nPour tout $n \\in \\mathbb{N}$, on note :\n \n
"},{"metadata":{},"cell_type":"markdown","source":"## 2. Étude du périmètre du flocon de Von Koch"},{"metadata":{},"cell_type":"markdown","source":"2.1. $\\;$a. Donner les valeurs de $c_0$ ; $c_1$ et $c_2$.
\n$\\quad\\;\\;$ b. Quelle est la nature de la suite $(c_n)_{n\\geq0}$ ? Exprimer $c_n$ en fonction de $n$.
\n$\\quad\\;\\;$ c. Combien le polygone $P_5$ a-t-il de côtés ?
\n$\\quad\\;\\;$ d. Déterminer $\\displaystyle\\lim\\limits_{n \\to +\\infty}{c_n}$.
\n$\\quad\\;\\;$ e. Écrire une fonction Python c d'argument n permettant le calcul de $c(n)$.
\n$\\quad\\quad\\;$ Effectuer ensuite les saisies nécessaires pour vérifier le résultat de la question 2.1.c.\n
\n

\n\na. $c_0=3$ ; $c_1=3\\times4=12$ ; $c_2=12\\times4=48$.
\nb. $(c_n)_{n\\geq0}$ est géométrique de premier terme $c_0=3$ et de raison $q=4$ donc $c_n=3\\times4^n$.
\nc. $P_5$ a $c_5=3\\times4^5=3072$ côtés.
\nd. $c_0=3>0$ et $q=4>1$ donc $\\displaystyle\\lim\\limits_{n \\to +\\infty}{c_n}=+\\infty$.
\n
"},{"metadata":{"trusted":false},"cell_type":"code","source":"# Écrire ici la fonction c permettant le calcul de c(n)\n\ndef c(n):\n \"Fonction qui calcule le nombre de côtés du polygone P_n\"\n return 3*4**n","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"# Effectuer ici la saisie pour vérifier le résultat de la question 2.1.c.\nc(5)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"2.2. $\\;$a. Donner les valeurs exactes de $a_0$ ; $a_1$ et $a_2$.
\n$\\quad\\;\\;$ b. Quelle est la nature de la suite $(a_n)_{n\\geq0}$ ? Exprimer $a_n$ en fonction de $n$.
\n$\\quad\\;\\;$ c. Quelle est la longueur des côtés du polygone $P_5$ ?
\n$\\quad\\;\\;$ d. Déterminer $\\displaystyle\\lim\\limits_{n \\to +\\infty}{a_n}$.
\n$\\quad\\;\\;$ e. La fonction Python a d'argument n donnée ci-dessous permet le calcul de la valeur exacte de $a(n)$.
\n$\\quad\\quad\\;$ Effectuer la saisie nécessaire pour vérifier le résultats de la questions 2.2.c.\n
\n

\n\na. $a_0=1$ ; $\\displaystyle a_1=\\frac{a_0}{3}=\\frac{1}{3}$ ; $\\displaystyle a_2=\\frac{a_1}{3}=\\frac{1}{9}$.
\nb. $(a_n)_{n\\geq0}$ est géométrique de premier terme $a_0=1$ et de raison $q=\\displaystyle \\frac{1}{3}$ donc $\\displaystyle a_n=\\frac{1}{3^n}$.
\nc. La longueur des côtés de $P_5$ est $\\displaystyle a_5=\\frac{1}{3^5}=\\frac{1}{243}$.
\nd. $a_0=1>0$ et $0 \n
"},{"metadata":{"trusted":false},"cell_type":"code","source":"from sympy import Rational \n# Cet import permet d'utiliser la fonction Rational pour effectuer des calculs de fractions sous forme exacte\n\ndef a(n):\n \"Fonction qui calcule la longueur des côtés du polygone P_n\"\n return Rational(1,3**n)","execution_count":null,"outputs":[]},{"metadata":{"scrolled":true,"trusted":false},"cell_type":"code","source":"# Effectuer ici la saisie pour vérifier le résultat de la question 2.2.c.\na(5)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"2.3. $\\;$a. Exprimer $p_n$ en fonction de $c_n$ et $a_n$.
\n$\\quad\\;\\;$ b. Déterminer la valeur exacte du périmètre de $P_5$.
\n$\\quad\\;\\;$ c. Écrire une fonction Python p d'argument n permettant le calcul de la valeur exacte de $p_n$
\n$\\quad\\quad\\;$ (on effectuera des appels aux fonctions précédentes avec les syntaxes c(n) et a(n)). \n$\\quad\\quad\\;$ Effectuer la saisie nécessaire pour vérifier le résultat de la question 2.3.b.\n
\n

\n\na. $p_n=c_n\\times a_n$.
\nb. Le périmètre de $P_5$ est $\\displaystyle p_5=c_5\\times a_5=\\frac{3\\times4^5}{3^5}=\\frac{4^5}{3^4}=\\frac{1024}{81}$.
\n
"},{"metadata":{"trusted":false},"cell_type":"code","source":"# Écrire ici la fonction p permettant le calcul de p(n) sous forme exacte\n\ndef p(n):\n \"Fonction qui calcule le périmètre du polygone P_n\"\n return a(n)*c(n)","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"# Effectuer ici la saisie pour vérifier le résultat de la question 2.3.b.\np(5)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"\n$\\quad$ d. Exprimer $p_n$ en fonction de $n$. Justifier que la suite $(p_n)_{n\\geq0}$ est géométrique.
\n$\\quad$ e. Déterminer $\\displaystyle\\lim\\limits_{n \\to +\\infty}{p_n}$. Donner une interprétation géométrique de ce résultat.\n
\n

\n\na. $\\displaystyle p_n=c_n\\times a_n=3\\times4^n\\times\\frac{1}{3^n}=3\\times \\left( \\frac{4}{3} \\right)^n$.
\n$\\;\\;\\;$On obtient l'expression d'une suite géométrique de premier terme $p_0=3$ et de raison $\\displaystyle q=\\frac{4}{3}$.
\nb. $p_0=3>0$ et $q=\\frac{4}{3}>1$ donc $\\displaystyle\\lim\\limits_{n \\to +\\infty}{a_n}=+\\infty$.
\n$\\;\\;\\;$Le périmètre de $P_n$ peut être aussi grand qu'on le souhaite, pour $n$ \"assez grand\".
\n$\\;\\;\\;$Ainsi le flocon de Von Koch a un contour de longueur infinie.\n
"},{"metadata":{},"cell_type":"markdown","source":"## 3. Étude de l'aire du flocon de Von Koch"},{"metadata":{},"cell_type":"markdown","source":"3.1. $\\;$Démontrer qu'un triangle équilatéral de côté $a>0$ a pour aire $\\displaystyle \\frac{\\sqrt{3}}{4}a^2$.
\n3.2. $\\;$Donner la valeur de $A_0$.
\n3.3. $\\;$a. Combien de triangles sont ajoutés lorsqu'on passe de la figure $P_0$ à $P_1$ ? Que vaut l'aire ajoutée ? En déduire la valeur de $A_1$.
\n$\\quad\\;\\;$ b. On fournit ci-dessous la fonction Python AireEqui d'argument a qui permet le calcul de la valeur exacte d'un triangle de côté $a$.
\n$\\quad\\quad\\;$ Effectuer la saisie nécessaire pour effectuer le calcul de $A_1$ de la question 3.3.a.
\n$\\quad\\quad\\;$ (on utilisera respectivement les syntaxes a(0) et a(1) pour les longueurs des côtés de $P_0$ et $P_1$)\n
\n

\n\n3.1. La hauteur d'un triangle équilatéral de côté $a$ vaut $\\displaystyle \\frac{a\\sqrt{3}}{2}$ (peut s'établir à l'aide du théorème de Pythagore ou à l'aide de résultats de trigonométrie).
\n$\\quad\\;$ Ainsi l'aire d'un tel triangle vaut $\\displaystyle \\frac{a\\times \\frac{a\\sqrt{3}}{2}}{2}=\\frac{a^2\\sqrt{3}}{4}.$
\n3.2. $\\displaystyle A_0=\\frac{a_0^2\\sqrt{3}}{4}=\\frac{\\sqrt{3}}{4}$.
\n3.3.a. Lorsqu'on passe de la figure $P_0$ à $P_1$ on ajoute $c_0=3$ triangles équilatéraux de côté $\\displaystyle a_1=\\frac{1}{3}$.
\n$\\quad\\;\\;\\;$ L'aire ajoutée vaut donc $\\displaystyle 3\\times \\frac{ \\left( \\frac{1}{3} \\right) ^2\\sqrt{3}}{4}=\\frac{\\sqrt{3}}{12}.$
\n$\\quad\\;\\;\\;$ On en déduit $\\displaystyle A_1=A_0+\\frac{\\sqrt{3}}{12}=\\frac{\\sqrt{3}}{4}+\\frac{\\sqrt{3}}{12}=\\frac{\\sqrt{3}}{3}$.
\n
"},{"metadata":{"trusted":false},"cell_type":"code","source":"from sympy import sqrt\n# Cet import permet d'utiliser la fonction sqrt pour effectuer des calculs avec racines carrées sous forme exacte\n\ndef AireEqui(a):\n \"Fonction qui calcule l'aire d'un triangle équilatéral de côté a (sous forme exacte)\"\n return sqrt(3)*Rational(a**2,4)","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"# Effectuer ici la saisie pour retrouver le résultat de la question 3.3.a.\nAireEqui(a(0))+3*AireEqui(a(1))","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"
\n \n
\n3.4. On effectue maintenant un raisonnement similaire à celui de la question 3.2. dans le cas général.
\n$\\quad\\;\\;$ a. On considère un entier $n>0$.
\n$\\quad\\quad\\;\\;$ En raisonnant sur les aires ajoutées lorsqu'on passe de la figure $P_{n-1}$ à $P_n$, justifier que :
\n$\\quad\\quad\\;\\;$ $\\displaystyle A_n = A_{n-1}+c_{n-1}\\times \\frac{\\sqrt{3}}{4}{a_n}^2$
\n$\\quad\\;\\;$ b. On fournit ci-dessous la fonction Python A d'argument n permettant le calcul de $A_n$..
\n$\\quad\\quad\\;\\;$ Exécuter les saisies proposées pour obtenir la valeur exacte de $A_1$ et sa valeur décimale approchée.
\n$\\quad\\quad\\;\\;$ Vérifier la cohérence avec les résultats des questions 3.3.a. et 3.3.b.\n
\n

\n\n3.4.a. Lorsqu'on passe de la figure $P_{n-1}$ à $P_n$ on ajoute $c_{n-1}$ triangles équilatéraux de côté $\\displaystyle a_n$, d'où le résultat.
\n
"},{"metadata":{"trusted":false},"cell_type":"code","source":"def A(n):\n \"fonction qui calcule l'aire du polygone P_n (sous forme exacte)\"\n if n==0: return AireEqui(1)\n return A(n-1)+c(n-1)*sqrt(3)*Rational(a(n)**2,4)","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"A(1)","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"A(1).evalf()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"\n$\\quad\\;\\;$ d. Effectuer des saisies pour évaluer $A_5$, $A_{10}$ et $A_{100}$.
\n$\\quad\\quad\\;\\;$ Que peut-on conjecturer pour la suite $(A_n)_{n\\geq0}$ ?
\n$\\quad\\quad\\;\\;$ Interpréter géométriquement ce résultat.
\n
\n

\n\nIl semble que la suite $(A_n)_{n\\geq0}$ soit majorée et admette une limite finie.
\nAinsi, le flocon de Von Koch a une aire finie, bien que délimité par un contour de longueur infini.\n
"},{"metadata":{"trusted":false},"cell_type":"code","source":"# Utiliser ces zones pour les saisies demandées\nA(5)","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"A(5).evalf()","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"A(10)","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"A(10).evalf()","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"A(100)","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"A(100).evalf()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"![Von_Koch](https://raw.githubusercontent.com/PythonLycee/PyLyc/master/img/Von_Koch.png)\n\n
Niels Fabian Helge von Koch (1870-1924)
"},{"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}