<span id="more-149"></span>
program lancio_dado;
{uses crt;}
var
n, k, uno, due, tre, quattro, cinque, sei, dado : longint;
funo, fdue, ftre, fquattro, fcinque, fsei : real;
invio : char;
begin
{clrscr;}
randomize;
uno := 0; due := 0; tre := 0; quattro := 0; cinque := 0; sei := 0;
writeln('Il programma simula il lancio di un dado per n volte.');
writeln('Per un''esecuzione rapida non puoi superare dieci milioni di lanci.');
repeat
write('Quanti lanci vuoi simulare ? ');
readln(n);
until (n > 0) and (n < = 10000000 );
for k := 1 to n do
begin
dado := random(6)+1;
{ l'incremento di 1 è necessario perchè random(6)
genera numeri casuali compresi tra 0 e 5 }
case dado of
1 : uno := uno + 1;
2 : due := due + 1;
3 : tre := tre + 1;
4 : quattro := quattro + 1;
5 : cinque := cinque + 1;
6 : sei := sei + 1;
end;
end;
funo:= uno/n; fdue := due/n; ftre := tre/n;
fquattro := quattro/n; fcinque := cinque/n; fsei := sei/n;
writeln ('il numero uno è uscito ',uno,' volte');
writeln('con una frequenza pari a ',funo:8:8);
writeln;
writeln ('il numero due è uscito ',due,' volte');
writeln('con una frequenza pari a ',fdue:8:8);
writeln;
writeln ('il numero tre è uscito ',tre,' volte');
writeln('con una frequenza pari a ',ftre:8:8);
writeln;
writeln ('il numero quattro è uscito ',quattro,' volte');
writeln('con una frequenza pari a ',fquattro:8:8);
writeln;
writeln ('il numero cinque è uscito ',cinque,' volte');
writeln('con una frequenza pari a ',fcinque:8:8);
writeln;
writeln ('il numero sei è uscito ',sei,' volte');
writeln('con una frequenza pari a ',fsei:8:8);
writeln;
writeln('Premi invio per uscire.');
read(invio)
end.