Hola a todos, hoy os voy a explicar como podemos generar un número aleatorio en PseInt.
Generar números aleatorios en PseInt es bastante sencillo, ya que tenemos una función que podemos utilizar para este propósito.
Según la documentación oficial de PseInt:
AZAR(X) Entero aleatorio en el rango [0;x-1]
Que quiere decir que si hacemos AZAR(20), generará un número entre 0 y 19. El problema que tenemos es que si queremos generar un número entre 10 y 20, no podríamos hacerlo con esta función.
La forma sería generar números entre 0 y el máximo + 1 (para incluir el mismo) y salir cuando el numero este entre esos dos números.
Proceso testNumeroAzar definir numeroAzar, minimo, maximo como numero; numeroAzar <- 0; minimo <- 10; maximo <- 20; Repetir numeroAzar <- AZAR(maximo+1); Hasta Que numeroAzar >= minimo Y numeroAzar<=maximo FinProceso
Este es el resultado:
Podéis pulsar en reiniciar para ver que genera diferentes valores.
También lo podemos hacer en forma de subproceso:
Proceso testNumeroAzar definir numeroAzar, minimo, maximo como numero; numeroAzar <- 0; minimo <- 10; maximo <- 20; numeroAzar <- numeroAleatorioEntre(minimo, maximo) * (-1) ; Escribir "El numero aleatorio generado es ", numeroAzar ; FinProceso //Genera un numero aleatorio entre el minimo y máximo incluidos SubProceso numeroAzar <- numeroAleatorioEntre(minimo, maximo) definir numeroAzar como numero; numeroAzar <- 0; Repetir numeroAzar <- AZAR(maximo+1); Hasta Que numeroAzar >= minimo Y numeroAzar<=maximo FinSubProceso FinSubProceso
En principio, no podemos generar números aleatorios negativos, pero podemos generar un número como hemos visto y lo que obtengamos lo multiplicamos por -1 para hacerlo negativo.
Proceso testNumeroAzar definir numeroAzar, minimo, maximo como numero; numeroAzar <- 0; minimo <- 10; maximo <- 20; numeroAzar <- numeroAleatorioEntre(minimo, maximo) * (-1) ; Escribir "El numero aleatorio generado es ", numeroAzar ; FinProceso //Genera un numero aleatorio entre el minimo y máximo incluidos SubProceso numeroAzar <- numeroAleatorioEntre(minimo, maximo) definir numeroAzar como numero; numeroAzar <- 0; Repetir numeroAzar <- AZAR(maximo+1); Hasta Que numeroAzar >= minimo Y numeroAzar<=maximo FinSubProceso
Recordar que tenemos más subprocesos útiles en nuestra biblioteca en github.
Y no te olvides que tenemos un curso en udemy de PseInt.
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.
Deja una respuesta