Skip to content

Commit 12bc1df

Browse files
committed
centerline
1 parent 75db0dd commit 12bc1df

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+207
-272
lines changed

aleatoire/aleatoire.pdf

-39 KB
Binary file not shown.

aleatoire/aleatoire.tex

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,10 @@
6060
On modélise l'espace de travail par un tableau de $n$ lignes et $p$ colonnes. Au départ le tableau ne contient que des $0$ ;
6161
ensuite la présence d'un bloc est représentée par $1$.
6262

63-
Voici comment initialiser le tableau :\\
64-
\centerline{\ci{tableau = [[0 for j in range(p)] for i in range(n)]}}
65-
On modifie le tableau par des instructions du type :\\
66-
\centerline{\ci{tableau[i][j] = 1}}
63+
Voici comment initialiser le tableau :
64+
\mycenterline{\ci{tableau = [[0 for j in range(p)] for i in range(n)]}}
65+
On modifie le tableau par des instructions du type :
66+
\mycenterline{\ci{tableau[i][j] = 1}}
6767

6868

6969
Voici un exemple de tableau (à gauche) pour représenter la situation graphique de droite (le bloc en haut à droite est en train de tomber).
@@ -295,9 +295,8 @@
295295

296296
\item Cet objet est (un petit peu) déplacé par la fonction \ci{deplacer()} qui décale le rectangle de \ci{(dx,dy)}.
297297

298-
\item Le point clé est que cette fonction sera exécutée une nouvelle fois après un court laps de temps. La commande :
299-
300-
\centerline{\ci{canvas.after(50,deplacer)}}
298+
\item Le point clé est que cette fonction sera exécutée une nouvelle fois après un court laps de temps. La commande :
299+
\mycenterline{\ci{canvas.after(50,deplacer)}}
301300

302301
demande une nouvelle exécution de la fonction \ci{deplacer()} après un court délai (ici $50$ millisecondes).
303302

binaire/binaire-1.pdf

-39 KB
Binary file not shown.

binaire/binaire-2.pdf

-19.5 KB
Binary file not shown.

bitcoin/bitcoin.pdf

-37.2 KB
Binary file not shown.

bitcoin/bitcoin.tex

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -213,13 +213,11 @@
213213

214214
Écris une fonction \ci{phrase_vers_liste(phrase)} qui convertit une chaîne de caractères en une liste d'entiers entre $0$ et $99$ et si besoin rajoute des zéros devant afin que la liste ait la bonne taille.
215215

216-
La formule à utiliser pour convertir un caractère en un entier strictement inférieur à $100$ est :
216+
La formule à utiliser pour convertir un caractère en un entier strictement inférieur à $100$ est :
217+
\mycenterline{\ci{ord(c) \% 100}}
217218

218-
\centerline{\ci{ord(c) \% 100}}
219-
220-
Par exemple : si \ci{phrase = "Vive moi !"} alors la fonction renvoie :
221-
222-
\centerline{\ci{[0, 0, 86, 5, 18, 1, 32, 9, 11, 5, 32, 33]}}
219+
Par exemple : si \ci{phrase = "Vive moi !"} alors la fonction renvoie :
220+
\mycenterline{\ci{[0, 0, 86, 5, 18, 1, 32, 9, 11, 5, 32, 33]}}
223221

224222
Le caractère \ci{"i"} à pour code ASCII/unicode $105$ donc, modulo $100$, le nombre est $5$. Note que la fonction ajoute deux $0$ en début de liste afin d'avoir une longueur qui est un multiple de $N=6$.
225223

@@ -242,13 +240,11 @@
242240

243241
Dans cette activité, notre message est une liste d'entiers (entre $0$ et $99$) de longueur un multiple quelconque de $N=6$, nous le transformons en une liste de longueur $N=6$ : son empreinte (ou \emph{hash}). Voici des exemples de ce que va faire notre fonction de hachage :
244242
\begin{itemize}
245-
\item la liste \ci{[1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6]} a pour empreinte :
246-
247-
\centerline{\ci{[10, 0, 58, 28, 0, 90]}}
243+
\item la liste \ci{[1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6]} a pour empreinte :
244+
\mycenterline{\ci{[10, 0, 58, 28, 0, 90]}}
248245

