Skip to content

Commit 464e770

Browse files
committed
Tutos: nombres pseudo-aléatoires.
1 parent b37601e commit 464e770

File tree

3 files changed

+141
-13
lines changed

3 files changed

+141
-13
lines changed

tuto.html

Lines changed: 51 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ <h1 id="top">MicroAlg - Tutoriel</h1>
3535
<a href="#commentaires">Commentaires</a>,
3636
<a href="#texte-et-concatenation">Texte et concaténation</a>,
3737
<a href="#parentheses">Parenthèses</a>,
38+
<a href="#nbres-pseudo-aleatoires">Nombres pseudo-aléatoires</a>,
3839
<a href="#demander">Demander à l’utilisateur</a>,
3940
<a href="#calculs-nombres">Calculs avec des nombres</a>,
4041
<a href="#calculs-nombres-demandes">Calculs avec des nombres demandés à l’utilisateur</a>,
@@ -278,6 +279,19 @@ <h2 id="parentheses"><a href="#parentheses">: </a>Les parenthèses</h2>
278279
commençant par la gauche (nous allons le vérifier dans la section
279280
suivante).</p>
280281

282+
<h2 id="nbres-pseudo-aleatoires"><a href="#nbres-pseudo-aleatoires"></a>Nombres pseudo-aléatoires</h2>
283+
<p>Il est possible d’obtenir un nombre entier
284+
<a href="http://fr.wikipedia.org/wiki/Pseudo-al%C3%A9atoire"
285+
class="wp">pseudo-aléatoire</a> grâce à la commande <code>Entier@</code>.
286+
Il faut lui passer les valeurs minimale et maximale possibles. Lancer
287+
plusieurs fois de suite le programme suivant :</p>
288+
<div id="script-nbres-pseudo-aleatoires"></div>
289+
<script>inject_microalg_editor_in('script-nbres-pseudo-aleatoires', {
290+
src:
291+
'(Afficher (Entier@ 1900 2015))'
292+
});</script>
293+
<p>Comment changer ce programme pour simuler un dé à six faces ?</p>
294+
281295
<h2 id="demander"><a href="#demander"></a>Demander à l’utilisateur</h2>
282296
<p>Il est possible de demander une valeur à l’utilisateur :</p>
283297
<div id="script-ex-demander"></div>
@@ -292,9 +306,16 @@ <h2 id="demander"><a href="#demander">: </a>Demander à l’utilisateur</h2>
292306
src:
293307
'(Afficher (Demander))'
294308
});</script>
295-
<p>En combinant les commandes <code>Demander</code>,
296-
<code>Concatener</code> et <code>Afficher</code>, nous allons pouvoir coder
297-
un premier programme (presque) intéressant : les salutations.</p>
309+
<p>L’utilisation de la commande <code>Demander</code> peut sembler étrange
310+
car elle n’a pas de paramètre. Il faut taper : <code>(Demander)</code>.
311+
Mais en fait, il n’y a pas de raison pour qu’elle en ait car l’utilisateur
312+
peut taper ce qu’il veut, sans limite. La saisie sera simplement validée
313+
par la touche <code>Entrée</code>. Ensuite, c’est comme si ce qu’il allait
314+
taper allait remplacer <code>(Demander)</code>.</p>
315+
<p><strong>Un premier programme interactif !</strong> En combinant les
316+
commandes <code>Demander</code>, <code>Concatener</code> et
317+
<code>Afficher</code>, nous allons pouvoir coder un premier programme
318+
(presque) intéressant : les salutations.</p>
298319
<p>Avant de l’exécuter, essayez de deviner ce que le programme va faire.</p>
299320
<div id="script-salutations"></div>
300321
<script>inject_microalg_editor_in('script-salutations', {
@@ -411,6 +432,9 @@ <h2 id="calculs-nombres"><a href="#calculs-nombres">: </a>Calculs avec des nomb
411432
'(Afficher (- (+ 2 2)))\n' +
412433
''
413434
});</script>
435+
<p>Un exercice pour finir : écrire un programme qui tire au hasard une
436+
année qui a commencé un siècle entre le dixième et le vingt-et-unième
437+
siècle.</p>
414438

415439
<h2 id="calculs-nombres-demandes"><a href="#calculs-nombres-demandes"></a>Calculs avec des nombres demandés à l’utilisateur</h2>
416440
<p>La commande <code>Demander</code> renvoie du texte, celui tapé par
@@ -1046,6 +1070,16 @@ <h2 id="manipulation-de-texte"><a href="#manipulation-de-texte">: </a>Manipulat
10461070
'(Afficher (Nieme txt 4))\n' +
10471071
''
10481072
});</script>
1073+
<p>La commande <code>Nieme@</code>, prononcée « énième aléatoire»
1074+
(<em>pseudo</em>-aléatoire pour les puristes), retourne une des lettres du
1075+
texte, prise au hasard. Lancez plusieurs fois de suite le programme
1076+
suivant :</p>
1077+
<div id="script-nieme-aleatoire"></div>
1078+
<script>inject_microalg_editor_in('script-nieme-aleatoire', {
1079+
src:
1080+
'(Afficher (Nieme@ "salut"))\n' +
1081+
''
1082+
});</script>
10491083
<p>Nous aurons parfois besoin de couper la tête d’un texte, pour
10501084
travailler de proche en proche.</p>
10511085
<div id="script-tete-queue"></div>
@@ -1202,7 +1236,7 @@ <h2 id="structure"><a href="#structure">: </a>Listes : structure et lien avec
12021236
<p>Comme les chaînes de caractères (ce qu’on appelle ici parfois le
12031237
<em>texte</em> en MicroAlg), les listes sont numérotées à partir de 1 et
12041238
peuvent être passées aux commandes <code>Longueur</code>, <code>Nieme</code>,
1205-
<code>Tete</code> et <code>Queue</code>.</p>
1239+
<code>Nieme@</code>, <code>Tete</code> et <code>Queue</code>.</p>
12061240
<div id="script-cmds-longueur"></div>
12071241
<script>inject_microalg_editor_in('script-cmds-longueur', {
12081242
src:
@@ -1228,8 +1262,19 @@ <h2 id="structure"><a href="#structure">: </a>Listes : structure et lien avec
12281262
'(Afficher (Nieme (Nieme (Liste (Liste 2 4 6) (Liste 3 5 7)) 2) 3))\n' +
12291263
''
12301264
});</script>
1231-
<p><strong>Attention</strong> : dans la plupart des autres langages, la
1232-
numérotation commence à 0.</p>
1265+
<p><strong>Rappel</strong> : <code>Nieme@</code> se prononce
1266+
« énième aléatoire » (ou <em>pseudo</em>-aléatoire), n’a pas besoin de
1267+
position et tire un élément au hasard dans la liste.</p>
1268+
<div id="script-cmds-nieme-aleatoire"></div>
1269+
<script>inject_microalg_editor_in('script-cmds-nieme-aleatoire', {
1270+
src:
1271+
'(Afficher (Nieme@ (Liste 1 3 5 7 9 11)))\n' +
1272+
'(Afficher (Nieme@ (Liste "banane" "pomme" "fraise")))\n' +
1273+
'(Afficher (Nieme@ (Liste Vrai Faux Faux Faux Vrai)))\n' +
1274+
'(Afficher (Nieme@ (Liste (Liste 2 4 6) (Liste 3 5 7))))\n' +
1275+
'(Afficher (Nieme@ (Nieme@ (Liste (Liste 2 4 6) (Liste 3 5 7)))))\n' +
1276+
''
1277+
});</script>
12331278

12341279
<h2 id="parcours-lecture"><a href="#parcours-lecture"></a>Parcours de listes</h2>
12351280
<p>Dans certains langages, il existe les instructions <code>Pour</code> ou

tuto_rapide.html

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ <h1 id="top">MicroAlg - Tutoriel rapide</h1>
3535
<a href="#commentaires">Commentaires</a>,
3636
<a href="#texte-et-concatenation">Texte et concaténation</a>,
3737
<a href="#parentheses">Parenthèses</a>,
38+
<a href="#nbres-pseudo-aleatoires">Nombres pseudo-aléatoires</a>,
3839
<a href="#demander">Demander à l’utilisateur</a>,
3940
<a href="#calculs-nombres">Calculs avec des nombres</a>,
4041
<a href="#calculs-nombres-demandes">Calculs avec des nombres demandés à l’utilisateur</a>,
@@ -209,6 +210,19 @@ <h2 id="parentheses"><a href="#parentheses">: </a>Les parenthèses</h2>
209210
<p>Les commandes qui sont « les plus à l’intérieur des parenthèses » seront
210211
exécutées en premier, en commençant par la gauche.</p>
211212

213+
<h2 id="nbres-pseudo-aleatoires"><a href="#nbres-pseudo-aleatoires"></a>Nombres pseudo-aléatoires</h2>
214+
<p>Il est possible d’obtenir un nombre entier
215+
<a href="http://fr.wikipedia.org/wiki/Pseudo-al%C3%A9atoire"
216+
class="wp">pseudo-aléatoire</a> grâce à la commande <code>Entier@</code>.
217+
Il faut lui passer les valeurs minimale et maximale possibles. Lancer
218+
plusieurs fois de suite le programme suivant :</p>
219+
<div id="script-nbres-pseudo-aleatoires"></div>
220+
<script>inject_microalg_editor_in('script-nbres-pseudo-aleatoires', {
221+
src:
222+
'(Afficher (Entier@ 1900 2015))'
223+
});</script>
224+
<p>Comment changer ce programme pour simuler un dé à six faces ?</p>
225+
212226
<h2 id="demander"><a href="#demander"></a>Demander à l’utilisateur</h2>
213227
<div id="script-ex-demander"></div>
214228
<script>inject_microalg_editor_in('script-ex-demander', {
@@ -311,6 +325,9 @@ <h2 id="calculs-nombres"><a href="#calculs-nombres">: </a>Calculs avec des nomb
311325
src:
312326
'(Afficher (- (+ 2 2)))'
313327
});</script>
328+
<p>Un exercice pour finir : écrire un programme qui tire au hasard une
329+
année qui a commencé un siècle entre le dixième et le vingt-et-unième
330+
siècle.</p>
314331

