{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Les suites définies par récurrence" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Attention : ne pas oublier d'exécuter la première cellule !**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Définition" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "u_0 = 3 et pour tout n>=0, u_n+1 = f(u_n).\n" ] } ], "source": [ "nom=\"u\"\n", "nmin=0\n", "u_nmin=3\n", "\n", "def f(n) :\n", " return 2*n+1\n", "\n", "print(f\"{nom}_{nmin} = {u_nmin} et pour tout n>={nmin}, {nom}_n+1 = f({nom}_n).\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Calcul des premiers termes" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "u_ 0 = 3\n", "u_ 1 = 7\n", "u_ 2 = 15\n", "u_ 3 = 31\n", "u_ 4 = 63\n", "u_ 5 = 127\n", "u_ 6 = 255\n", "u_ 7 = 511\n", "u_ 8 = 1023\n", "u_ 9 = 2047\n", "u_10 = 4095\n" ] } ], "source": [ "n=nmin\n", "u=u_nmin\n", "\n", "while(n<=10):\n", " print(f\"{nom}_{n:2d} = {u:4d}\")\n", " n=n+1\n", " u=f(u)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Calcul des premiers termes et des premières sommes" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "u_ 0 = 3 S_ 0 = 3\n", "u_ 1 = 7 S_ 1 = 10\n", "u_ 2 = 15 S_ 2 = 25\n", "u_ 3 = 31 S_ 3 = 56\n", "u_ 4 = 63 S_ 4 = 119\n", "u_ 5 = 127 S_ 5 = 246\n", "u_ 6 = 255 S_ 6 = 501\n", "u_ 7 = 511 S_ 7 = 1012\n", "u_ 8 = 1023 S_ 8 = 2035\n", "u_ 9 = 2047 S_ 9 = 4082\n", "u_10 = 4095 S_10 = 8177\n" ] } ], "source": [ "n=nmin\n", "u=u_nmin\n", "s=u\n", "\n", "while(n<=10):\n", " print(f\"{nom}_{n:2d} = {u:4d} S_{n:2d} = {s:4d}\")\n", " n=n+1\n", " u=f(u)\n", " s=s+u" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Test sur la valeur de la suite" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "u_ 0 = 3\n", "u_ 1 = 7\n", "u_ 2 = 15\n", "u_ 3 = 31\n", "u_ 4 = 63\n", "\n", "------------------\n", "\n", "u_ 5 = 127\n" ] } ], "source": [ "n=nmin\n", "u=u_nmin\n", "\n", "while(u<100):\n", " print(f\"{nom}_{n:2d} = {u:4d}\")\n", " n=n+1\n", " u=f(u)\n", "\n", "print(\"\\n------------------\\n\")\n", "print(f\"{nom}_{n:2d} = {u:4d}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Test sur la valeur de la somme" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "u_ 0 = 3 S_ 0 = 3\n", "u_ 1 = 7 S_ 1 = 10\n", "u_ 2 = 15 S_ 2 = 25\n", "u_ 3 = 31 S_ 3 = 56\n", "u_ 4 = 63 S_ 4 = 119\n", "u_ 5 = 127 S_ 5 = 246\n", "u_ 6 = 255 S_ 6 = 501\n", "\n", "------------------\n", "\n", "u_ 7 = 511 S_ 7 = 1012\n" ] } ], "source": [ "n=nmin\n", "u=u_nmin\n", "s=u\n", "\n", "while(s<1_000):\n", " print(f\"{nom}_{n:2d} = {u:4d} S_{n:2d} = {s:4d}\")\n", " n=n+1\n", " u=f(u)\n", " s=s+u\n", " \n", "print(\"\\n------------------\\n\")\n", "print(f\"{nom}_{n:2d} = {u:4d} S_{n:2d} = {s:4d}\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "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.6.7" } }, "nbformat": 4, "nbformat_minor": 2 }