249-
\item la liste \ci{[1, 1, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6]} a pour empreinte :
250-
251-
\centerline{\ci{[25, 14, 29, 1, 19, 6]}}
246+
\item la liste \ci{[1, 1, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6]} a pour empreinte :
247+
\mycenterline{\ci{[25, 14, 29, 1, 19, 6]}}
252248
\end{itemize}
253249

254250
L'idée est de mélanger les nombres par bloc de $N=6$ entiers, puis de combiner ce bloc au suivant et de recommencer, jusqu'à obtenir un seul bloc.
@@ -350,8 +346,8 @@
350346
\medskip
351347

352348
\textbf{Problème à résoudre.} On nous donne une liste, il s'agit de trouver un bloc tel que, lorsque qu'on le rajoute à la liste, cela produit un hachage commençant par des zéros.
353-
Plus précisément étant donné une liste \ci{liste} et un objectif maximal \ci{Max}, il s'agit de trouver un bloc \ci{preuve} qui, concaténé à la liste puis haché, est plus petit que la liste \ci{Max}, c'est-à-dire : \\
354-
\centerline{\ci{hachage(liste + preuve)} \ plus petit que \ \ci{Max}}
349+
Plus précisément étant donné une liste \ci{liste} et un objectif maximal \ci{Max}, il s'agit de trouver un bloc \ci{preuve} qui, concaténé à la liste puis haché, est plus petit que la liste \ci{Max}, c'est-à-dire :
350+
\mycenterline{\ci{hachage(liste + preuve)} \ plus petit que \ \ci{Max}}
355351

356352
La liste est de longueur quelconque (un multiple de $N=6$), la preuve est un bloc de longueur $N$, l'objectif est de trouver une liste commençant par des $0$ (voir l'activité 2).
357353

@@ -445,12 +441,10 @@
445441
\item On ajoute cette preuve au livre de compte.
446442
\end{itemize}
447443
Par exemple si le livre se termine par :
444+
\mycenterline{\ci{[3,1,4,1,5,9], "Abel +35"}}
448445

449-
\centerline{\ci{[3,1,4,1,5,9], "Abel +35"}}
450-
451-
alors après calcul de la preuve de travail le livre se termine par exemple par :
452-
453-
\centerline{\ci{[3,1,4,1,5,9], "Abel +35", [32,17,37,73,52,90]}}
446+
alors après calcul de la preuve de travail le livre se termine par exemple par :
447+
\mycenterline{\ci{[3,1,4,1,5,9], "Abel +35", [32,17,37,73,52,90]}}
454448

455449
On rappelle que la preuve de travail n'est pas unique et qu'en plus elle dépend
456450
de l'objectif \ci{Max}.

chaines/chaines.pdf

-32.4 KB
Binary file not shown.

chaines/chaines.tex

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@
191191

192192
\smallskip
193193

194-
\centerline{\codeinline{if carac in ["a", "A", "b", "B", "c", "C"]:}}
194+
\mycenterline{\codeinline{if carac in ["a", "A", "b", "B", "c", "C"]:}}
195195

196196
\index{in@\ci{in}}
197197

@@ -201,7 +201,7 @@
201201

202202
\smallskip
203203

204-
\centerline{\codeinline{if carac not in ["X", "Y", "Z"]:}}
204+
\mycenterline{\codeinline{if carac not in ["X", "Y", "Z"]:}}
205205

206206
\index{not in@\ci{not in}}
207207

@@ -228,7 +228,7 @@
228228

229229
Par exemple :
230230

