Random Loto - UTC

Transcription

Random Loto - UTC
Tirages aléatoires
Ø  Fonction random
• 
• 
• 
random(n) retourne un nombre entier compris entre 0 et n-1
Ex : random (3) retourne 0, 1 ou 2
Pb : comment tirer au hasard un nombre entre 2 et 5 ?
Ø  Pour obtenir des tirages différents lors de plusieurs
exécutions on peut utiliser la procédure randomize
Ø  Exemple : Tirage du loto
Algorithme ?
NF01
Algorithme simplifié
Ø  Soit T un tableau à une dimension de taille 6
Ø  Pour i allant de 1 à 6
• 
Répéter
ü 
Tirer au hasard un nombre n entre 1 et 49
Jusqu’à ce que n n’ait pas déjà été tiré
•  T[i] ß n
Ø  Fin Pour
• 
NF01
program Loto;
var
n, i, j : integer;
t : array[1..6] of integer;
nouveau : boolean;
begin
randomize;
for i:=1 to 6 do
begin
repeat
n:=random(49)+1;
nouveau:=true;
for j:=1 to i-1 do
if t[j]=n then nouveau:=false;
until nouveau;
T[i]:=n;
end;
writeln;
for i:=1 to 6 do write(T[i]:3); writeln;
end.