Software y Aplicaciones Web

Blog de desarrollo de software y aplicaciones web

Comentarios Recientes

Comment RSS

MSDN Home Page (Argentina)


C# Corner


AspAlliance.com

Declaración

Las opiniones en este blog se proporcionan "TAL CUAL", sin garantías,  no confieren derechos y no reflejan, necesariamente, la opinión de quienes me contratan.
Algunas cuestiones que se comentan en el blog no son reales, cualquier similitud con alguna persona viva o muerta no es más que una coincidencia, tampoco significa que necesite terapia, soy asi.

© Copyright 2007-2010

Propaganda

Este sitio implementa publicidad basada en intereses
Jun
29.
2009

  Tirando Dados - Simulación

Este post muestra el código para simular la tirada de datos, el objetivo es estudiar la probabilidad que tienen de salir los distintos números.

Se trata de un ejercicio del cursos Programador .NET en Becas Control+F

 

   1:      /// <summary>
   2:      /// Escriba un programa que simule el tirar dos dados. El programa deberá utilizar 
   3:      /// una función que genere numero aleatorios para tirar el primer dado, y despues 
   4:      /// volver a utilizarla para tirar el segundo dado. La suma de los dos valores 
   5:      /// debera ser calculada. Nota: en vista de que cada dado puede mostrar un valor 
   6:      /// entero de 1 a 6 entonces la suma de los dos valores variará desde 2 hasta 12, 
   7:      /// siendo 7 la suma más frecuente y 2 y 12 las menos frecuentes. Su programa debera 
   8:      /// tirar 36000 veces los dos dados. Utilice un arreglo de una dimensión para llevar 
   9:      /// cuenta del número de veces que aparece cada suma posible. Imprima los resultados 
  10:      /// en un formato tabular. Tambien determine si los totales son razonables, es decir, 
  11:      /// existen seis formas de llegar a un 7, por lo que aproximadamente una sexta parte 
  12:      /// de todas las tiradas deberán ser 7
  13:      /// </summary>
  14:      static void Ejercicio4()
  15:      {
  16:        Console.Clear();
  17:        Console.WriteLine("Laboratorio 3 - Ejercicio 4");
  18:   
  19:        int[] valores = new int[13];  // Necesito el subindice 12
  20:        int suma = 0;
  21:        const int MAX = 360000;  // Cantidad de tiradas a realizar
  22:        // Inicialización del arreglo
  23:        for (int i = 0; i < valores.Length; ++i)
  24:        {
  25:          valores[i] = 0;
  26:        }
  27:        // Simulación de tirar dados y cuenta los valores obtenidos
  28:        for (int i = 0; i < MAX; ++i)
  29:        {
  30:          suma = TirarDado() + TirarDado();
  31:          valores[suma] += 1;
  32:        }
  33:        // Muestra los resultados
  34:        for (int i = 2; i <= 12; ++i)
  35:        {
  36:          Console.WriteLine("{0,3} - {1,8} - {2,8}%", i, valores[i], ((float) valores[i] / MAX * 100).ToString("#0.00"));
  37:        }
  38:   
  39:        Console.ReadKey();
  40:      }
  41:   
  42:      /// <summary>
  43:      /// Este objeto se utiliza para generar números pseudoaleatorios
  44:      /// </summary>
  45:      private static Random generador = new Random();
  46:   
  47:      /// <summary>
  48:      /// Simula el hecho de tirar un dado, los posibles valores van del 1 al 6
  49:      /// se utiliza un objeto que genera números pseudoaleatorios
  50:      /// </summary>
  51:      /// <returns>Valor simulado 1,2,3,4,5,6</returns>
  52:      private static int TirarDado()
  53:      {
  54:        return generador.Next(1, 7);
  55:      }

A ver si alguien tiene otra idea de cómo hacer esto.

 




Categorías: ASP.NET | Programacion



Add comment




  Country flag
biuquote
  • Comment
  • Preview
Loading