315332
<h2 id="calculs-nombres-demandes"><a href="#calculs-nombres-demandes"></a>Calculs avec des nombres demandés à l’utilisateur</h2>
316333
<p>La commande <code>Demander</code> renvoie du texte, mais les opérations
@@ -795,6 +812,14 @@ <h2 id="manipulation-de-texte"><a href="#manipulation-de-texte">: </a>Manipulat
795812
'(Afficher (Nieme txt 4))\n' +
796813
''
797814
});</script>
815+
<p>La commande <code>Nieme@</code> se prononce « énième aléatoire »
816+
(ou <em>pseudo</em>-aléatoire pour les puristes).</p>
817+
<div id="script-nieme"></div>
818+
<script>inject_microalg_editor_in('script-nieme-aleatoire', {
819+
src:
820+
'(Afficher (Nieme@ "salut"))\n' +
821+
''
822+
});</script>
798823
<div id="script-tete-queue"></div>
799824
<script>inject_microalg_editor_in('script-tete-queue', {
800825
src:
@@ -895,7 +920,7 @@ <h2 id="structure"><a href="#structure">: </a>Listes: structure et lien avec le
895920
<p>Comme les chaînes de caractères (ce qu’on appelle ici parfois le
896921
<em>texte</em> en MicroAlg), les listes sont numérotées à partir de 1 et
897922
peuvent être passées aux commandes <code>Longueur</code>, <code>Nieme</code>,
898-
<code>Tete</code> et <code>Queue</code>.</p>
923+
<code>Nieme@</code>, <code>Tete</code> et <code>Queue</code>.</p>
899924
<div id="script-cmds-longueur"></div>
900925
<script>inject_microalg_editor_in('script-cmds-longueur', {
901926
src:
@@ -921,6 +946,19 @@ <h2 id="structure"><a href="#structure">: </a>Listes: structure et lien avec le
921946
'(Afficher (Nieme (Nieme (Liste (Liste 2 4 6) (Liste 3 5 7)) 2) 3))\n' +
922947
''
923948
});</script>
949+
<p><strong>Rappel</strong> : <code>Nieme@</code> se prononce
950+
« énième aléatoire » (ou <em>pseudo</em>-aléatoire), n’a pas besoin de
951+
position et tire un élément au hasard dans la liste.</p>
952+
<div id="script-cmds-nieme-aleatoire"></div>
953+
<script>inject_microalg_editor_in('script-cmds-nieme-aleatoire', {
954+
src:
955+
'(Afficher (Nieme@ (Liste 1 3 5 7 9 11)))\n' +
956+
'(Afficher (Nieme@ (Liste "banane" "pomme" "fraise")))\n' +
957+
'(Afficher (Nieme@ (Liste Vrai Faux Faux Faux Vrai)))\n' +
958+
'(Afficher (Nieme@ (Liste (Liste 2 4 6) (Liste 3 5 7))))\n' +
959+
'(Afficher (Nieme@ (Nieme@ (Liste (Liste 2 4 6) (Liste 3 5 7)))))\n' +
960+
''
961+
});</script>
924962

925963
<h2 id="parcours-lecture"><a href="#parcours-lecture"></a>Parcours de listes</h2>
926964
<p>Dans certains langages, il existe les instructions <code>Pour</code> ou

tuto_simple.html

Lines changed: 51 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ <h1 id="top">MicroAlg - Tutoriel simple</h1>
3535
<a href="#commentaires">Commentaires</a>,
3636
<a href="#texte-et-concatenation">Texte et concaténation</a>,
3737
<a href="#parentheses">Parentheses</a>,
38+
<a href="#nbres-pseudo-aleatoires">Nombres pseudo-aléatoires</a>,
3839
<a href="#demander">Demander à l’utilisateur</a>,
3940
<a href="#calculs-nombres">Calculs avec des nombres</a>,
4041
<a href="#calculs-nombres-demandes">Calculs avec des nombres demandés à l’utilisateur</a>,
@@ -263,6 +264,19 @@ <h2 id="parentheses"><a href="#parentheses">: </a>Les parenthèses</h2>
263264
commençant par la gauche (nous allons le vérifier dans la section
264265
suivante).</p>
265266

267+
<h2 id="nbres-pseudo-aleatoires"><a href="#nbres-pseudo-aleatoires"></a>Nombres pseudo-aléatoires</h2>
268+
<p>Il est possible d’obtenir un nombre entier
269+
<a href="http://fr.wikipedia.org/wiki/Pseudo-al%C3%A9atoire"
270+
class="wp">pseudo-aléatoire</a> grâce à la commande <code>Entier@</code>.
271+
Il faut lui passer les valeurs minimale et maximale possibles. Lancer
272+
plusieurs fois de suite le programme suivant :</p>
273+
<div id="script-nbres-pseudo-aleatoires"></div>
274+
<script>inject_microalg_editor_in('script-nbres-pseudo-aleatoires', {
275+
src:
276+
'(Afficher (Entier@ 1900 2015))'
277+
});</script>
278+
<p>Comment changer ce programme pour simuler un dé à six faces ?</p>
279+
266280
<h2 id="demander"><a href="#demander"></a>Demander à l’utilisateur</h2>
267281
<p>Il est possible de demander une valeur à l’utilisateur :</p>
268282
<div id="script-ex-demander"></div>
@@ -277,9 +291,16 @@ <h2 id="demander"><a href="#demander">: </a>Demander à l’utilisateur</h2>
277291
src:
278292
'(Afficher (Demander))'
279293
});</script>
280-
<p>En combinant les commandes <code>Demander</code>,
281-
<code>Concatener</code> et <code>Afficher</code>, nous allons pouvoir coder
282-
un premier programme (presque) intéressant : les salutations.</p>
294+
<p>L’utilisation de la commande <code>Demander</code> peut sembler étrange
295+
car elle n’a pas de paramètre. Il faut taper : <code>(Demander)</code>.
296+
Mais en fait, il n’y a pas de raison pour qu’elle en ait car l’utilisateur
297+
peut taper ce qu’il veut, sans limite. La saisie sera simplement validée
298+
par la touche <code>Entrée</code>. Ensuite, c’est comme si ce qu’il allait
299+
taper allait remplacer <code>(Demander)</code>.</p>
300+
<p><strong>Un premier programme interactif !</strong> En combinant les
301+
commandes <code>Demander</code>, <code>Concatener</code> et
302+
<code>Afficher</code>, nous allons pouvoir coder un premier programme
303+
(presque) intéressant : les salutations.</p>
283304
<p>Avant de l’exécuter, essayez de deviner ce que le programme va faire.</p>
284305
<div id="script-salutations"></div>
285306
<script>inject_microalg_editor_in('script-salutations', {
@@ -398,6 +419,9 @@ <h2 id="calculs-nombres"><a href="#calculs-nombres">: </a>Calculs avec des nomb
398419
'(Afficher (- (+ 2 2)))\n' +
399420
''
400421
});</script>
422+
<p>Un exercice pour finir : écrire un programme qui tire au hasard une
423+
année qui a commencé un siècle entre le dixième et le vingt-et-unième
424+
siècle.</p>
401425

