[ Foro de Pascal ]
Hola de nuevo, Nacho...
Siguiendo tu curso de Pascal, planteas este ejercicio en el apartado 1.6.3. (Algunas funciones matemáticas):
Ejercicio propuesto 1.6.3.4: Crea un programa que genere un número al azar entre 100 y 500 (ambos incluidos).
Yo conocía la función range de otros lenguajes. Pero creo que Pascal no la incorpora ¿No?
Por que random solo puede ser de 0 a x números.
Lo suyo sería poder hacer random(range(100,500))
Saludos...
Efectivamente, no existe Range en Pascal, pero puedes multiplicar por un valor y sumar otro.
He ampliado un poco esa parte del apartado 1.6.3: Si debemos buscar un número entre dos valores cualesquiera, deberemos sumar una cantidad al valor de random. Por ejemplo, para obtener un número entre 20 y 30 usaríamos 10+random(21).
Yo creo que sería más bien de la siguiente forma:
20 + random(11)
Saludos.
Ja ja ja ja XD
Sí, efectivamente.
Pero cuando hacemos:
random(5); // salen valores aleatorios del 0 al 4
Pero si hacemos:
1+random(5); // si sale el 5.
Osea, para evitar que no salga el numero 0 y el 5
Asi ¿No?
1+random(4);
Sumando un valor delante del random, si que nos incluye el valor de la funcion.
random(n) genera los valores que van desde el 0 hasta n-1.
Si quieres generar los valores desde 1 hasta n, deberás hacer random(n) + 1. El número 1 puede ir antes o después de la función random.
En el caso de que quieras generar los número desde el 1 hasta el 4, ambos inclusive, está bien como lo escribiste: random(4) + 1.
Eso es todo.
Saludos.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)