Beruflich Dokumente
Kultur Dokumente
con esos conocimientos, crear un sencillo juego en modo texto. En la Próxima clase !!!
Números aleatorios.
azar. Para ello se utilizará la función rand(). Esta función genera un número entre 0 y
RAND_MAX (Una constante definida en el archivo cabecera stdlib.h) El estándar ANSI, indica
que el valor de RAND_MAX, para un entero de 16 bit (2 bytes) debe ser de por lo menos
32767.
#include<stdio.h>
#include<stdlib.h>
int main(void){
return 0;
}
Para hacer que el rango de números sea menor, por ejemplo si se desea buscar un número al
azar para simular un dado, se utiliza el signo % seguido del número que representa el rango en
el cual se debe realizar la búsqueda. Por ejemplo, si quisiera que el rango estuviese entre 1 y 6,
antepuso el número 1 a la función rand, para que la búsqueda empiece desde 1 y no cero,
#include<stdio.h>
#include<stdlib.h>
int main(void){
return 0;
}
Seguramente más de alguno se habrá dado cuenta que al ejecutar el programa varias veces, la
función rand() escoge el mismo número al azar. Esto es así debido a que se facilita la
depuración (corrección) del programa cuando existen elementos que se generan al azar. Una
vez que el programa fue corregido, se puede emplear otra función que permita a rand()
escoger un número al azar diferente. Esta función es srand(). La función srand() solicita un
argumento unsigned (entero sin signo, o sea entero positivo) y ese número es tomado como
#include<stdio.h>
#include<stdlib.h>
int main(void){
unsigned semilla = 5;
srand(semilla);
return 0;
}
Cambiando el número de la semilla, se puede generar un nuevo número al azar. Voy a probar
un nuevo programa, pero esta vez haré que me pida un valor, el cual será utilizado como la
semilla.
#include<stdio.h>
#include<stdlib.h>
int main(void){
unsigned semilla;
int i;
int azar;
Otra forma de hacer aleatorio este programa sin necesidad de introducir una semilla cada vez
segundos, el cual es convertido en entero unsigned. Time es capaz de proporcionar una cadena
representando la hora del día. El argumento NULL desactiva esa capacidad entregando
Ejemplo:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void){
int i;
int azar;
srand(time(NULL));
printf("\n** Numeros Generados **\n");
De esta manera, cada vez que se ejecute el programa, saldrá una secuencia diferente de
dígitos.
Aquí les dejo como seleccionar los Rangos…
azar=rand()%51;
azar=1+rand()%(101-1);
azar=250+rand()%(421-250);