Permalink
Browse files

ajout du tri

  • Loading branch information...
sdpython committed Mar 24, 2015
1 parent 0a8548b commit c3e828829879fba4baeff8de7f0f67e9fc2c230d
@@ -26,15 +26,17 @@ Le cuisinier voudrait savoir, alors qu'il
compose ses menus, si les desserts qu'il propose ont une bonne chance d'être appréciés.
Il voudrait faire un sondage ou un vote.
Il doit connaître les résultats des votes le jeudi matin pour avoir le temps
de composer ses menus et de faire des courses.
de composer ses menus et de faire des courses pour la semaine suivante.
Pourrez-vous l'aider ?
**Q1 :** Que proposez-vous comme moyen de sondage ? (un moyen d'actualité)
**Q1 :** Que proposez-vous comme moyen de sondage ? (un moyen d'aujourd'hui)
Après le premier sondage, le cuisinier est content. Il y a moins de desserts inachevés
dans les assiettes. Les élèves sont contents aussi. Pourtant un mois plus tard,
tout semble dérègler. Le cuisiner suspecte les parents
qui préfèreraient choisir pour leur enfant.
dans les assiettes. Les élèves sont contents aussi.
Pourtant un mois plus tard,
tout semble se dérègler. Le cuisiner suspecte les parents
qui préfèreraient choisir le dessert pour leur enfant.
**Q2 :** Que s'est-il passé ? Que proposez-vous pour y remédier ?
@@ -46,7 +48,9 @@ il regarde à nouveau, il y en avait 170.
**Q3 :** Que s'est-il passé à votre avis ? Comment le cuisiner va-t-il s'en servir ?
Le cuisiner est plutôt. Les desserts sont de nouveaux populaires.
Le cuisiner est plutôt satisfait. Les desserts choisis par les votes sont de nouveaux populaires.
Tout le monde est plutôt content sauf un élève qui a été convoqué chez le directeur.
Il ne comprend pas pourquoi mais il va bientôt le savoir.
Tout ce qu'il sait est que le directeur n'aime pas trop les élèves qui n'écoutent
@@ -61,14 +65,20 @@ quelques mois à être mise en place. Elle utilise les smartphones.
**Q5 :** Quelle pourrait être cette solution ?
Le directeur utilise la même solution pour proposer d'autres services aux élèves
qui en sont très friands, les parents également. On peut maintenant consulter
les devoirs proposés donnés par les professeurs. C'est très pratique surtout
Les élèves ont maintenant un autre moyen pour choisir les desserts
qu'ils préfèreraient déguster.
Mais le directeur a une autre idée en tête.
Il voudrait utiliser la même solution pour proposer d'autres services aux élèves.
Cela prend de nouveaux quelques mois et quelques longues discussions mais
cela marche plutôtt bien. Les élèves en sont très friands, les parents également.
On peut maintenant consulter
les devoirs donnés par les professeurs. C'est très pratique surtout
si on a oublié son cahier en classe. Les parents sont très contents aussi car ils
peuvent consulter ce qui est fait en cours.
Quelques mois plus tard, le directeur a convoqué les parents d'un élève.
Personne ne sait pourquoi. Mais il est souvent fatigué.
Personne ne sait pourquoi mais il est souvent fatigué.
**Q6 :** Auriez-vous une petite histoire à raconter à ce sujet ?
@@ -25,12 +25,16 @@ de l'école et compter les *like* ?
Les parents likent aussi ! Il suffit de ne pas les compter.
Je suis pas sûr que le verbe *liker* soit accepté par l'Académie Française.
Le dictionnaire `Larousse <http://www.larousse.fr/dictionnaires/francais/like/47137?q=like#47067>`_
semble accepter le mot *like*.
**Q3 :**
Le cuisinier a remarqué que les parents votent plus tard que les enfants
car ils votent en cachette. Les élèves votent plus souvent à l'heure de la récréation
quand le cuisinier leur rappelle de voter car c'est le dernier jour.
quand le cuisinier leur rappelle de voter car c'est le dernier jour, c'est-à-dire jeudi.
**Q4 :**
@@ -100,7 +100,14 @@ des universités (pas seulement en France)
(voir également :ref:`l-choix_langage`).
Un bon langage de programmation est nécessairement de syntaxe anglaise.
**imagination**
Lorsqu'on parle de choses abstraites, il n'existe jamais une seule façon
d'en parler. Chacun à sa façon de les comprendre et de se les représenter.
Tout dépend de l'imagination de chacun. Et bien souvent,
plus on lit, plus on voit ce que d'autres ont imaginé, plus on a d'imagination
:ref:`quelques idées <l-lecture_2503>`
@@ -0,0 +1,169 @@
.. issue.
.. _l-lecture_codes_secret:
Les codes secret entre les deux guerres
=======================================
La cryptographie a occupé un rôle discret et important dans l'histoire, au vingtième siècle notamment,
elle fut particulièrement active pendant les deux guerres mondiales.
En 1917, l'Allemagne vient de choisir un nouveau premier ministre, Athur Zimmermann.
Il est plus agressif que le précédent et prône la guerre sous-marine totale. Il veut détruire
tout navire aux abords des côtes anglaises de façon à isoler ce royaume. Il a besoin de six mois
pour obtenir la capitulation des anglais. Il est impossible pourtant de distinguer les navires anglais
des navires commerciaux américains et si ceux-ci étaient détruits les Etats-Unis ne manqueraient pas d'entrer en guerre.
L'Allemagne peut affronter chacune de ses nations séparément mais pas ensemble. Zimmermann imagine alors de créer quelques
incidents sur la frontière entre le Mexique et les Etats-Unis. Distraits, ces derniers ne songeront plus à l'Europe.
Il part en Finlande envoyer un télégramme à l'ambassadeur allemand à New-York qui le transmettra à son tour au président
mexicain. Il aurait préféré utiliser le câble allemand mais celui-ci a été détruit par les anglais.
Qu'importe : son code est sûr ! Enfin, c'est ce qu'il croît car le télégramme est intercepté par les Anglais
qui parviennent à le décrypter grâce au révérend Montgommery et Nigel de Grey. Ils sont fous de joie,
c'est l'élément qu'il leur fallait pour convaincre les Etats-Unis d'entrer en guerre.
Au service du déchiffrement, c'est l'euphorie. Au niveau supérieur, on craint qu'utiliser
cette information maintenant ne mette la puce à l'oreille des Allemands qui changeront
alors ce code que les Anglais savent déchiffrer. On pense alors à intercepter le message
décodé au moment où le président mexicain l'aura entre les mains. Ce sera fait un mois
plus tard. Quelques jours après, le télégramme est entre les mains du président
américain qui n'hésite plus cette fois à débarquer en Europe.
Ce n'est pas la fin de la guerre pour autant et les cryptanalystes auront encore
leur mot à dire l'année suivante. Les Allemands sont à 100 km de Paris début juin
et ils ont modifié le code dont ils usent pour chiffrer leurs messages. Ils attaqueront
la capitale dans les jours qui suivent et les Alliés ne sont pas assez nombreux pour les
repousser. Il resterait cependant une chance si seulement la position de l'ennemi était
connue. Les Allemands ont avancé rapidement, reprenant le terrain que les forces françaises
leur abandonnaient. En se repliant, elles détruisaient tous les moyens de communications pour
ainsi forcer les Allemands à utiliser la radio que tout le monde écoute y compris les Alliés.
Les Alliés avaient alors accès aux messages codés qu'ils ne restaient plus qu'à déchiffrer.
C'est crucial, ce code doit être cassé pour avoir une chance de sauver Paris. Un français,
Painvin, travailla sans relâche durant ce printemps 1918, il parvint de manière inespérée à
briser le cryptage allemand. A quelques jours près, c'est une victoire, les Allemands avancent
maintenant à découvert, la surprise n'est plus dans leur camp.
La guerre est finie. Enfin, presque. Un Allemand nommé Scherbius a compris que le code
allemand a été brisé bien qu'il soit toujours utilisé par l'armée. Il croit en un code
plus sûr et met au point une machine au début des années 20. L'armée allemande refuse de
la lui acheter sous prétexte qu'elle est trop chère, plus de 10000 marks. Il prévoit
d'autres versions à usage commercial pour les industries sensibles. Mais c'est en 1926
que l'armée allemande comprend enfin que son code n'est plus sûr depuis longtemps. Les
Anglais viennent de le révéler. L'armée allemande investit alors massivement dans cette
machine qu'on nomme Enigma. Et à partir de ce moment-là, aucun pays voisin de l'Allemagne
ne comprendra plus un seul mot. Des agents français parviennent malgré tout à voler les
plans de cette machine de cryptage mais ils ne les aident pas à déchiffrer les communications
ennemies. Les Français, les Anglais ont après la guerre réduit drastiquement leur service de
déchiffrage, ils abandonnent et déclarent le code Enigma inviolable. Les Allemands
envoient par delà leur territoire, chaque mois, des carnets chiffrés de codes, un par
jour qui change invariablement à minuit. Pour les vainqueurs de la première guerre,
l'armée allemande est insondable.
Seule la Pologne refuse de baisser les bras. L'Allemagne reprend des forces, l'ombre
du nazisme s'étend sur tout le pays et la Pologne a de tout temps été en première ligne.
Elle doit absolument casser le code Enigma. Un mathématicien y croit, Rejewski.
Il utilise la trop grande prudence des Allemands qui répètent dans chaque message
une clé de trois lettres. Bien qu'elle soit chiffrée elle aussi, bien que les six
premières lettres soient différentes, elles sont le résultat du chiffrement de trois
lettres suivies des trois mêmes. Il faudra trois ans de labeur à Rejewski pour parvenir
à utiliser ce zèle de l'administration allemande. En 1933, les Polonais lisent
enfin les Allemands. Ils seront les seuls six années durant.
En 1939, les Polonais comprennent que la fin est inéluctable. Les Allemands sont
à leur porte. Ils invitent les Anglais et leur dévoilent qu'ils comprennent Enigma
depuis plusieurs années déjà. Les Anglais, stupéfaits, repartent à Londres avec
tous les résultats de Rejewski. Quinze jours plus tard, la Pologne est envahie.
A Londres, on s'active maintenant. On recrute à tout va des cryptanalystes. On lance
des concours de mots-croisés dans les journaux. Les plus rapides sont recrutés, ils sont
réputés pour faire d'excellents briseurs de code. On croise de tout dans ces sous-terrains
où sont acheminés tous les messages interceptés dans le camp allemand, des historiens,
des joueurs d'échecs, des linguistes, des mathématiciens...
On y croise aussi un certain Turing. Le décodage d'Enigma repose encore sur cette
répétition des trois premières lettres mais les Anglais soupçonnent que l'administration
allemande mettra fin bientôt à cet excès de zèle. Turing est chargé de casser le
code Enigma sans utiliser cette double information. Il cherche depuis 1939 et trouve
un an plus tard une faille dans le code Enigma. Il construit alors des bombes, comme
celle de Rejewski, des automates mécaniques dont la tâche est de calculer, branchés à
des répliques d'Enigma construites par les Anglais selon les plans remis par les Polonais.
Le 8 mars 1941, ces bombes sont prêtes. Mais elles sont trop lentes. Il leur faut
plusieurs jours pour déchiffrer Enigma. Il faut les accélérer or le 8 mai, les Allemands
viennent de supprimer la répétition des trois lettres. Les Anglais sont aveugles et sourds
jusqu'au début du mois d'août. Depuis, chaque jour, les bombes de Turing tournent depuis
le début de la nuit et livrent quelques heures plus tard la clé du code Enigma.
Mais cela ne veut pas dire que les Anglais sont capables d'écouter toutes les communications.
La marine allemande utilise des versions d'Enigma plus élaborées. Les bombes de Turing sont
encore trop lentes pour parvenir à bout de toutes les clés possibles. Il ne reste plus qu'une
option : intercepter les codes allemands dans un de leurs sous-marins. Même Ian Fleming,
l'auteur de James Bond est mis à contribution. Son plan est sur le point d'être exécuté
alors qu'un sous-marin allemand est en perdition. C'est une aubaine inattendue. Les codes
allemands sont récupérés. Naviguant désormais à l'écart de l'ennemi, les détruisant avec
parcimonie, les Allemands soupçonneront bien parfois qu'un espion a infiltré leur marine
mais jamais que leur code si sûr a été cassé. Le jour du débarquement, les Alliés sauront
précisément la position des blindés et des sous-marins allemands. De l'avis des experts,
le déchiffrement du code Enigma a permis d'écourter la guerre d'une à deux années.
Les Allemands étaient sur le point d'utiliser à plus grande échelle les missiles V1 et V2.
Les Etats-Unis ne sont pas en reste. Ils disposent d'un code plus complexe encore
qu'Enigma. Il est inviolable mais si peu pratique. Il faut plusieurs minutes pour
coder et décoder un message. Sur le champ de bataille, c'est l'assurance de la plus
grande cacophonie. Il faut absolument mettre au point un code plus rapide et sûr.
Ce sera la langue des Navajos. Elle n'est que parlée, pas écrite et aucun étudiant
européen n'a daigné se pencher sur l'étude de cette langue, encore moins les Allemands
ou les Japonais. Comme elle n'est simplement pas adaptée, quelques centaines de mots
nouveaux vont venir s'ajouter au vocabulaire des Navajos que l'on forment à la
transcription codée des messages. On prévoit également une manière d'épeler les
mots imprévus. De l'aveu des Japonais, ils n'ont jamais réussi à comprendre ce cryptage.
Que reste-t-il de toute cette histoire ? Quelques bribes... Tout fut détruit.
En 1945, l'ENIAC vit le jour, il est considéré comme le premier ordinateur. En 1943,
un mathématicien Newman, un ingénieur Flowers, mettaient au point une machine appelé
Colossus qui permettait de casser le code de Lorentz utilisé par l'état major de Hitler
pour chiffrer leurs messages. Cette machine disparut après la guerre comme toutes les
bombes de Turing et aucun des participants ne fut autorisé à en parler. Les Navajos
mirent plusieurs dizaines d'années à faire reconnaître leur rôle durant cette guerre.
Turing retourna à l'université dans un univers où les m\oe urs étaient devenues plus strictes.
Son homosexualité fut décriée. Il devint obèse à cause de traitements médicamenteux qu'on
lui imposait et se suicida. Rejewski découvrit après la guerre l'utilisation qui avait
été faite de ces travaux, bien que présent en Angleterre, il en avait été tenu éloigné.
Les machines Enigma saisies aux Allemands furent envoyées dans leurs colonies par les
Anglais qui déchiffrèrent leurs messages pendant près de 20 ans.
Dans les années 1970, les cryptographes ont mis au point des algorithmes qui ne
nécessitaient plus la connaissance de clés. Le plus connu, l'algorithme RSA,
fonctionne sur une clé publique et une clé privée. Une personne, Alice, fabrique
une clé publique et une clé privée. Bernard, qui veut envoyer un message à Alice,
utilise la clé publique d'Alice pour crypter un message selon l'algorithme RSA.
Ce message ne peut être décryptée que grâce à la clé privée que seule Alice connaît.
L'histoire de cet algorithme rappelle celle de Colossus. Inventé par Rivest, Shamir,
Adleman en 1977, il l'avait déjà été par Ellis, Cocks, Williamson quatre années auparavant.
Leurs travaux ne furent reconnus qu'en 1997, près de 25 ans après leur découverte,
car ils faisaient partie du Government Communications Headquarters (GCHQ), la cellule
secrète anglaise chargée du déchiffrement reconstruite après la seconde guerre mondiale.
Ellis écrira un jour :
La cryptographie est une science peu ordinaire. La plupart des scientifiques cherchent à publier
les premiers les résultats de leurs travaux parce que c'est à travers leur diffusion que
ces travaux prennent toutes leurs valeurs. Au contraire, la plus grande valeur en
cryptographie est atteinte en dissimulant l'information à des adversaires potentiels.
Aussi les cryptographes professionnels travaillent habituellement en cercle restreint
pour se procurer mutuellement l'interaction nécessaire à la qualité de leurs recherches,
tout en restant protégés des concurrents. La révélation de ces secrets n'est généralement
autorisée que dans l'intérêt de la vérité historique et lorsqu'il est démontré
qu'aucun bénéfice supplémentaire ne pourrait être tiré d'une prolongation de ce secret.
Tous les éléments de cette histoire ont été tirés de *Histoire des codes secrets* écrit par Simon Singh,
L'avenir... Il semblerait que l'algorithme RSA soit sûr encore un petit bout de
temps jusqu'à l'invention de l'ordinateur quantique, beaucoup plus rapide que ceux que nous
connaissons actuellement. Et pourtant, il semblerait que la cryptographie ait
trouvé l'algorithme de cryptage imparable : la cryptographie quantique qui révèle également si
une tierce personne est en train d'écouter la communication. Toutefois, cette méthode nécessite le
transport de quelques photons polarisés, accessible sur quelques kilomètres, utopique encore entre deux continents.
@@ -34,6 +34,7 @@ Sujets
.. toctree::
:maxdepth: 1
tri
tsp
demineur
sacados
@@ -47,6 +48,7 @@ Indices et solutions
.. toctree::
:maxdepth: 1
tri_solution
tsp_solution
demineur_solution
sacados_solution
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,86 @@
.. issue.
.. index:: énoncé, algorithme, tri
.. _l-algo_tri:
Tri
===
A partir de 7-8 ans (mais ce n'est qu'une indication).
Trier, ordonner, ranger, autant de mots pour désigner le fait de s'arranger
pour retrouver facilement les choses qu'on a trié. Comment retrouver un livre s'ils
ne sont pas triés, comment retrouver ses clés si la maison est sens dessus dessous ?
Mise en scène
-------------
**retrouver des cartes**
On mélange un jeu de cartes puis on enlève trois cartes sans les montrer.
On tend le jeu de cartes à 4 personnes qui doivent déterminer les cartes qui manquent.
Les cartes sont parfois trompeuses, elles peuvent ressembler à ça :
.. image:: cartes1.jpg
:width: 500 px
ou ça :
.. image:: cartes2.jpg
:width: 500 px
**trier**
Même exercice mais on trie d'abord le jeu de cartes. On enlève ensuite trois cartes.
Il faut de nouveau deviner les cartes qui manquent.
**Comment trier ?**
On distribue aux enfants une ou deux cartes (selon le nombre d'enfants ou et de cartes).
On suppose qu'on sait dire si deux cartes sont dans le bon ordre ou pas si on
les présente de gauche à droite.
Les enfants sont placés en ligne et ne peuvent échanger qu'avec leurs deux voisins.
Chaque enfant a une position dans la ligne.
La règle est simple : pour deux enfants voisins,
l'enfant plus proches du début - donc le plus à gauche - doit échanger ses
cartes avec ses voisins si elles ne sont pas dans le bon ordre.
.. image:: tri1.png
Ce tri correspond au `tri à bulles <http://fr.wikipedia.org/wiki/Tri_%C3%A0_bulles>`_.
**Autre façon de trier**
On remet à tous les enfants sauf un une carte et deux fils de laine : un rouge, un bleu.
* Le premier enfant choisi aléatoirement se place au milieu de la pièce.
* Le second enfant compare sa carte avec le premier. Si sa carte est
plus petite, il s'accroche au fil rouge. Si elle est plus grande, il
s'accroche au fil bleu.
* Le troisième enfant compare sa carte au premier. Si elle est plus petite,
il s'accroche au fil rouge, si le fil rouge est déjà pris, il compare sa carte
à celle de l'enfant au bout du fil. Il s'accroche dès qu'il trouve une place libre.
.. image:: tri2.png
Il existe une façon pour le dernier enfant de ramasser simplement
toutes les cartes dans le bon ordre. Saurez-vous la trouver ?
Il s'agit dans ce dernier cas du `tri par arbre <http://rmdiscala.developpez.com/cours/LesChapitres.html/Cours4/TArbrechap4.6.htm>`_.
Solution
--------
Voir :ref:`l-algo_tri_sol`.
A quoi ça sert ?
----------------
Binary file not shown.
Binary file not shown.
Oops, something went wrong.

0 comments on commit c3e8288

Please sign in to comment.