[ Foro de Pascal ]

Rangos con la función random

10-Mar-2014 21:50
Invitado (Marc)
5 Respuestas

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...


12-Mar-2014 00:28
Nacho Cabanes (+31)

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).


12-Mar-2014 01:07
Luis Torres (+12)

Yo creo que sería más bien de la siguiente forma:

      20 + random(11)

Saludos.


12-Mar-2014 10:33
Nacho Cabanes (+31)

Ja ja ja ja XD

Sí, efectivamente.


14-Mar-2014 20:26
Invitado (Marc)

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.


15-Mar-2014 04:58
Luis Torres (+12)

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.)