En esta entrega les comparto un algoritmo para llenar un vector con números aleatorios sin repetir en pseint.
Bien como ya es costumbre en este Blog, vamos a explicar el funcionamiento de este algoritmo, entonces lo primero que hacemos es ponerle un nombre, en mi caso le puse:
Algoritmo detarea
Declaramos las variables.
Definir a,b,c,n,vector Como Entero
Pedimos que se ingrese el tamaño del arreglo.
Escribir «Ingresa el tamaño del Vector»
Este número lo ingresamos en la variable “n”.
Leer n
Colocamos el tamaño del vector, este vector será de tamaño n, es decir el usuario es quien elige el tamaño.
Dimension vector[n]
Utilizamos un ciclo que se repetirá n veces.
para a = 1 Hasta n Con Paso 1 Hacer
En cada ciclo inicializo la variable “c” con el número cero.
c = 0
Generamos un número al azar entre 1 y “n” multiplicado por 2, ya con esto tenemos un margen suficiente para generar los números sin repetir.
x = azar(n*2) + 1
A la función azar le sumaos 1, para descartar el numero cero.
Utilizamos otro ciclo para, este ciclo también se repite n veces.
para b = 1 Hasta n Con Paso 1 Hacer
Y me sirve para evaluar si el número generado al azar ya se encuentra en el vector.
si x == vector(b) Entonces
Si la codician se cumple, como ya mencionaba quiere decir que el número ya se encuentra en el vector, entonces le asignamos el numero 1 a la variable «c».
c = 1
FinSi
FinPara
Evaluamos si la variable «c» es igual a 1.
si c ==1 Entonces
Cuando la variable «c» sea igual a 1, quiere decir que se generó un número repetido.
Entonces decrementamos la variable “a” en 1, esto lo hacemos para que el ciclo no se mueva y podamos ingresar otro número.
a = a – 1
SiNo
Cuando la condición no se cumpla, entonces quiere decir que se ha generado un número que no está repetido por lo tanto lo guardamos en el vector.
vector(a) = x
FinSi
FinPara
Finalmente utilizamos otro ciclo para mostrar los elementos del vector.
para a = 1 Hasta n Con Paso 1 Hacer
Escribir vector(a)
FinPara
FinAlgoritmo
Aquí puedes ver el funcionamiento de este algoritmo.
Esta es la solución de este algoritmo, les comparto el código fuente espero les guste y más que nada que les pueda ser de utilidad, un saludo y nos vemos en la próxima entrega.