Permalink
Browse files

histoire, images et sessions

  • Loading branch information...
sdpython committed Feb 23, 2016
1 parent 57f2959 commit 7f3320cf220fe9f2bf1b232866c655c74e7110ab
Binary file not shown.
@@ -13,6 +13,7 @@ Sujets
.. toctree::
:maxdepth: 1
:numbered:
dessert_cantine
correcteur_orthographe
@@ -24,6 +25,7 @@ Indices et solutions
.. toctree::
:maxdepth: 1
:numbered:
dessert_cantine_solution
correcteur_orthographe_solution
@@ -32,6 +32,7 @@ Sujets
.. toctree::
:maxdepth: 1
:numbered:
confetti
tri
@@ -52,6 +53,7 @@ Indices et solutions
.. toctree::
:maxdepth: 1
:numbered:
confetti_solution
tri_solution
@@ -22,7 +22,8 @@ On prend une feuille de papier à laquelle on enlève les quatre coins.
Comment faire pour obtenir un angle droit avec ce bout de papier
qui n'en a aucun ?
**PHOTO**
.. image:: angle_droit1.jpg
:width: 600
**astuce**
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -13,7 +13,12 @@ Ensuite, on plie encore en superposant ce bord droit sur lui-même.
Le second pli fait un angle droit avec le premier.
**IMAGE**
.. image:: angle_droit2.jpg
:width: 600
.. image:: angle_droit3.jpg
:width: 600
En suivant, le même procédé, on peut obtenir un angle de 45 degré.
On plie selon la bissectrice de l'angle.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -17,7 +17,8 @@ sur le tableau avec un tube de colle puis de lancer des confettis afin
recouvrir la trace invisible. Quelques élèves sortent alors
une feuille de papier et commencer à déchirer des petits morceaux.
IMAGE
.. image:: confetti1.jpg
:width: 600
Mais nous sommes en cours de programmation et d'algorithmique.
Je m'écris : pourriez-vous faire des *confettis log(n)* ?
@@ -16,7 +16,13 @@ Il n'est pas possible de plier indéfiniment,
la feuille devient vite difficile à percer.
Il y a un compromis à trouver.
IMAGE
.. image:: confetti2.jpg
:width: 300
.. image:: confetti2.jpg
:width: 500
Mais alors pourquoi *confettis log(n)* ?
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,52 @@
.. _l-algo_dichotomie:
Dichotomie et tri
=================
A partir de 5-6 ans (mais ce n'est qu'une indication).
Trier des nombres dans le sens croissant, c'est facile. Et pourtant,
lorsqu'on a les yeux bandés, cela se complique un peu plus.
Mise en scène
-------------
Le jeu se joue à deux. On dispose qu'un paquet de carte représentant des lettres ou des chiffres.
Le jeu de cartes est mélangé.
L'un des deux joueurs a les yeux bandés et pourtant il doit trier le paquet de cartes
en suivant les instructions de l'autres. On peut soit considérer de ranger les cartes par
ordre croissant ou par couleurs s'il y a suffisamment de couleurs (6, 7). Et bien évidemment,
il faut aller le plus vite possible.
.. image:: dicho1.jpg
:width:
**astuce**
Il n'est pas évident pour un aveugle de faire plusieurs piles rangées
sur la table. Et si on en réduisait le nombre...
Question subsidiaire : combien de fois a-t-on déplacé une carte pour arriver au résultat final ?
Solution
--------
Voir :ref:`l-algo_dichotomie_sol`.
A quoi ça sert ?
----------------
Avez-vous jamais demandé par téléphone à votre frère de regarder sur votre bureau pour savoir si
vous n'aviez pas oublié quelque chose ? Et sa logique à lui est tout-à-fait différente de la
vôtre. Il cherchera à un endroit alors que vous en auriez choisi un autre. Il lui faut des
instructions précises. Et si jamais ce que vous lui demander de trouver est un document
insérée dans une pile de papiers triés selon un ordre qui vous est propre ? Ce sont des
situations dans lesquelles on se retrouve parfois et pour lesquelles on utilises des astuces
pas si éloignées que ça de celles qu'on utilisera dans ce tri à l'aveugle.
@@ -0,0 +1,84 @@
.. _l-algo_dichotomie_sol:
Dichotomie et tri (solution)
============================
Dans le cas où il faut trier des couleurs, la solution naïve consiste
à faire un tas pour chaque couleur. C'est très facile à concevoir mais
un peu plus difficile à appliquer pour celui qui ne peut pas voir.
.. image:: dicho2.png
Lorsque l'aveugle tire une nouvelle carte, il faut lui indiquer sur quelle paquet la poser.
Plus il y en a, plus c'est difficile. On se trompe et on perd beaucoup de temps. L'idée consiste
alors à faire une première étape où on décide qu'on va mettre trois couleurs d'un côté,
trois couleurs de l'autre.
.. image:: dicho3.png
Lors de cette première étape, celui qui dicte les opérations n'a qu'à dire
droite ou gauche selon les couleurs. On obtient deux paquets mélangés mais pour lesquels
on sait qu'il n'y a plus que trois couleurs dans chaque. Il suffit de trier chaque des deux.
Dans le cas des lettres ou des numéros, la solution consiste à procéder un peu comme dans le jeu
du `solitaire <https://fr.wikipedia.org/wiki/Solitaire_(patience)>`_. On fait des piles de
cartes consécutives. Lorsqu'une nouvelle carte apparaît, soit on peut la rattacher à une pile
existante, soit on cré une nouvelle pile. En bas, ce qui reste à trier, en haut, les piles.
.. image:: dicho5.png
Mais on se retrouve encore dans le cas où la personne qui trie, l'aveugle, a beaucoup de mal
à se retrouver dans la pile de droite, celle de droite à droite encore, celle de gauche à droite et
un peu plus à gauche...
Pour aller plus vite, on aussi utiliser la même astuce que celle utilisée pour les couleurs.
On met d'un côté tous les nombres supérieurs à la moitié (10 dans ce cas) et tous les autres de l'autre côté.
.. image:: dicho4.png
On recommence pour chacun des deux paquets jusqu'à ce qu'on n'en ait plus que quelques unes
qu'on peut trier facilement.
**Combien de fois a-t-on déplacer une carte ?**
Le calcul n'est pas très compliqué mais il ne faut rien oublier en route :
* Pour couper un paquet de 26 lettres en deux, il faut passer tous les cartes en revue,
on déplace 26 cartes.
* On prend ensuite chaque paquet de 13 cartes qu'on coupe encore en 2.
Pour chaque paquet, on passe en revue 13 cartes, soit 13 x 2 = 26.
* On a maintenant 4 paquets et on va devoir passer en revue toutes les cartes de chaque paquet,
soit 26 encore.
Au final, on aura déplacé 26 + 26 + 26 + ... Quand est-ce qu'on s'arrête ?
Tout simplement quand les paquets sont trops petits pour être découpés.
Soit :
* 26 / 2 = 13
* 26 / 4 = 6
* 26 / 8 = 3
* 26 / 16 = 1
.. index:: tri fusion, fusion
Il ne sert à rien d'aller plus bas. On aura déplacé 26 * 4 = 104 cartes en tout
pour trier le paquet. Ce tri s'appelle un
`tri fusion <https://fr.wikipedia.org/wiki/Tri_fusion>`_.
A quoi ça sert ?
----------------
La dichotomie est employée pour aller plus vite. Un fois que le paquet est découpé en 2.
On peut demander à deux personnes de trier chaque petit paquet. On va beaucoup plus vite
à plusieurs. On découpe en 2 parce que c'est plus simple que de découper en 3 et qu'on
ne va pas plus vite en découpant en 3 plutôt qu'en 2. On utilise ce procédé sans le savoir
dès qu'on travaille à plusieurs : comment se répartir le travail de façon intelligente
pour aller plus vite à plusieurs que lentement tout seul. Si on arrive à répondre à cette question,
le tour est joué.
@@ -0,0 +1,65 @@
.. _l-session_2016_02_22:
Sans ordinateur - 22 février 2016
=================================
.. index:: patchwork
Chez `Microsoft France <https://www.microsoft.com/fr-fr/>`_, les deux sessions d'une heure et demi environ ont eu lieu
dans le salon de `l'Explorer <https://www.microsoft.com/france/microsoft-en-france/microsoft-france/explorer-notre-appartement-numerique.aspx>`_.
Les problèmes abordés :
* :ref:`l-algo_tsp`
* :ref:`l-prog_parcours_echiquier`
* :ref:`l-algo_tri`
* :ref:`l-abeilles_drones`
* :ref:`l-algo_dichotomie`
Solutions
---------
* :ref:`l-algo_tsp_sol`
* :ref:`l-prog_parcours_echiquier_sol`
* :ref:`l-algo_tri_sol`
* :ref:`l-abeilles_drones_sol`
* :ref:`l-algo_sol`
Pour aller plus loin
--------------------
Vous pouvez par exemple réfléchir au problème suivant :
:ref:`le plus court circuit et le moins de poids à transporter <l-algo_tsp_plus_loin>`.
.. _l-lecture_2302:
Livres, Bibliographie
---------------------
* `Pourquoi j'ai mangé mon père <http://fr.wikipedia.org/wiki/Pourquoi_j%27ai_mang%C3%A9_mon_p%C3%A8re>`_, Row Lewis,
quand le progrès bouleverse l'ordre des choses, que fait-on ?
* `Le théorème du Perroquet <http://fr.wikipedia.org/wiki/Le_Th%C3%A9or%C3%A8me_du_Perroquet>`_, Denis Guedj
* `Les carnets de Cerise <http://www.soleilprod.com/serie/carnets-de-cerise-cahiers.html>`_, Cerise est une petite fille très curieuse
qui aime comprendre. Les intrigues sont magnifiques et la bande dessinée est très bien dessinée.
* `Le Prince des Nuages <http://www.leprincedesnuages.fr/>`_, et si la surface de la terre était invivable ?
Le livre contient des encarts sur le fonctionnement des nuages. Le livre se lit très vite.
* `Pico Bogue <http://www.dargaud.com/bd/Pico-Bogue/Pico-Bogue>`_, Pico a toujours tendance à faire l'inverse
de ce que vous lui proposez de faire mais il explique toujours pourquoi il a eu raison de tout comprendre de travers.
**Autres pistes**
* :ref:`l-biblio_algo` à propos des algorithmes
* :ref:`l-biblio_prog` à propos de la programmation
* :ref:`l-biblio_donnes` à propos des données
@@ -1,5 +1,5 @@
.. issue.
.. _l-sessions:
@@ -13,4 +13,5 @@ Dès 7 ans.
:maxdepth: 1
session_2015_03_25
session_2016_02_22

0 comments on commit 7f3320c

Please sign in to comment.