Advertisement
paulogp

Experiência aleatória de um dado

Jul 13th, 2011
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.02 KB | None | 0 0
  1. /* simulacao de experiencias aleatorias lancamento de um dado: quantas vezes, k, sai a face 6 em n lancamentos, por forma a obter a frequencia de saida, k/n; exemplo: 0.02 */
  2.  
  3. // Apple Xcode
  4.  
  5.  
  6. #include <stdio.h>
  7. #include <stdlib.h>
  8. #include <math.h>
  9.  
  10. int main (int argc, const char * argv[])
  11. {
  12.     int the_k = 0;
  13.     int the_n = 0;
  14.     int the_face = 0;
  15.  
  16.     float the_freq = 0;
  17.     float the_desv = 0;
  18.     float the_tol = 0;
  19.  
  20.     printf("tolerancia ]0, 0.17]: ");
  21.     scanf("%f", &the_tol);
  22.  
  23.     if (the_tol > 0 && the_tol <= 0.17)
  24.     {
  25.         while (1)
  26.         {
  27.             the_face = 1 + rand() % 6;
  28.             the_n++; // lancamento
  29.  
  30.             if (the_face == 6)
  31.             {
  32.                 the_k++; // mais uma face 6
  33.  
  34.                 printf("%d faces 6 em %d lancamento\n", the_k, the_n);
  35.  
  36.                 the_freq = (float) the_k / the_n;
  37.                 the_desv = fabs(the_freq - 1 / 6.0); // fabs: valor abs de reais
  38.  
  39.                 printf("freq = %f\n", the_freq);
  40.                 printf("desvio = %f\n", the_desv);
  41.  
  42.                 if (the_desv < the_tol) break;
  43.             }
  44.         }
  45.     }
  46.     else
  47.     {
  48.         printf("]0, 0.17]");
  49.     }
  50.  
  51.     return 0;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement