En el día de hoy vamos a explicar como trabajar con un vector aleatorio en PSeint y a su vez extraer de dicho vector los números que sean pares e impares, para lograr crear dos nuevos vectores con dichos números.
Recordemos que un tutorial anterior vimos el algoritmo de como ordenar un vector de manera ascendente y descendente, el cual tuvo una gran acogida por todos nuestros seguidores, es por ello que decidimos tratar un nuevo ejemplo clásico en los cursos de introducción a la programación.
Enunciado del Ejercicio de Vectores
Crear un algoritmo en PSeint que genere un vector entero aleatorio de 10 elementos, y que estos elementos se encuentren en el intervalo de (1 a 20). Luego, crear dos vectores en donde se almacenen los números pares e impares de forma independiente. Finalmente, imprimir el vector original, vector con números pares y vector con números impares.
Solución del Ejercicio planteado en PSeint paso a paso
Paso 1: Definir vectores y variables necesarias
Inicialmente sabemos que vamos a necesitar tres vectores declarados como enteros, con un máximo de 10 elementos disponibles. Ya que puede darse el caso, que el vector original contenga todos sus elementos pares o impares.
Por otra parte, declaramos la variable i, esta nos servirá para recorrer los vectores tanto en el momento de imprimirlos o de definir sus elementos pares o impares.
Finalmente declaramos las variables indice1 e indice2, cuya función será definir el indice mayor de los vectores resultantes, y a su vez determinar si hubo por lo menos un elemento en los vectores B (pares) y C (impares).
Definir vector,B,C,i,indice1,indice2 Como Entero
indice1<-1
indice2<-1
Dimension vector[10]
Dimension B[10]
Dimension C[10]
Generar vector aleatorio con los números del (1 al 20)
Insertamos un para desde i igual 1 hasta 10, avanzando en 1 el paso con el fin de generar el vector aleatorio con datos que se encuentre en el intervalo de [1,20]. Como pueden observar en la parte que se genera el comando azar, este va acompañado del número 1 con el fin de que no se genere como dato el numero 0 dentro de nuestro vector.
para i <- 1 hasta 10 con paso 1 Hacer
vector[i] <-azar(20)+1;
FinPara
Definir elementos del vector original como pares o impares
Una vez que hemos creado el vector aleatorio, debemos recorrer el mismo por su 10 elementos con ayuda del para. Luego empleado el condicional (vector[i]%2=0) determinamos los datos pares e impares con el modulo (%), en caso tal que la condición sea verdadera pasara a guardar el dato en el vector B y a sumarle al índice de dicho vector una unidad, con el fin de prepararse para un nuevo dato par.
En caso contrario, en donde la condición (vector[i]%2=0) sea falsa, se ejecutara el SiNo y el dato será guardado en el vector C como impar, a su vez el índice de dicho vector sumara una unidad con el fin de preparar el siguiente dato impar.
para i <- 1 hasta 10 con paso 1 Hacer
Si (vector[i]%2=0) Entonces
B[indice1]=vector[i]
indice1<-indice1+1
SiNo
C[indice2]=vector[i]
indice2<-indice2+1
FinSi
FinPara
Imprimir los tres vectores o la indicación de vectores (par o impar) sin elementos
Para finalizar es claro que debemos hacer uso del para al imprimir el vector aleatorio inicial o vector original. En este caso usamos el comando Escribir sin Saltar con el fin de que el vector se imprima como si fuera una línea horizontal y con un espacio entre cada dato definido por las comillas dobles seguidas. Lo mismo se usará con los vectores B y C para la impresión en línea horizontal.
El siguiente paso a seguir es imprimir el vector B y C, el cual ira desde i=1 hasta inidice1 o indice2. A su vez si las anteriores variables son iguales a 1, esto quiere decir que no habrá datos ya sean pares o impares según sea el caso.
En resumen, indice1=1 si no existen datos pares o indice2=1 si no hay datos impares. Para ello se utilizará la condiciones: Si indice1>1 Entonces y a su vez Si indice2>1 Entonces.
Escribir "El vector original A es:"
para i <- 1 hasta 10 con paso 1 Hacer
Escribir sin Saltar vector[i] " ";
FinPara
Escribir " ";
Escribir "El vector B de números pares es:"
Si indice1>1 Entonces
para i <- 1 hasta indice1-1 con paso 1 Hacer
Escribir sin Saltar B[i] " ";
FinPara
SiNo
Escribir Sin Saltar "Vector B sin elementos."
FinSi
Escribir " ";
Si indice2 >1 Entonces
Escribir "El vector C de números impares es:"
para i <- 1 hasta indice2-1 con paso 1 Hacer
Escribir sin Saltar C[i] " ";
FinPara
SiNo
Escribir Sin Saltar "Vector C sin elementos."
FinSi
Código completo del Algoritmo y resultado de ejecución en Pseint
A continuación te brindamos el algoritmo completo para que lo puedas ingresar en tu Pseint y así puedas llegar a estudiar línea por línea su lógica.
Algoritmo vectorparimpar
Definir vector,B,C,i,indice1,indice2 Como Entero
indice1<-1
indice2<-1
Dimension vector[10]
Dimension B[10]
Dimension C[10]
para i <- 1 hasta 10 con paso 1 Hacer
vector[i] <-azar(20);
FinPara
para i <- 1 hasta 10 con paso 1 Hacer
Si (vector[i]%2=0) Entonces
B[indice1]=vector[i]
indice1<-indice1+1
SiNo
C[indice2]=vector[i]
indice2<-indice2+1
FinSi
FinPara
Escribir "El vector original A es:"
para i <- 1 hasta 10 con paso 1 Hacer
Escribir sin Saltar vector[i] " ";
FinPara
Escribir " ";
Escribir "El vector B de números pares es:"
Si indice1>1 Entonces
para i <- 1 hasta indice1-1 con paso 1 Hacer
Escribir sin Saltar B[i] " ";
FinPara
SiNo
Escribir Sin Saltar "Vector B sin elementos."
FinSi
Escribir " ";
Si indice2 >1 Entonces
Escribir "El vector C de números impares es:"
para i <- 1 hasta indice2-1 con paso 1 Hacer
Escribir sin Saltar C[i] " ";
FinPara
SiNo
Escribir Sin Saltar "Vector C sin elementos."
FinSi
FinAlgoritmo
Una vez copiado, la ejecución obtenida será igual al siguiente gráfico :