martes, 9 de noviembre de 2010

Numeros aleatorios (Puntos Extra)

¿Numeros aleatorios?
Los números aleatorios permiten a los modelos matemáticos representar la realidad, un numero aleatorio es aquel obtenido al azar, es decir, que todo numero téngala misma probabilidad e ser elegido y que la elección de uno no dependa de la elección de otro.

Caracteristicas de numeros aleatorios

Algunas Características de los números aleatorios podrían ser

Cuando se generan números aleatorios se pueden producir ciertos errores o problemas, como por ejemplo:

1.- Los números generados pueden no estar distribuidos uniformemente.

2.- Los números generados pueden corresponder a una distribución discreta en lugar de a una continua.

3.- La media de los números generados puede ser demasiado alta o demasiado baja.

4.-La varianza de los números generados puede ser demasiado alta o demasiado baja.

5.- Puede existir una clara dependencia entre ellos.


Definiciones
Hay varios tipos de definiciones de números aleatorios algunas podrían ser :

Kolmogorov (1987)

Una sucesión de números es aleatoria si no puede producirse eficientemente de una manera más corta que la propia serie.

L’Ecuyer (1990)

Una sucesión de números es aleatoria si nadie que utilice recursos computacionales razonables puede distinguir entre la serie y una sucesión de números verdaderamente aleatoria de una forma mejor que tirando una moneda legal para decidir cuál es cuál.



Definición 3

Un Número aleatorio es una realización de una variable aleatoria que tiene asociada una ley de probabilidades F.

 
Ejemplo
 
#include
main()

{

int n,i;//declaramos n y i
int arreglo_numeros; // declarar el arreglo de los numero donde se guardaran
int encontrado = 0; // 0 = false 1 = true
int numero_a= 0;// es la variable en la cual dara el numero aleatorio

while(n < 10){//comienza el while
encontrado = 0; // iniciamos en false - no encontrado
numero_a = rand(99); // numero que necesites aleatorio

for(i=0;i
if(arreglo_numeros[i] == numero_a){
encontrado = 1;
}
}
if(!encontrado){
n++;
arreglo_numeros[n] = numero_a;
}
printf("Numero aleatorios es %d", n_aleatorios);
getche();
}

Explicacion

Bueno en este programa se puede ver que se saca un numero aleatorio, primero se declara un arreglo en el cual se guardaran los numero, para poder sacar un numero aleatorio la mejor forma de ciclarlo es un While, leei que habia una funcion llamada rand en la cual se utiliza mucho para lomismo,sacar numeros aleatorios, aqui declaramos que rand, no debe sobre pasar de 99, para tener un rango rasonable y que no salgan numero enormes, entonce empiesa a correr el while, encontrado se declara 0 por que no se a encontrado nada, despues numero_a se iguala a rand(99) por que es el rango y ai es donde se guardara el numero, despues el for recorre el arreglo, preguntandose con un if que si en el arreglo de numero se encuentra una variable igual ala de numero_a,( por que a numero_a, por que este se igualo anteriormente a rand(99) y este mismo agarra un numero aleatorio entre 0 y 99); se declara que Encontrado= 1  entonces hay encontramos nuestr numero aleatorio.

9 comentarios:

  1. Hola Alfonzo en tu código te estan faltando esribir correctamente la libreria stdio.h, los argumentos de main y recuerda no utilizar getche()

    :D

    ResponderEliminar
  2. Buena entrada pare en ru ejemplo creo que le falta las librerías por que solo pusiste #include
    Checa bien tu codigo tiene varios errores

    ResponderEliminar
  3. tambien es recomendable que pongas al iniciar

    int main(int argc, char** args) {}

    se utilizan para recibir los argumentos de linea de ordenes

    ResponderEliminar
  4. Yo creo que no es que te haya faltado la librería , sino que cuando pones cualquier palabra que este dentro de los signos < y >, el html los quita, porque los confunde con las etiquetas del mismo html, bueno para que entiendas mejor esto y para que soluciones ese detalle te dejo el link de la pagina de cecy en donde ella habla de esto:

    http://ceciliaurbina.blogspot.com/2010/11/simbolos-en-html.html

    Saludos.

    ResponderEliminar
  5. Que tal!!
    Bueno, alos comentarios de mis amigos le sumo un tip.
    Puedes incluir la libreria , añadir la linea "srand(time(NULL));" por ahi debajo de las declaraciones de las variables y despues para los numeros la declaracion "numero_a = (rand()%99). esto ayuda a que cada vez que ejecutes el codigo se generen numeros aleatorios diferentes.

    ResponderEliminar
  6. no salio en mi comentario anterior, pero me referia a incluir la libreria "time.h"

    ResponderEliminar
  7. hola alfonso, te faltaron librerias tambien no puedes poner getch(); sin una libreria ya que getch(); es como para conio.h, pero como conio.h es una perdida de tiempo, podrias colocar simplemente stdio.h y al final un system("pause");,tambien tu for esta incompleto.

    ResponderEliminar
  8. Un punto de participación para cada comentarista y exactamente un punto extra para el autor mismo también.

    ResponderEliminar