Voilà un programme de loto qui vous imprimera une grille avec un choix de six à dix numéros (pour les grilles multiples). 
 L’algorithme :
Le Programme :
Ligne 30 à 70 : initialisation    
Après le dimensionnement du tableau A(), on saisit au clavier le nombre de chiffres que l’on veut obtenir (6 pour les grilles simples, 7 à 10 pour les multiples)    
La ligne 70 refuse toutes autres valeurs. 
Ligne 100 à 140 : tirage    
Elle remplissent le tableau A() avec des chiffres 1 pour les cases qui viennent d’être tirées au hasard.
La ligne 120 vérifie le contenu de A() pour s’assurer que le nombre n’a pas déjà été tiré.
Ligne 200 à 320 : résultat    
Après le dessin du cadre (ligne 210), on affiche avec deux boucles FOR/NEXT imbriquées les 49 chiffres du loto.
Les chiffres qui ont été choisis sont barrés comme sur un bulletin normal. 

 

Listing : 
10 REM LOTO
20 REM —————————————————
30 DIM A(49)
40 MODE 1:INK 0,2:INK 1,25:BORDER 2
50 RANDOMIZE TIME
60 INPUT « NOMBRE DE CHIFFRES A TIRER »;N
70 IF N<6 OR N>10 THEN 40
80 REM ————————————————-
90 REM TIRAGE
100 FOR I=1 TO N
110 A=INT(RND(1)*49) 1
120 IF A(A)=1 THEN 110
130 A(A)=1
140 NEXT I
180 REM ———————————————-
190 REM RESULTAT
200 MODE 1:TAG:MOVE 270,399:PRINT « LOTO »;
210 MOVE 194,20:DRAW 400,20:draw 400,374:DRAW 194,374:DRAW 194,20
220 FOR I=0 TO 9
230 FOR J=0 TO 40 STEP 10
240 IF I J=0 THEN 290
250 X=200 J/10*40:Y=340-I*35
260 MOVE X 2,Y 20:PRINT USING »## »;I J;
270 MOVE X,Y:DRAW X 35,Y:DRAW X 35,Y 30:DRAW X,Y 30:DRAW X,Y
280 IF A(I J)=1 THEN MOVE X,Y:DRAW X 35,Y 30:MOVE X,Y 30:DRAW X 35,Y
290 NEXT J
300 NEXT I
310 IF INKEY$<>CHR$(13) THEN 310
320 RUN
 

Liste des variables :
A      nombre aléatoireA()    liste des chiffres choisis
I       indice de boucle FOR/NEXT
J      indice de boucle FOR/NEXT
N      nombre de chiffres à tirer 
X Y   coordonnées sur l’écran du chiffre affiché