Feat: fin de boucle_for mais pas vraiment avancé les autres
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Bertrand Benjamin 2022-03-03 11:48:35 +01:00
parent 951edb1e13
commit 518a03e5c1
3 changed files with 363 additions and 12 deletions

View File

@ -5,7 +5,9 @@
"id": "701f30c9", "id": "701f30c9",
"metadata": {}, "metadata": {},
"source": [ "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", "id": "9fcf4959",
"metadata": {}, "metadata": {},
"source": [ "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", "cell_type": "code",
"execution_count": null, "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": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [] "source": []
@ -29,7 +121,30 @@
"id": "9880d494", "id": "9880d494",
"metadata": {}, "metadata": {},
"source": [ "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": [] "source": []
}, },
{ {
"cell_type": "code", "cell_type": "markdown",
"execution_count": null, "id": "a7e5a9b6",
"id": "f69cc71e",
"metadata": {}, "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", "cell_type": "code",
@ -55,6 +170,197 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [] "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": { "metadata": {

View File

@ -5,16 +5,60 @@
"id": "78c29ed0", "id": "78c29ed0",
"metadata": {}, "metadata": {},
"source": [ "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", "cell_type": "code",
"execution_count": null, "execution_count": null,
"id": "779f540b", "id": "23aabfac",
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [] "source": []
},
{
"cell_type": "markdown",
"id": "9ef8751b",
"metadata": {},
"source": [
"## - A trouvé?\n",
"\n",
"On veut programmer "
]
} }
], ],
"metadata": { "metadata": {

View File

@ -5,7 +5,8 @@
"id": "b4d60a66", "id": "b4d60a66",
"metadata": {}, "metadata": {},
"source": [ "source": [
"# Étape 6: fonctions" "# Étape 6: fonctions\n",
"\n"
] ]
}, },
{ {