2021-2022/2nd/13_Programmation/index.rst

142 lines
4.6 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 dinstructions.
- Instruction conditionnelle.
- Boucle bornée (for), boucle non bornée (while).
Capacités attendues
- Choisir ou déterminer le type dune variable (entier, flottant ou chaîne de caractères).
- Concevoir et écrire une instruction daffectation, une séquence dinstructions, 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
----------------