Como generar un número aleatorio en PseInt

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.

Curso iniciación pseudocodigo con Pseint

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

Compartir

Deja una respuesta

Tu dirección de correo electrónico no será publicada.