Función Rand






Cuando en lenguaje C necesitamos obtener un resultado aleatorio entre un rango usamos la función rand(), esta función la encontramos en la biblioteca #include<stdlib.h>  al igual que las otras funciones que hay que incluir la biblioteca en la que se encuentra esta.

Esta función nos retorna un valor aleatorio entre 0 y RAND_MAX una constante definida en la biblioteca,

Es oportuno aclarar que, el hecho de que sea aleatorio no significa que no pueda ser predecible pues de todas maneras vamos a ver una secuencia que se repite a la hora que el computador empiece a arrojar valores al azar, imaginemos que el computador va estar en juego de lanzar dardos entonces al momento que el computador empieza a lanzar dardos, va a lanzar los con un patrón por ejemplo 10,20,30 y así, para evitar esto entonces nosotros ponemos a girar la diana para esto usamos: srand. 

Srand() modifica la semilla o seed, pero ¿que es la semilla?, esta es una variable en la cual se basa el programa para realizar los cálculos y lanzarnos los resultados aleatorios, cuando usamos srand() estamos modificando la aleatoriedad con la que van a salir los resultados.

También usamos la función Time(null), esta función cuenta los segundos que han transcurrido desde 1976 hasta la actualidad entonces al poner esta funcion como semilla nuestro programa siempre nos generara un numero aleatorio diferente, esta función  la encontramos en la biblioteca <time.h>.

Ejemplo como se usa la función rand.

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main ()
{

        int i, n, aleatorio, P, U;

        srand(time(NULL));
     
        scanf("%d", &n);
     
        for (i = 0; i < n; i ++)
        {
            aleatorio = P+(int)(((U-P+1.0)*rand())/(RAND_MAX+1.0));
         
            printf("%d ", aleatorio);
        }
     
        return 0;
}





Referencias:





Comentarios

Entradas populares de este blog

Librería Math.h

¿Que es un IDE?

Arreglos.