Programmation ############# :date: 2022-02-07 :modified: 2022-03-24 :authors: Benjamin Bertrand :tags: Python :category: 2nd :summary: TDs de programmation python à faire en salle informatique en demi-groupe. Le programme ============ Contenus - Variables informatiques de type entier, booléen, flottant, chaîne de caractères. - Affectation. - Séquence d’instructions. - Instruction conditionnelle. - Boucle bornée (for), boucle non bornée (while). Capacités attendues - Choisir ou déterminer le type d’une variable (entier, flottant ou chaîne de caractères). - Concevoir et écrire une instruction d’affectation, une séquence d’instructions, une instruction conditionnelle. - Écrire une formule permettant un calcul combinant des variables. - Programmer, dans des cas simples, une boucle bornée, une boucle non bornée. - Dans des cas plus complexes: lire, comprendre, modifier ou compléter un algorithme 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. 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. Assez rapidement, on pourra ajouter des questions "programmation" dans les questions flashs: des programmes, on anticipe quel sera le résultat. Cela permettre de présenter "le tableau des variables". Plan de travail =============== Étape 1: Tour d'horizon des briques de programmation ---------------------------------------------------- `Tour d'horizon des briques de programmation <./1E_tour_d_horizon.ipynb>`_ .. image:: https://mybinder.org/badge_logo.svg :target: https://mybinder.org/v2/git/https%3A%2F%2Fgit.opytex.org%2Flafrite%2F2021-2022/main?labpath=2nd%2F13_Programmation%2F1E_tour_d_horizon.ipynb Les élèves commencent par décrire des programmes. Une phrase par ligne de code. Le programme de la momie va les amener à créer plusieurs variantes d'un même programme. Les premières variantes sont justes des modifications de variables mais elles vont pousser les élèves à lire le programme et à chercher quel est le rôle de chaque morceau. Il sera intéressant de discuter de ces rôles en plénière. Le but est que les élèves arrivent à faire au moins ces 3 premières variantes. Les autres variantes seront réservées aux élèves les plus rapides. Au moins 10 minutes avant la fin de l'heure, on forcera les élèves à faire la partie bilan. Bilan: le programme de la momie avec les mots clé mis en valeur et décrit succinctement. .. image:: ./1B_momie.pdf :height: 200px :alt: Décortication d'un programme Python Étape 2: Variables, affectation et type --------------------------------------- `Variables, affectation et type <./2E_variables.ipynb>`_ .. image:: https://mybinder.org/badge_logo.svg :target: https://mybinder.org/v2/git/https%3A%2F%2Fgit.opytex.org%2Flafrite%2F2021-2022/main?labpath=2nd%2F13_Programmation%2F2E_variables.ipynb Types de données: int, float et string -> input donne un string qu'il est parfois nécessaire de modifier avec int ou float. Opérations suivant les types de données Traduction algo en français en programme en python Bilan: .. image:: ./2B_variables.pdf :height: 200px :alt: Les types de variables Étape 3: Conditions if ---------------------- `Conditions if <./3E_conditions.ipynb>`_ .. image:: https://mybinder.org/badge_logo.svg :target: https://mybinder.org/v2/git/https%3A%2F%2Fgit.opytex.org%2Flafrite%2F2021-2022/main?labpath=2nd%2F13_Programmation%2F3E_conditions.ipynb Bilan: .. image:: ./3B_conditions.pdf :height: 200px :alt: Les conditions Étape 4: Boucle for ------------------- `Boucle for <./4E_boucle_for.ipynb>`_ .. image:: https://mybinder.org/badge_logo.svg :target: https://mybinder.org/v2/git/https%3A%2F%2Fgit.opytex.org%2Flafrite%2F2021-2022/main?labpath=2nd%2F13_Programmation%2F4E_boucle_for.ipynb Bilan: .. image:: ./4B_boucle_for.pdf :height: 200px :alt: Bilan sur les boucles for Étape 5: Boucle While --------------------- `Boucle while <./5E_boucles_while.ipynb>`_ .. image:: https://mybinder.org/badge_logo.svg :target: https://mybinder.org/v2/git/https%3A%2F%2Fgit.opytex.org%2Flafrite%2F2021-2022/main?labpath=2nd%2F13_Programmation%2F5E_boucle_while.ipynb Bilan: .. image:: ./5B_boucle_while.pdf :height: 200px :alt: Bilan sur la boucle while Étape 6: Fonctions ------------------ Bilan: .. image:: ./6B_fonctions.pdf :height: 200px :alt: Bilan sur les fonctions Étape 7: Projets ----------------