Por que jamás esta por demás? Primero que nada déjenme decirles que el lenguaje C incorpora dos
funciones [rand() y srand()] las cuales son pseudo generadoras de números aleatorios; que quiero decir con ?pseudo? pues que en verdad no generan números aleatorios, si no que siguen un algoritmo, que muestran el fruto de un conjunto de
operaciones (?numero aleatorio?) ; que al final de cuentas puede ser predecido teniendo dicho algoritmo. Función rand() Hablemos de la función rand() esta genera un numero aleatorio en el rango de 0 y 32767 (solo enteros); para conseguir estos números el algoritmo de la función rand() fracción de un ? numero semilla? , quiero decir un numero inicial al cual somete a un conjunto de
operaciones para así
generar los números ?aleatorios?, lo único malo de esta función es que siempre que queramos generar números aleatorios este algoritmo siempre partera de la misma semilla y realizara las mismas operaciones, por lo que obtendremos los mismos números aleatorios una y otra vez ? sin importar las veces que ejecutemos el programa. A continuación un ejemplo: #include iostream.h> #include stdlib.h> //Dentro de stdlib.h encontramos la funcion rand() #include conio.h> int main() lo int aleatorio=0; cout" Programa que genera
numeros aleatorios con la funcion rand()" endl; aleatorio = rand(); cout El numero aleatorio generado es: aleatorio endl; cout El numero generado se descubre en un rango del 0 al RAND_MAX endl; getch(); La función rand() se descubre en la librería stdlib.h, la palabra reservada RAND_MAX -> regresa el valor máximo de la función rand(). Hasta aquí creo que todo simple? empezamos con la emoción al momento que deseamos un numero aleatorio
entre un rango personalizado, por
ejemplo del 0 al 5: #include iostream.h> #include stdlib.h> #include conio.h> int main() lo int aleatorio=0; cout "Programa que genera
numeros aleatorios de rango 0 a 5" endl; aleatorio = rand() % 6; cout "El numero aleatorio generado es: " aleatorio endl; getch(); Estamos
utilizando el operador modulo (%) que es el residuo de una división, para delimitar el rango de la variable ?aleatorio? Analizando este paso, imaginamos que el numero obtenido de la función rand() es el 12 y lo dividimos
entre el numero 6; obteniendo su modulo (residuo) que es idéntico a 0 (imagen1).