diff --git a/2nd/13_Programmation/4E_boucle_for.ipynb b/2nd/13_Programmation/4E_boucle_for.ipynb index adb3b21..61008de 100644 --- a/2nd/13_Programmation/4E_boucle_for.ipynb +++ b/2nd/13_Programmation/4E_boucle_for.ipynb @@ -5,7 +5,9 @@ "id": "701f30c9", "metadata": {}, "source": [ - "# Étape 4: boucle for" + "# Étape 4: boucle for\n", + "\n", + "Ce TP commence par l'étape 1. Ensuite les autres étapes peuvent se faire dans l'ordre que vous voulez." ] }, { @@ -13,13 +15,103 @@ "id": "9fcf4959", "metadata": {}, "source": [ - "## Faire la même chose plusieurs fois" + "## 1- Faire la même chose plusieurs fois, une belle punition\n", + "\n", + "Bob n'a pas été sage, il a encore essayer de scotcher son voisin de classe sur sa chaise. Son professeur a une idée très originale pour le punir: lui faire recopier 100 fois \"je ne dois pas scotcher mon voisin sur sa chaise\". Alors Bob commence" ] }, { "cell_type": "code", "execution_count": null, - "id": "601ff306", + "id": "ce53a518", + "metadata": {}, + "outputs": [], + "source": [ + "print(\"je ne dois pas scotcher mon voisin sur sa chaise\")\n", + "print(\"je ne dois pas scotcher mon voisin sur sa chaise\")\n", + "print(\"je ne dois pas scotcher mon voisin sur sa chaise\")\n", + "print(\"je ne dois pas scotcher mon voisin sur sa chaise\")\n", + "print(\"je ne dois pas scotcher mon voisin sur sa chaise\")" + ] + }, + { + "cell_type": "markdown", + "id": "26f634a0", + "metadata": {}, + "source": [ + "Mais il en marre. Alors il se rappelle qu'il peut sans effort utiliser une boucle `for` pour cela." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e967dc51", + "metadata": {}, + "outputs": [], + "source": [ + "for i in range(10):\n", + " print(\"je ne dois pas scotcher mon voisin sur sa chaise\")" + ] + }, + { + "cell_type": "markdown", + "id": "c4fc909c", + "metadata": {}, + "source": [ + "1. Modifier le programme précédent pour qu'il réalise la punition de Bob." + ] + }, + { + "cell_type": "markdown", + "id": "a6d6eccb", + "metadata": {}, + "source": [ + "Bien sûr l'enseignant est fou de rage. Il lui demande de réécrire 100 fois \"Moi Bob, je suis un gros malin et j'utiliser la programmation\" mais cette fois ci entre 2 lignes il doit y avoir une ligne de tirés (\"---------\").\n", + "\n", + "2. Réaliser la punition de Bob" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6a64a946", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "e313c302", + "metadata": {}, + "source": [ + "Encore raté, l'enseignant ne sait plus comment construire une vraie bonne punition pour ce plaisantin. Mais il a une idée, il va lui demander de numéroter ses lignes de punition. Il veut des phrases du genre \"C'est la phrase numéro 10, il me reste encore 90 lignes à faire\".\n", + "\n", + "Bob se rappelle alors qu'il peut utiliser la variable `i` pour compter le nombre de répétition. Il écrire alors" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "37ef2823", + "metadata": {}, + "outputs": [], + "source": [ + "for i in range(4):\n", + " print(\"Je repète \", i, \" fois\")" + ] + }, + { + "cell_type": "markdown", + "id": "290aceed", + "metadata": {}, + "source": [ + "3. Recopier et modifier le programme de Bob pour réaliser sa punition." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1086255e", "metadata": {}, "outputs": [], "source": [] @@ -29,7 +121,30 @@ "id": "9880d494", "metadata": {}, "source": [ - "## Exercices" + "## 2- Calculer des images à pelle\n", + "\n", + "On définit la fonction \n", + "$$ f(x) = 2x - 1$$\n", + "On veut calculer les valeurs de $f(0)$, $f(1)$ jusqu'à $f(10)$. C'est une tache répétitive,on va pouvoir utiliser une boucle `for`" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "795e365f", + "metadata": {}, + "outputs": [], + "source": [ + "for x in range(11):\n", + " print(\"f(\", x, \")=\", 2*x-1)" + ] + }, + { + "cell_type": "markdown", + "id": "f7a16c05", + "metadata": {}, + "source": [ + "1. Calculer les images pour $x$ allant de 0 à 20 par la fonctin $g(x) = 4x^2 - 5x - 1$ (en python la puissance s'écrit avec `**`)." ] }, { @@ -41,12 +156,12 @@ "source": [] }, { - "cell_type": "code", - "execution_count": null, - "id": "f69cc71e", + "cell_type": "markdown", + "id": "a7e5a9b6", "metadata": {}, - "outputs": [], - "source": [] + "source": [ + "2. Calculer les images pour $x$ allant de -10 à 0 par la fonctin $h(x) = -x^2 + x - 1$ " + ] }, { "cell_type": "code", @@ -55,6 +170,197 @@ "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "markdown", + "id": "fa825c38", + "metadata": {}, + "source": [ + "3. Pour x allant de -100 à 100, quelles sont les valeurs de $x$ qui ont une image positive par la fonction $i(x) = -x^2 + 600$." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ca8c089f", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "fa36a0e2", + "metadata": {}, + "source": [ + "## 3- Accumulateurs\n", + "\n", + "Dans le programme suivant, on veut ajouter tous les nombres de 0 à 100." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a265bcd7", + "metadata": {}, + "outputs": [], + "source": [ + "somme = 0\n", + "for i in range(101):\n", + " somme = somme + i\n", + "print(somme)" + ] + }, + { + "cell_type": "markdown", + "id": "5cbbd583", + "metadata": {}, + "source": [ + "1. Adapter le programme pour qu'il fasse la somme des nombres de 50 à 100." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cd1beb45", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "6d626e06", + "metadata": {}, + "source": [ + "2. Adapter le programme pour qu'il fasse le produit des tous les nombres de 0 à 100." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4c59373e", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "210eecab", + "metadata": {}, + "source": [ + "3. On veut ajouter tous les nombres de 0 à 100 qui sont paires. Écrire le programme qui correspond." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f41babe3", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "2d31a788", + "metadata": {}, + "source": [ + "4. Écrire un programme qui fait la somme de tous les multiples de 5 de 0 à 1000." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a983409f", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "bd00940c", + "metadata": {}, + "source": [ + "## 4- Plusieurs boucles\n", + "\n", + "On veut énumérer les points du plan qui ont des coordonnées entières comprises entre -5 et 5. Pour cela il va falloir faire une boucles pour les abscisses (x), une boucle pour les ordonnées (y) et les imbriquer." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "025bd9a2", + "metadata": {}, + "outputs": [], + "source": [ + "for x in range(-5, 6):\n", + " for y in range(-5, 6):\n", + " print(\"(\", x, \",\", y,\")\")" + ] + }, + { + "cell_type": "markdown", + "id": "d99e9ba4", + "metadata": {}, + "source": [ + "1. Lister tous les points à coordonnées entières qui ont une ordonnée égal à 2 (on note $y = 2$)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2ac7145b", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "bab46bf6", + "metadata": {}, + "source": [ + "2. Lister tous les points à coordonnées entières qui sont sur $x = -2$." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4ad1f971", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "9d00d050", + "metadata": {}, + "source": [ + "3. Lister tous les points à coordonnées entières qui sont sur $x = 2y$." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c8698a52", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "614e4eec", + "metadata": {}, + "source": [ + "4. En informatique, on peut coder une couleur en RGB (rouge, vert, bleu). Ce sont 3 nombres compris entre 0 et 255 mis sous forme de coordonnée.\n", + "\n", + "Écrire un programme qui liste toutes les couleurs RGB possibles." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "767eb5c6", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/2nd/13_Programmation/5E_boucles_while.ipynb b/2nd/13_Programmation/5E_boucles_while.ipynb index a6f100f..1df21aa 100644 --- a/2nd/13_Programmation/5E_boucles_while.ipynb +++ b/2nd/13_Programmation/5E_boucles_while.ipynb @@ -5,16 +5,60 @@ "id": "78c29ed0", "metadata": {}, "source": [ - "# Étape 5: boucle while" + "# Étape 5: boucle while\n", + "\n", + "`While` signifie `tant que` en anglais. Cette instruction va répéter **tant que** quelque chose est vrai." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "779f540b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "i vaut 0 . C'est plus petit que 10 je continue\n", + "i vaut 1 . C'est plus petit que 10 je continue\n", + "i vaut 2 . C'est plus petit que 10 je continue\n", + "i vaut 3 . C'est plus petit que 10 je continue\n", + "i vaut 4 . C'est plus petit que 10 je continue\n", + "i vaut 5 . C'est plus petit que 10 je continue\n", + "i vaut 6 . C'est plus petit que 10 je continue\n", + "i vaut 7 . C'est plus petit que 10 je continue\n", + "i vaut 8 . C'est plus petit que 10 je continue\n", + "i vaut 9 . C'est plus petit que 10 je continue\n", + "i vaut 10 . C'est plus grand que 10. Je suis sorti de la boucle\n" + ] + } + ], + "source": [ + "i = 0\n", + "while i < 10:\n", + " print(\"i vaut\", i, \". C'est plus petit que 10 je continue\")\n", + " i = i + 1\n", + "print(\"i vaut \", i, \". C'est plus grand que 10. Je suis sorti de la boucle\")" ] }, { "cell_type": "code", "execution_count": null, - "id": "779f540b", + "id": "23aabfac", "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "markdown", + "id": "9ef8751b", + "metadata": {}, + "source": [ + "## - A trouvé?\n", + "\n", + "On veut programmer " + ] } ], "metadata": { diff --git a/2nd/13_Programmation/6E_fonctions.ipynb b/2nd/13_Programmation/6E_fonctions.ipynb index c810f95..d2ad85c 100644 --- a/2nd/13_Programmation/6E_fonctions.ipynb +++ b/2nd/13_Programmation/6E_fonctions.ipynb @@ -5,7 +5,8 @@ "id": "b4d60a66", "metadata": {}, "source": [ - "# Étape 6: fonctions" + "# Étape 6: fonctions\n", + "\n" ] }, {