231-
\centerline{\mot{
231+
\mycenterline{\mot{
232232
\badletter{J}A\badletter{P}ON}\qquad \mot{\badletter{S}A\badletter{V}ON}
233233
}
234234

@@ -465,9 +465,8 @@
465465

466466

467467
\begin{enumerate}
468-
\item Décode à la main le message chiffré sous les codes suivants : \\
469-
470-
\centerline{80-121-116-104-111-110 \quad 101-115-116 \quad 115-121-109-112-64}
468+
\item Décode à la main le message chiffré sous les codes suivants :
469+
\mycenterline{80-121-116-104-111-110 \quad 101-115-116 \quad 115-121-109-112-64}
471470

472471
% [\symbol{80}\symbol{121}\symbol{116}\symbol{104}\symbol{111}\symbol{110}
473472
% \symbol{101}\symbol{115}\symbol{116}

chercher/chercher.pdf

-33.2 KB
Binary file not shown.

chercher/chercher.tex

Lines changed: 20 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,8 @@
3131

3232
\index{in@\ci{in}}
3333

34-
La façon la plus simple de savoir si une sous-chaîne est présente dans une chaîne de caractères est d'utiliser l'opérateur \og{}\ci{in}\fg{}. Par exemple, l'expression :
35-
36-
\centerline{\ci{"PAS" in "ETRE OU NE PAS ETRE"}}
34+
La façon la plus simple de savoir si une sous-chaîne est présente dans une chaîne de caractères est d'utiliser l'opérateur \og{}\ci{in}\fg{}. Par exemple, l'expression :
35+
\mycenterline{\ci{"PAS" in "ETRE OU NE PAS ETRE"}}
3736

3837
vaut \og{}vrai\fg{} car la sous-chaîne \mot{PAS} est bien présente dans la phrase
3938
\mot{ETRE OU NE PAS ETRE}.
@@ -78,8 +77,7 @@
7877

7978
\begin{enumerate}
8079
\item La méthode \ci{replace()} s'utilise sous la forme :
81-
82-
\centerline{\ci{chaine.replace(sous_chaine,nouv_sous_chaine)}}
80+
\mycenterline{\ci{chaine.replace(sous_chaine,nouv_sous_chaine)}}
8381

8482
\index {replace@\ci{replace}}
8583

@@ -88,9 +86,8 @@
8886
Transforme la phrase \mot{ETRE OU NE PAS ETRE} en \mot{ETRE OU NE PLUS ETRE}, puis en
8987
\mot{AVOIR OU NE PLUS AVOIR}.
9088

91-
\item Écris ta propre fonction \ci{remplacer()} que tu appelleras sous la forme suivante :
92-
93-
\centerline{\ci{remplacer(chaine,sous_chaine,nouv_sous_chaine)}}
89+
\item Écris ta propre fonction \ci{remplacer()} que tu appelleras sous la forme suivante :
90+
\mycenterline{\ci{remplacer(chaine,sous_chaine,nouv_sous_chaine)}}
9491

9592
et qui remplace seulement la première occurrence de \ci{sous_chaine} trouvée. Par exemple \ci{remplacer("ABBA","B","XY")} renvoie \ci{"AXYBA"}.
9693

@@ -131,7 +128,7 @@
131128

132129
\bigskip
133130

134-
Nous utiliserons les expressions rationnelles à travers la commande :\\ \centerline{\ci{python_regex_chercher(chaine,exp)}}
131+
Nous utiliserons les expressions rationnelles à travers la commande : \mycenterline{\ci{python_regex_chercher(chaine,exp)}}
135132

136133
\index{module!re@\ci{re}}
137134

@@ -214,33 +211,33 @@
214211
Appliquer la transformation \rzero\run{} $\rightarrow$ \run\rzero{}
215212
à la phrase \run\rzero\run\run\rzero.
216213

217-
On lit la phrase de gauche à droite, on trouve le premier motif \rzero\run{} à partir de la seconde lettre, on le remplace par \run\rzero{} :\\
218-
\centerline{\run(\rzero\run)\run\rzero{} \quad $\longmapsto$ \quad \run(\run\rzero)\run\rzero}
214+
On lit la phrase de gauche à droite, on trouve le premier motif \rzero\run{} à partir de la seconde lettre, on le remplace par \run\rzero{} :
215+
\mycenterline{\run(\rzero\run)\run\rzero{} \quad $\longmapsto$ \quad \run(\run\rzero)\run\rzero}
219216

220-
On peut recommencer à partir du début de la phrase obtenue, avec toujours la même transformation \rzero\run{} $\rightarrow$ \run\rzero{} :\\
221-
\centerline{\run\run(\rzero\run)\rzero{} \quad $\longmapsto$ \quad \run\run(\run\rzero)\rzero}
217+
On peut recommencer à partir du début de la phrase obtenue, avec toujours la même transformation \rzero\run{} $\rightarrow$ \run\rzero{} :
218+
\mycenterline{\run\run(\rzero\run)\rzero{} \quad $\longmapsto$ \quad \run\run(\run\rzero)\rzero}
222219

223220
Le motif \rzero\run{} n'apparaît plus dans la phrase \run\run\run\rzero\rzero{} donc
224221
la transformation \rzero\run{} $\rightarrow$ \run\rzero{} laisse maintenant cette phrase inchangée.
225222

226-
Résumons : voici l'effet de la transformation itérée \rzero\run{} $\rightarrow$ \run\rzero{} à la phrase \run\rzero\run\run\rzero{} :\\
227-
\centerline{\run\rzero\run\run\rzero{} \quad $\longmapsto$ \quad \run\run\rzero\run\rzero{} \quad $\longmapsto$ \quad \run\run\run\rzero\rzero}
223+
Résumons : voici l'effet de la transformation itérée \rzero\run{} $\rightarrow$ \run\rzero{} à la phrase \run\rzero\run\run\rzero{} :
224+
\mycenterline{\run\rzero\run\run\rzero{} \quad $\longmapsto$ \quad \run\run\rzero\run\rzero{} \quad $\longmapsto$ \quad \run\run\run\rzero\rzero}
228225
\end{exemple}
229226

230227
\begin{exemple}
231228
Appliquer la transformation \rzero\rzero\run{} $\rightarrow$ \run\run\rzero\rzero{}
232229
à la phrase \rzero\rzero\run\run.
233230

234-
Une première fois :\\
235-
\centerline{(\rzero\rzero\run)\run{} \quad $\longmapsto$ \quad (\run\run\rzero\rzero)\run}
236-
Une seconde fois :\\
237-
\centerline{\run\run(\rzero\rzero\run) \quad $\longmapsto$ \quad \run\run(\run\run\rzero\rzero)}
231+
Une première fois :
232+
\mycenterline{(\rzero\rzero\run)\run{} \quad $\longmapsto$ \quad (\run\run\rzero\rzero)\run}
233+
Une seconde fois :
234+
\mycenterline{\run\run(\rzero\rzero\run) \quad $\longmapsto$ \quad \run\run(\run\run\rzero\rzero)}
238235
Et ensuite la transformation ne modifie plus la phrase.
239236
\end{exemple}
240237

241238
\begin{exemple}
242-
Voyons un dernier exemple avec la transformation \rzero\run{} $\rightarrow$ \run\run\rzero\rzero{} pour la phrase de départ \rzero\rzero\rzero\run{}: \\
243-
\centerline{
239+
Voyons un dernier exemple avec la transformation \rzero\run{} $\rightarrow$ \run\run\rzero\rzero{} pour la phrase de départ \rzero\rzero\rzero\run{}:
240+
\mycenterline{
244241
\rzero\rzero\rzero\run{} \quad $\longmapsto$ \quad
245242
\rzero\rzero\run\run\rzero\rzero{} \quad $\longmapsto$ \quad
246243
\rzero\run\run\rzero\rzero\run\rzero\rzero{} \quad $\longmapsto$ \quad
@@ -280,7 +277,7 @@
280277
Exemple. Pour la transformation \rzero\rzero\run\run{} $\rightarrow$ \run\run\rzero\rzero{} et la phrase \rzero\rzero\rzero\rzero\run\run\rzero\run\run, les phrases obtenues sont :
281278

282279
{\small
283-
\centerline{
280+
\mycenterline{
284281
\rzero\rzero\rzero\rzero\run\run\rzero\run\run{} $\underset{\mathbf{1}}{\longmapsto}$
285282
\rzero\rzero\run\run\rzero\rzero\rzero\run\run{} $\underset{\mathbf{2}}{\longmapsto}$
286283
\run\run\rzero\rzero\rzero\rzero\rzero\run\run{} $\underset{\mathbf{3}}{\longmapsto}$
@@ -306,8 +303,7 @@
306303

307304
Exemple : pour la transformation \rzero\run{} $\rightarrow$ \run\rzero\rzero, parmi toutes les phrases de longueur $p=4$, le maximum d'itérations possibles est $7$. Un tel exemple de phrase est \rzero\run\run\run, qui va se stabiliser (après 7 itérations donc) en \run\run\run\rzero\rzero\rzero\rzero\rzero\rzero\rzero\rzero.
308305
Ainsi la commande \ci{iteration_maximale(4,"01","100")} renvoie :
309-
310-
\centerline{7, '0111', '11100000000'}
306+
\mycenterline{7, '0111', '11100000000'}
311307

312308

313309
\emph{Indication.} Pour générer toutes les phrases de longueur $p$ formées de \rzero{} et \run{}, tu peux consulter la fiche \og{}Binaire II\fg{} (activité 3).

0 commit comments

Comments
 (0)