On peut demander de dessiner un évènement en y plaçant toutes les éventualités qu’il contient. Ce sera fait ici
- avec un dé (chaque face du dé est dessinée sur une carte, et les cartes doivent être placées dans un sac représentant l’évènement décrit),
- ou avec une carte (mais l’évènement « la carte est un valet » sera alors représenté par 4 cartes, les valets, et non une carte...)
Avec un dé
Chaque face du dé est dessinée sur un objet de type « canvas » (appelé ctx ci-dessous), de couleur ivoire et à bords arrondis, avec des points (des disques en réalité, ou plutôt des arcs de cercle allant de 0 à 2π dans le sens direct) rajoutés à des endroits qui dépendent de la valeur à afficher :
if valeur > 1
ctx.moveTo 12, 12
ctx.arc 12, 12, 4, 0, 2*pi, true
ctx.moveTo 36, 36
ctx.arc 36, 36, 4, 0, 2*pi, true
if valeur > 3
ctx.moveTo 12, 36
ctx.arc 12, 36, 4, 0, 2*pi, true
ctx.moveTo 36, 12
ctx.arc 36, 12, 4, 0, 2*pi, true
if valeur > 5
ctx.moveTo 12, 24
ctx.arc 12, 24, 4, 0, 2*pi, true
ctx.moveTo 36, 24
ctx.arc 36, 24, 4, 0, 2*pi, true
if valeur % 2 is 1
ctx.moveTo 24, 24
ctx.arc 24, 24, 4, 0, 2*pi, true
L’algorithme utilisé est le suivant :
- si la valeur est nulle on ne dessine pas de point (utile à la fin, les nombres impairs étant dessinés en rajoutant un point central au nombre précédent) ;
- si la valeur est supérieure à 1, on met deux points diagonalement opposés
- si la valeur est supérieure à 3, on ajoute deux points sur l’autre diagonale
- si la valeur est supérieure à 5, on ajoute deux points à gauche et à droite
- si la valeur est impaire, on ajoute un point central
évènements simples | intersections | réunions |
Avec une carte à jouer dans un jeu de 32
Chaque carte est une « div » de html, à bords arrondis, et décalée vers la droite pour permettre aux cartes de se chevaucher. Elle comporte un texte comme « R♣ » qui permet de repérer et compter les cartes par certains algorithmes (par exemple, un trèfle est une chaîne de caractères qui contient un « ♣ », une figure commence par « V », « D » ou « R » etc. Ces algorithmes sont rangés dans un tableau (ou objet CoffeeScript) appelé comprehensions, chacun repéré par une chaîne de caractères le décrivant (son nom [1]). Les voici :
comprehensions =
"un carreau": (x) -> '♦' in x
"un cœur": (x) -> '♥' in x
"un pique": (x) -> '♠' in x
"un trèfle": (x) -> '♣' in x
"rouge": (x) -> '♦' in x or '♥' in x
"noire": (x) -> '♠' in x or '♣' in x
"un valet": (x) -> x[..0] is 'V'
"une dame": (x) -> x[..0] is 'D'
"un roi": (x) -> x[..0] is 'R'
"un as": (x) -> x[..0] is '1' and x[..1] isnt '10'
"une figure": (x) -> x[..0] in ['V','D','R']
"un nombre": (x) -> parseInt(x) < 11
"un nombre pair": (x) -> parseInt(x) < 11 and parseInt(x)%2 is 0
"un nombre impair": (x) -> parseInt(x) < 11 and parseInt(x)%2 isnt 0
Alors pour fabriquer un évènement au hasard, il suffit de construire le tableau contenant tous ces noms d’algorithmes, et d’y choisir un élément au hasard :
descr = Object.keys comprehensions
dé = Math.floor Math.random()*descr.length
descompreh=descr[dé]
$(".compreh").text descompreh
évènements simples | intersections | réunions |
Le premier exercice, en ligne :
Constituer l'évènement suivant :
Le résultat du lancer est
Probabilité
L'évènement {} contient 0 éventualités (ou cas favorables), sur 6 cas possibles au total, sa probabilité est donc 0/6 = 0.
Commentaires