From 933f764063de3b08a39d0fad7b0d055dcde7cc4a Mon Sep 17 00:00:00 2001 From: Bertrand Benjamin Date: Tue, 1 Mar 2022 09:37:43 +0100 Subject: [PATCH] Feat: prise en compte des remarques de Camille --- 2nd/13_Programmation/1E_tour_d_horizon.ipynb | 356 +--------------- 2nd/13_Programmation/2E_variables.ipynb | 402 +------------------ 2nd/13_Programmation/index.rst | 4 +- 3 files changed, 4 insertions(+), 758 deletions(-) diff --git a/2nd/13_Programmation/1E_tour_d_horizon.ipynb b/2nd/13_Programmation/1E_tour_d_horizon.ipynb index c5bbed4..ff17ea6 100644 --- a/2nd/13_Programmation/1E_tour_d_horizon.ipynb +++ b/2nd/13_Programmation/1E_tour_d_horizon.ipynb @@ -1,355 +1 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "82bb037d", - "metadata": {}, - "source": [ - "# Étape 1: Tour d'horizon\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "id": "a09120aa", - "metadata": {}, - "source": [ - "## Decrire un programme\n", - "\n", - "Ci-dessous, vous retrouverez des programmes. Vous devez les executer. Puis écrire une phrase par ligne de programme pour décrire ce qu'elle fait." - ] - }, - { - "cell_type": "markdown", - "id": "ce34c464", - "metadata": {}, - "source": [ - "### Programme 1" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6c462cdd", - "metadata": {}, - "outputs": [], - "source": [ - "print(\"Hello les 2nd\")\n", - "a = 2\n", - "print(a + a)" - ] - }, - { - "cell_type": "markdown", - "id": "b766a901", - "metadata": {}, - "source": [ - "Description" - ] - }, - { - "cell_type": "raw", - "id": "9aa07472", - "metadata": {}, - "source": [] - }, - { - "cell_type": "markdown", - "id": "6705ac53", - "metadata": {}, - "source": [ - "### Programme 2" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7c20ebd3", - "metadata": {}, - "outputs": [], - "source": [ - "age = int(input(\"Quel age as-tu?\"))\n", - "if age >= 18:\n", - " print(\"Tu es majeur, tu peux passer ton permis\")\n", - "else:\n", - " print(\"Tu es mineur\")\n", - " \n", - " print(\"Il te reste \", 18 - age, \"ans avant de pouvoir passer le permis\")" - ] - }, - { - "cell_type": "markdown", - "id": "37efc7f9", - "metadata": {}, - "source": [ - "Description" - ] - }, - { - "cell_type": "raw", - "id": "0f5661ea", - "metadata": {}, - "source": [] - }, - { - "cell_type": "markdown", - "id": "779b8f5e", - "metadata": {}, - "source": [ - "### Programme 3\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "62ff525c", - "metadata": {}, - "outputs": [], - "source": [ - "def f(x):\n", - " resultat = x^2 + 2\n", - " return resultat\n", - "print(f(0))\n", - "print(f(10))" - ] - }, - { - "cell_type": "markdown", - "id": "13ebd340", - "metadata": {}, - "source": [ - "Description" - ] - }, - { - "cell_type": "raw", - "id": "429f7854", - "metadata": {}, - "source": [] - }, - { - "cell_type": "markdown", - "id": "244bd147", - "metadata": {}, - "source": [ - "## Modifier le programme de la momie\n", - "\n", - "Ci-dessous, vous avez un programme qui code un jeu de hazard. Faites quelques parties pour essayer de comprendre ce qu'il s'y passe.\n", - "\n", - "**Ne modifier pas ce programme**\n", - "\n", - "Si plus rien ne se passe sans message rouge, un `input` est bloqué. Cliquer sur `Noyau` puis sur `Redémmarer & effacer les sorties`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8c4cabd7", - "metadata": {}, - "outputs": [], - "source": [ - "# Programme de la momie - tiré du livre les maths ensembles et pour chacun\n", - "from random import randint\n", - "\n", - "def choisir_porte(nombre_portes):\n", - " print(\"Il y a \" + str(nombre_portes) + \" portes devant toi.\")\n", - " porte_choisie = int(input( \"Laquelle ouvres-tu?\"))\n", - " return porte_choisie\n", - " \n", - " \n", - "nombre_portes = 3\n", - "points_de_vie = 5\n", - "score = 0\n", - "degat_momie = 3\n", - "\n", - "while points_de_vie > 0:\n", - " print(\"Tu arrives dans un long couloir et tu avances. Jusqu'à ce que...\")\n", - " porte_momie = randint(0, nombre_portes)\n", - " porte_choisie = choisir_porte(nombre_portes)\n", - " if porte_choisie == porte_momie:\n", - " print(\"Une momie attaque!\")\n", - " for i in range(degat_momie):\n", - " print(\"Elle te touche une fois\")\n", - " points_de_vie = points_de_vie - 1\n", - " else:\n", - " print(\"Rien! Tu as survécu à une porte en plus.\")\n", - " score = score + 1\n", - "\n", - "print(\"T'es mort. Tu n'as plus de points de vie.\")\n", - "print(\"Le jeu est fini, ton score est de \", score)" - ] - }, - { - "cell_type": "markdown", - "id": "4adb232c", - "metadata": {}, - "source": [ - "Maintenant que vous avez un peu joué à ce jeu. Vous allez créer des variantes de ce jeu. \n", - "\n", - "Vous devez faire dans l'ordre les variantes 1, 2 et 3. Les autres peuvent être fait dans l'ordre que vous souhaitez en fonction de ce qui vous inspire.\n", - "\n", - "**Pour chaque variante, vous copirez puis collerez le programme précédent avant de le modifier.**" - ] - }, - { - "cell_type": "markdown", - "id": "e360a730", - "metadata": {}, - "source": [ - "*Variante 1* Modifier le programme pour que chaque ouverture de porte sans momie rapporte 10 points" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cdf9574f", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "id": "bf70e6c4", - "metadata": {}, - "source": [ - "*Variante 2* Modifier le programme pour que l'on commence avec 5 points de vie mais qu'il n'y ait que deux portes à chaque fois." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "20e5169e", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "id": "7b0a44c8", - "metadata": {}, - "source": [ - "*Variante 3* On part fixe le nombre de porte à 3. Quelle est la probabilité de tomber sur un momie? Transformer le programme pour la probabilité de tomber sur un momie soit de 3/2." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4d363605", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "id": "470dee5f", - "metadata": {}, - "source": [ - "---\n", - "Les variantes suivantes peuvent être faites dans l'ordre que vous souhaitez." - ] - }, - { - "cell_type": "markdown", - "id": "3836b2cb", - "metadata": {}, - "source": [ - "*Variante 4* Le programme comporte un gros bug. Il est possible de ne jamais être dévoré par la momie. Proposer une façon de corriger ce bug." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5542e10a", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "id": "c36ead34", - "metadata": {}, - "source": [ - "*Variante 5* Modifier le programme pour qu'à chaque fois que l'on tombe sur une momie. On ait une chance sur deux de perdre 1 point de vie et une chance sur 2 de ne perdre 2 points de vie." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "739845b3", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "id": "30099d48", - "metadata": {}, - "source": [ - "*Variante 6* Ajouter d'autres monstres cachés derière d'autres portes qui enlèves plus ou moins de points." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "26496d02", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "id": "67564a0e", - "metadata": {}, - "source": [ - "Variante 7 Étonnez nous avec une variante bien à vous!" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "05ab2d60", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "id": "99b5faf1", - "metadata": {}, - "source": [ - "## Bilan\n", - "\n", - "Noter les mots écris en vert dans différents programmes manipulés et décrire l'action de chacun d'eux." - ] - }, - { - "cell_type": "raw", - "id": "935c6a7a", - "metadata": {}, - "source": [ - "\n" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "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.10.2" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} +{"cells":[{"metadata":{},"cell_type":"markdown","source":"# Étape 1: Tour d'horizon\n\n"},{"metadata":{},"cell_type":"markdown","source":"## Decrire un programme\n\nCi-dessous, vous retrouverez des programmes. Vous devez les executer. Puis écrire une phrase par ligne de programme pour décrire ce qu'elle fait."},{"metadata":{},"cell_type":"markdown","source":"### Programme 1"},{"metadata":{"trusted":false},"cell_type":"code","source":"print(\"Hello les 2nd\")\na = 2\nprint(a + a)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Description"},{"metadata":{},"cell_type":"raw","source":""},{"metadata":{},"cell_type":"markdown","source":"### Programme 2"},{"metadata":{"trusted":false},"cell_type":"code","source":"age = int(input(\"Quel age as-tu?\"))\nif age >= 18:\n print(\"Tu es majeur, tu peux passer ton permis\")\nelse:\n print(\"Tu es mineur\")\n \n print(\"Il te reste \", 18 - age, \"ans avant de pouvoir passer le permis\")","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Description"},{"metadata":{},"cell_type":"raw","source":""},{"metadata":{},"cell_type":"markdown","source":"### Programme 3\n"},{"metadata":{"trusted":false},"cell_type":"code","source":"def f(x):\n resultat = x^2 + 2\n return resultat\nprint(f(0))\nprint(f(10))","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Description"},{"metadata":{},"cell_type":"raw","source":""},{"metadata":{},"cell_type":"markdown","source":"## Modifier le programme de la momie\n\n\nOuvrez le programme édupython \n\nCi-dessous, vous avez un programme qui code un jeu de hazard. \n\n**Copier puis coller tout le programme dans édupython** puis lancer quelques parties pour comprendre ce que faire ce jeux.\n"},{"metadata":{"trusted":false},"cell_type":"code","source":"# Programme de la momie - tiré du livre les maths ensembles et pour chacun\nfrom random import randint\n\ndef choisir_porte(nombre_portes):\n print(\"Il y a \" + str(nombre_portes) + \" portes devant toi.\")\n porte_choisie = int(input( \"Laquelle ouvres-tu?\"))\n return porte_choisie\n \n \nnombre_portes = 3\npoints_de_vie = 5\nscore = 0\ndegat_momie = 3\n\nwhile points_de_vie > 0:\n print(\"Tu arrives dans un long couloir et tu avances. Jusqu'à ce que...\")\n porte_momie = randint(0, nombre_portes)\n porte_choisie = choisir_porte(nombre_portes)\n if porte_choisie == porte_momie:\n print(\"Une momie attaque!\")\n for i in range(degat_momie):\n print(\"Elle te touche une fois\")\n points_de_vie = points_de_vie - 1\n else:\n print(\"Rien! Tu as survécu à une porte en plus.\")\n score = score + 1\n\nprint(\"T'es mort. Tu n'as plus de points de vie.\")\nprint(\"Le jeu est fini, ton score est de \", score)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Maintenant que vous avez un peu joué à ce jeu. Vous allez créer des variantes de ce jeu. \n\nVous devez faire dans l'ordre les variantes 1, 2 et 3. Les autres peuvent être fait dans l'ordre que vous souhaitez en fonction de ce qui vous inspire.\n\n\n**Pour chaque variante, vous copirez puis collerez le programme précédent dans un nouveau fichier dans édupython avant de le modifier.**"},{"metadata":{},"cell_type":"markdown","source":"*Variante 1* Modifier le programme pour que chaque ouverture de porte sans momie rapporte 10 points"},{"metadata":{},"cell_type":"markdown","source":"*Variante 2* Modifier le programme pour que l'on commence avec 5 points de vie mais qu'il n'y ait que deux portes à chaque fois."},{"metadata":{},"cell_type":"markdown","source":"*Variante 3* On part fixe le nombre de porte à 3. Quelle est la probabilité de tomber sur un momie? Transformer le programme pour la probabilité de tomber sur un momie soit de 3/2."},{"metadata":{},"cell_type":"markdown","source":"---\nLes variantes suivantes peuvent être faites dans l'ordre que vous souhaitez."},{"metadata":{},"cell_type":"markdown","source":"*Variante 4* Le programme comporte un gros bug. Il est possible de ne jamais être dévoré par la momie. Proposer une façon de corriger ce bug."},{"metadata":{},"cell_type":"markdown","source":"*Variante 5* Modifier le programme pour qu'à chaque fois que l'on tombe sur une momie. On ait une chance sur deux de perdre 1 point de vie et une chance sur 2 de ne perdre 2 points de vie."},{"metadata":{},"cell_type":"markdown","source":"*Variante 6* Ajouter d'autres monstres cachés derière d'autres portes qui enlèves plus ou moins de points."},{"metadata":{},"cell_type":"markdown","source":"Variante 7 Étonnez nous avec une variante bien à vous!"},{"metadata":{},"cell_type":"markdown","source":"## Bilan\n\nNoter les mots écris en vert dans différents programmes manipulés et décrire l'action de chacun d'eux."},{"metadata":{},"cell_type":"raw","source":"\n"}],"metadata":{"kernelspec":{"display_name":"Python 3 (ipykernel)","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.10.2"}},"nbformat":4,"nbformat_minor":2} \ No newline at end of file diff --git a/2nd/13_Programmation/2E_variables.ipynb b/2nd/13_Programmation/2E_variables.ipynb index 6f87c8a..da65788 100644 --- a/2nd/13_Programmation/2E_variables.ipynb +++ b/2nd/13_Programmation/2E_variables.ipynb @@ -1,401 +1 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "2c522bc1", - "metadata": {}, - "source": [ - "# Étape 2: Variables, affectation et type" - ] - }, - { - "cell_type": "markdown", - "id": "7966e3c2", - "metadata": {}, - "source": [ - "### Trois types de variables\n", - "\n", - "Pour nous (humain) les trois variables qui suivent sont itdentiques" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d366babc", - "metadata": {}, - "outputs": [], - "source": [ - "a = 1\n", - "a" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "87873ff4", - "metadata": {}, - "outputs": [], - "source": [ - "b = 1.0\n", - "b" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "98f34ab7", - "metadata": {}, - "outputs": [], - "source": [ - "c = \"1\"\n", - "c" - ] - }, - { - "cell_type": "markdown", - "id": "a1296b4f", - "metadata": {}, - "source": [ - "Mais pour Python ce sont trois choses très différentes. Le premier est un **entier**, le deuxième est un **flottant** (nombre à virgule) et le dernier est une **chaine de caractères**." - ] - }, - { - "cell_type": "markdown", - "id": "a65d6da0", - "metadata": {}, - "source": [ - "1. Trier les variables suivantes en fonction de leur type" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "86571601", - "metadata": {}, - "outputs": [], - "source": [ - "a = 3\n", - "b = 4.5\n", - "c = \"coucou\"\n", - "d = \"6\"\n", - "e = 8\n", - "f = 5.0\n", - "g = \"09\"\n", - "h = \"0.4\"" - ] - }, - { - "cell_type": "raw", - "id": "708fea37", - "metadata": {}, - "source": [ - "Les entiers:\n", - "Les flottants:\n", - "Les chaines de caractères:" - ] - }, - { - "cell_type": "markdown", - "id": "1cb8c216", - "metadata": {}, - "source": [ - "Il est possible de transformer les types. Pour cela, Python utilise les trois fonctions suivantes\n", - "\n", - "- `int(...)`\n", - "- `str(...)`\n", - "- `float(...)`\n", - "\n", - "2. Quelques exemples d'utilisation de la fonction `int(...)`. Les exécuter." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d5643413", - "metadata": {}, - "outputs": [], - "source": [ - "int(a)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8cce59f4", - "metadata": {}, - "outputs": [], - "source": [ - "int(b)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "67595ac0", - "metadata": {}, - "outputs": [], - "source": [ - "int(c)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "730d8ec6", - "metadata": {}, - "outputs": [], - "source": [ - "int(d)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3288e311", - "metadata": {}, - "outputs": [], - "source": [ - "int(g)" - ] - }, - { - "cell_type": "markdown", - "id": "fa9adefe", - "metadata": {}, - "source": [ - "En quoi la fonction `int(...)` tranforme-t-elle les variables?" - ] - }, - { - "cell_type": "raw", - "id": "46b49780", - "metadata": {}, - "source": [] - }, - { - "cell_type": "markdown", - "id": "8ef9fb28", - "metadata": {}, - "source": [ - "3. Expérimenter la fonction `float(...)`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d22272b4", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "id": "5b822091", - "metadata": {}, - "source": [ - "En quoi la fonction `float(...)` tranforme-t-elle les variables?" - ] - }, - { - "cell_type": "raw", - "id": "2cc489e3", - "metadata": {}, - "source": [] - }, - { - "cell_type": "markdown", - "id": "5da8293d", - "metadata": {}, - "source": [ - "3. Expérimenter la fonction `str(...)`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "332877f7", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "id": "da5cd3ea", - "metadata": {}, - "source": [ - "En quoi la fonction `str(...)` tranforme-t-elle les variables?" - ] - }, - { - "cell_type": "raw", - "id": "8bcf3f94", - "metadata": {}, - "source": [] - }, - { - "cell_type": "markdown", - "id": "3f3ea6f9", - "metadata": {}, - "source": [ - "4. La fonction `input(...)` affiche du texte et attend un réponse." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "afc36b4e", - "metadata": {}, - "outputs": [], - "source": [ - "reponse = input(\"Comment tu t'appelles?\")\n", - "reponse" - ] - }, - { - "cell_type": "markdown", - "id": "f7e096e1", - "metadata": {}, - "source": [ - "Quel est le type de la variable `reponse`" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9518e549", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "id": "7aba1ac5", - "metadata": {}, - "source": [ - "## Exercices\n", - "\n", - "Dans les éxercices suivants vous devrez coder un programme qui fait ce qu'il est décrit. Vous pouvez les faire dans l'ordre que vous souhaitez." - ] - }, - { - "cell_type": "markdown", - "id": "47fa675c", - "metadata": {}, - "source": [ - "### Variation d'une grandeur\n", - "\n", - "Écrire un programme qui\n", - "\n", - " demande la valeur initiale\n", - " demande le taux d'évolution\n", - " affiche la valeur finale" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d885f2a5", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "id": "a368cdbe", - "metadata": {}, - "source": [ - "## Taux de variation\n", - "\n", - "Écrire un programme qui\n", - "\n", - " demande la valeur initiale\n", - " demande la valeur finale\n", - " affiche le taux d'évolution\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "05f03257", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "id": "b540018d", - "metadata": {}, - "source": [ - "### Coordonnées du milieu\n", - "\n", - "Écrire un programme qui\n", - "\n", - " demande l'abscisse du point A\n", - " demande l'ordonnée du point A\n", - " demande l'abscisse du point B\n", - " demande l'ordonnée du point B\n", - " stock l'abscisse du milieu du segment [AB]\n", - " stock l'ordonnée du milieu du segment [AB]\n", - " affiche les coordonnées du milieu du segment [AB]\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4ad529dc", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "id": "fdb3ba0c", - "metadata": {}, - "source": [ - "### Distance entre deux points\n", - "\n", - "Écrire un programme qui\n", - "\n", - " demande l'abscisse du point A\n", - " demande l'ordonnée du point A\n", - " demande l'abscisse du point B\n", - " demande l'ordonnée du point B\n", - " affiche la distance AB\n", - " \n", - "Pour calculer la racine carré, vous aurez besoin d'importer la fonction `sqrt`. Pour cela, votre programme devra commencer par la ligne suivante\n", - "\n", - " from math import sqrt" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "aae82c94", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "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.10.2" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} +{"cells":[{"metadata":{},"cell_type":"markdown","source":"# Étape 2: Variables, affectation et type"},{"metadata":{},"cell_type":"markdown","source":"## Interagir avec l'utilisateur: input\n\nPour demander une information à l'utilisateur du programme, on peut utiliser la commande `input`"},{"metadata":{"trusted":true},"cell_type":"code","source":"reponse = input(\"Dis moi quelque chose: \")\nprint(\"Oh! Quelle chance, tu m'as dis \", reponse)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"1. Ecrire un programme qui demande le nom du l'utilisateur ou l'utilisatrice puis qui le ou la salue en réutilisant la réponse donnée."},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"2. On veut écrire un programme qui demande la ville de naissance puis le nom de famille et qui écrit une phrase du type \"M. ou Mme .... vous êtes né.e à ... \" "},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"3. Un vendeur vend des tomates à 2€ le kg. Ecrire un programme qui demande la quantité de tomates souhaitée et qui revoie le prix. *(essayez mais dans l'état actuel de vos connaissances, vous devriez avoir un comportement bizarre.)*"},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Type de variables\n\nLe problème que vous avez obtenu est un problème de types. La quantité, pour vous, est un nombre (entier ou à virgule) tandis que pour l'ordinateur c'est une chaine de caractères.\n\nIl est possible de transformer un type en un autre."},{"metadata":{"trusted":true},"cell_type":"code","source":"entier = 23\nvirgule = 2.3\nchaine = \"23\"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Pour transformer en entier (integer en anglais) on utilise `int()`"},{"metadata":{"trusted":true},"cell_type":"code","source":"int(entier)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"int(virgule)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"int(chaine)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Pour transformer en un nombre à virgule ou flottant (float en anglais) on utilise `float()`.\n\nTester la fonction `float()` sur les variables (comme au dessus)."},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Pour transformer en une chaine de caractères (string en anglais) on utilise `str()`.\n\nTester la fonction `str()` sur les variables."},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"3bis. Reprendre l'exercice du vendeur de tomates et corrigez le pour avoir le bon prix."},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"

\n À partir de là vous pouvez continuer à explorer les types de variables ou alors allez à la fin faire les exercices.\n

"},{"metadata":{},"cell_type":"markdown","source":"### Identifier les types de variables\n\nPour nous (humain) les trois variables qui suivent sont itdentiques"},{"metadata":{"trusted":true},"cell_type":"code","source":"a = 1\na","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"b = 1.0\nb","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"c = \"1\"\nc","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Mais pour Python ce sont trois choses très différentes. Le premier est un **entier**, le deuxième est un **flottant** (nombre à virgule) et le dernier est une **chaine de caractères**."},{"metadata":{},"cell_type":"markdown","source":"4. Trier les variables suivantes en fonction de leur type"},{"metadata":{"trusted":true},"cell_type":"code","source":"a = 3\nb = 4.5\nc = \"coucou\"\nd = \"6\"\ne = 8\nf = 5.0\ng = \"09\"\nh = \"0.4\"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"raw","source":"Les entiers:\nLes flottants:\nLes chaines de caractères:"},{"metadata":{},"cell_type":"markdown","source":"## Exercices\n\nDans les éxercices suivants vous devrez coder un programme qui fait ce qu'il est décrit. Vous pouvez les faire dans l'ordre que vous souhaitez."},{"metadata":{},"cell_type":"markdown","source":"### Variation d'une grandeur\n\nÉcrire un programme qui\n\n demande la valeur initiale\n demande le taux d'évolution\n affiche la valeur finale"},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Taux de variation\n\nÉcrire un programme qui\n\n demande la valeur initiale\n demande la valeur finale\n affiche le taux d'évolution\n"},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### Coordonnées du milieu\n\nÉcrire un programme qui\n\n demande l'abscisse du point A\n demande l'ordonnée du point A\n demande l'abscisse du point B\n demande l'ordonnée du point B\n stock l'abscisse du milieu du segment [AB]\n stock l'ordonnée du milieu du segment [AB]\n affiche les coordonnées du milieu du segment [AB]\n "},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### Distance entre deux points\n\nÉcrire un programme qui\n\n demande l'abscisse du point A\n demande l'ordonnée du point A\n demande l'abscisse du point B\n demande l'ordonnée du point B\n affiche la distance AB\n \nPour calculer la racine carré, vous aurez besoin d'importer la fonction `sqrt`. Pour cela, votre programme devra commencer par la ligne suivante\n\n from math import sqrt"},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"display_name":"Python 3 (ipykernel)","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.10.2"}},"nbformat":4,"nbformat_minor":2} \ No newline at end of file diff --git a/2nd/13_Programmation/index.rst b/2nd/13_Programmation/index.rst index bee8320..bbc2a97 100644 --- a/2nd/13_Programmation/index.rst +++ b/2nd/13_Programmation/index.rst @@ -2,7 +2,7 @@ Programmation ############# :date: 2022-02-07 -:modified: 2022-02-18 +:modified: 2022-03-01 :authors: Benjamin Bertrand :tags: Python :category: 2nd @@ -31,7 +31,7 @@ Capacités attendues Présentation ============ -Plan de travail sous forme de plusieurs notebooks. Les élèves doivent commencer pas l'étape 1 pour avoir un tour d'horizon. Puis vient l'étape 2 qui n'est à faire que pour les élèves qui ne sont pas du tout à l'aise avec la programmation. Les étapes suivantes peuvent être fait dans n'importe quelle ordre. +Plan de travail sous forme de plusieurs notebooks. Les élèves doivent commencer pas l'étape 1 pour avoir un tour d'horizon. Puis vient l'étape 2. Les étapes suivantes peuvent être fait dans n'importe quelle ordre. La séquence se conclue avec un projet de programmation mêlant plusieurs outils.