"![Représentation graphique de f](./fig/g_pas1.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Précision et controle du tracé\n",
"\n",
"Pour le moment, on sait donner un maximum à l'antécédent $x$ mais on ne peut pas contrôler le minimum ni le pas (l'écart en 2 valeurs de $x$). Or pour tracer précisément la représentation graphique d'une fonction, nous avons besoin de contrôler la fenêtre (minimum et maximum) et le pas."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Boucle `while` (tant que )\n",
"\n",
"Ce type de boucle donne plus de contrôle sur $x$ et nous évite d'utiliser `range` qui est une commande qui n'existe que en Python.\n",
"\n",
"Les 2 programmes ci-dessous font la même chose."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"for x in range(10):\n",
" print(x)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"x = 0\n",
"while x < 10:\n",
" print(x)\n",
" x = x + 1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Commenter** le programme avec le `while`.\n",
"\n",
"Que se passe-t-il si on inverse les 2 dernières lignes?\n",
"\n",
"**Réécrire** le programme suivant en utilisant une boucle `while` et en stockant les antécédents."
"**Modifier** votre programme pour que les antécédents aillent de -2 à 2.\n",
"\n",
"**Modifier** votre programme pour que les antécédents augmentent avec un pas de 0.5 au lieu de 1.\n",
"\n",
"**Tracer** sa représentation graphique pour $x$ allant de -2 à 2 avec un pas de 1. \n",
"\n",
"**Tracer** sa représentation graphique pour $x$ allant de -2 à 2 avec un pas de 0.5. \n",
"\n",
"**Tracer** sa représentation graphique pour $x$ allant de -2 à 2 avec un pas de 0.1.\n",
"\n",
"En regroupant les 3 programmes écrit précedement, **tracer** sur le même graphique les 3 représentations pour observer l'amélioration de la précision.\n",
"\n",
"*Astuce*: pour tracer 3 graphiques en 1, on fait les `plt.plot(...)` de chaque graphique et uniquement à la fin on lance `plt.show()`.\n",