402426
<h2 id="calculs-nombres-demandes"><a href="#calculs-nombres-demandes"></a>Calculs avec des nombres demandés à l’utilisateur</h2>
403427
<p>La commande <code>Demander</code> renvoie du texte, celui tapé par
@@ -1033,6 +1057,16 @@ <h2 id="manipulation-de-texte"><a href="#manipulation-de-texte">: </a>Manipulat
10331057
'(Afficher (Nieme txt 4))\n' +
10341058
''
10351059
});</script>
1060+
<p>La commande <code>Nieme@</code>, prononcée « énième aléatoire»
1061+
(<em>pseudo</em>-aléatoire pour les puristes), retourne une des lettres du
1062+
texte, prise au hasard. Lancez plusieurs fois de suite le programme
1063+
suivant :</p>
1064+
<div id="script-nieme-aleatoire"></div>
1065+
<script>inject_microalg_editor_in('script-nieme-aleatoire', {
1066+
src:
1067+
'(Afficher (Nieme@ "salut"))\n' +
1068+
''
1069+
});</script>
10361070
<p>Nous aurons parfois besoin de couper la tête d’un texte, pour
10371071
travailler de proche en proche.</p>
10381072
<div id="script-tete-queue"></div>
@@ -1189,7 +1223,7 @@ <h2 id="structure"><a href="#structure">: </a>Listes : structure et lien avec
11891223
<p>Comme les chaînes de caractères (ce qu’on appelle ici parfois le
11901224
<em>texte</em> en MicroAlg), les listes sont numérotées à partir de 1 et
11911225
peuvent être passées aux commandes <code>Longueur</code>, <code>Nieme</code>,
1192-
<code>Tete</code> et <code>Queue</code>.</p>
1226+
<code>Nieme@</code>, <code>Tete</code> et <code>Queue</code>.</p>
11931227
<div id="script-cmds-longueur"></div>
11941228
<script>inject_microalg_editor_in('script-cmds-longueur', {
11951229
src:
@@ -1215,8 +1249,19 @@ <h2 id="structure"><a href="#structure">: </a>Listes : structure et lien avec
12151249
'(Afficher (Nieme (Nieme (Liste (Liste 2 4 6) (Liste 3 5 7)) 2) 3))\n' +
12161250
''
12171251
});</script>
1218-
<p><strong>Attention</strong> : dans la plupart des autres langages, la
1219-
numérotation commence à 0.</p>
1252+
<p><strong>Rappel</strong> : <code>Nieme@</code> se prononce
1253+
« énième aléatoire » (ou <em>pseudo</em>-aléatoire), n’a pas besoin de
1254+
position et tire un élément au hasard dans la liste.</p>
1255+
<div id="script-cmds-nieme-aleatoire"></div>
1256+
<script>inject_microalg_editor_in('script-cmds-nieme-aleatoire', {
1257+
src:
1258+
'(Afficher (Nieme@ (Liste 1 3 5 7 9 11)))\n' +
1259+
'(Afficher (Nieme@ (Liste "banane" "pomme" "fraise")))\n' +
1260+
'(Afficher (Nieme@ (Liste Vrai Faux Faux Faux Vrai)))\n' +
1261+
'(Afficher (Nieme@ (Liste (Liste 2 4 6) (Liste 3 5 7))))\n' +
1262+
'(Afficher (Nieme@ (Nieme@ (Liste (Liste 2 4 6) (Liste 3 5 7)))))\n' +
1263+
''
1264+
});</script>
12201265

12211266
<h2 id="parcours-lecture"><a href="#parcours-lecture"></a>Parcours de listes</h2>
12221267
<p>Dans certains langages, il existe les instructions <code>Pour</code> ou

0 commit comments

Comments
 (0)