]> Git — Sourcephile - reloto.git/blob - Htirage/Tutorial.lhs
9213fa21c14e87aae380ce07885cd4498e18edf1
[reloto.git] / Htirage / Tutorial.lhs
1 Tutoriel de htirage
2 ===================
3
4 On commence par les entêtes nécessaires au compilateur :
5
6 > {-# OPTIONS_GHC -fno-warn-missing-signatures #-}
7 > module Htirage.Tutorial where
8 > import Htirage
9 > import Prelude (toInteger)
10 > import Data.List ((++), length, sort)
11
12
13 2 parmi 5
14 ---------
15
16 Pour sélectionner 2 choix parmi 5 (ordonnés lexicographiquement) :
17
18 > x0 = sort ["dominique", "claude", "baya", "zhennan", "camille"]
19 > n0 = length x0
20 > k0 = 2
21
22 Il faut au moins c0 == 3 bits équiprobables :
23
24 > c0 = equiprobableBits (toInteger n0`nCk`k0)
25
26 Ce tirage de lotterie en procure length b0 == 23:
27
28 > b0 = randomOf6aus49 (39,2,19,41,6,30) 9
29
30 Et on obtient s0 == ["baya","claude"] :
31
32 > s0 = unorderedDraw k0 x0 b0
33
34
35
36 42 parmi 100
37 ------------
38
39 Pour sélectionner 42 choix parmi 100 :
40
41 > n1 = 100
42 > k1 = 42
43
44 Il faut au moins c1 == 94 bits équiprobables :
45
46 > c1 = equiprobableBits (n1`nCk`k1)
47
48 Ces quatres tirages de lotterie en procurent length b1 == 97 :
49
50 > b1 = randomOf6aus49 (27,2,12,34,22,19) 1 ++
51 > randomOfEuroMillions (5,14,35,16,10) (2,7) ++
52 > randomOfFrenchLoto (14,8,26,3,24) 2 ++
53 > randomOfSwissLoto (17,2,29,37,30,25) 5
54
55 Et on obtient s1 == [1,8,9,10,11,12,17,19,20,21,25,26,28,32,35,37,46,50
56 ,51,52,54,55,57,60,61,63,65,66,67,69,70,73,74,75,78
57 ,80,83,87,89,90,92,97]
58
59 > s1 = unorderedDraw k1 [1..n1] b1