Hola a todos, hoy os explicare como podemos hacer arreglos o arrays en PseInt. Los arreglos o arrays en PseInt son estructuras que almacenan valores del mismo tipo como números o cadenas. Tiene una longitud determinada. Lo primero es declarar su dimensión, indicando el nombre del arreglo o array y su longitud dentro de [].
Veamos un ejemplo:
Proceso Prueba Definir num como entero; Dimension num[5]; FinProceso
Debemos definir num con el tipo de dato que queramos que sea, en este caso numérico, ya que si no al recorrer nos saltará un error.
En los arrays o arreglos empiezan desde 1 y acaban en la longitud que hayamos definido. Si has probado otros lenguajes de programación, sabrás que los arrays empiezan en 0 y acaban en la longitud -1 que hayamos definido. Si es tu caso lo podemos cambiar en las opciones de PseInt, Configurar -> Opciones del Lenguaje -> Personalizar, nos aparecerá lo siguiente:
Elegimos la opción utilizar indices en arreglos y cadenas en base 0.
Nosotros lo dejaremos por defecto, es decir, que empiecen en 1.
Veamos como se asignan valores al array:
Proceso Prueba Definir num como entero; Dimension num[5]; num[1]=5; num[2]=10; num[3]=15; num[4]=20; num[5]=25; FinProceso
Como vemos, simplemente debemos indicar el nombre del array, el indice y su valor. Deben estar dentro de la longitud creada, es decir, que en este caso no podríamos asignar un valor al indice 6.
Para recorrer un array, deberemos usar una estructura repetitiva, lo mas recomendable es un Para o Desde donde la variable que declaremos, se insertara en el indice haciendo que en cada repetición varié. Veamos un ejemplo:
Proceso Prueba Definir num como entero; Dimension num[5]; num[1]=5; num[2]=10; num[3]=15; num[4]=20; num[5]=25; Para i<-1 Hasta 5 Con Paso 1 Hacer escribir num[i]; Fin Para FinProceso
Esta es la salida del ejemplo anterior:
Ademas de mostrar los valores, también podemos introducirlos por teclado con leer nombre_array[indice] si queremos introducir valores en todos los indices, para ello usaremos un bucle. Veamos un ejemplo:
Proceso Prueba Definir num como entero; Dimension num[5]; num[1]=5; num[2]=10; num[3]=15; num[4]=20; num[5]=25; Para i<-1 Hasta 5 Con Paso 1 Hacer leer num[i]; Fin Para Para i<-1 Hasta 5 Con Paso 1 Hacer escribir num[i]; Fin Para FinProceso
Recuerda que podemos hacer lo que queramos con lo valores del array o arreglo, como sumar sus valores, hacer una media, etc.
Por último, si has probado otros lenguajes de programación sabrás que se puede saber el tamaño de un array o arreglo, con un método. En pseudocódigo esto no existe, pero si podemos hacer para ello, podemos usar una constante para indicar el tamaño. La mayor ventaja es que si cambiamos el tamaño de un array o arreglo, solo deberemos cambiar en un lugar y no en todos.
Veamos un ejemplo:
Proceso Prueba Definir num como entero; TAMANIO=5; Dimension num[TAMANIO]; num[1]=5; num[2]=10; num[3]=15; num[4]=20; num[5]=25; Para i<-1 Hasta TAMANIO Con Paso 1 Hacer Escribir "Escribe un valor para el indice ",i; leer num[i]; Fin Para Para i<-1 Hasta TAMANIO Con Paso 1 Hacer escribir num[i]; Fin Para FinProceso
NOTA: uso TAMANIO en lugar de TAMAÑO porque PseInt no acepta el carácter ñ.
¡Tenemos curso en udemy y tutellus!
También esta disponible en tutellus con una increíble oferta: ¡6€!
En youtube tenemos un curso completo de Pseudocódigo con PseInt:
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.
porque en el Para, inicies el recorrido con i<-1 y no con i=0 ?
Porque por defecto en PseInt, los arrays empiezan en 1 y no en 0. Se puede cambiar con la opción que comento en el mismo post.
Como se aplica esto, para ingresar nombres… digamos que quiero «almacenar» los nombres de un salon de matematica.
Hola Roy,
Es exactamente igual como lo harías con números, cuando almacenas la primera cadena, el array se considera un array de cadenas.
Un saludo.
Hola, como lo haria para meses del mes? y si al final ese mismo array lo quiero describir en pseudocodigo?. como seria…
Sldos
¿meses del mes? No sé a que te rfieres. Podrías explicarte, por favor.
Un saludo.
Hola, me gustaría ayuda con una practica donde debo tener un arreglo con 30 vectores entonces por teclado debo poner el subindice de una posición q debo borrar y hacer q los demas valores se muevan a la izquierda, eso ya lo hice lo que no se es q hacer con el último vector si dejarlo en cero o si se puede hacer q queda vacio, si se puede dejar vacio me gustaria q me indicara como hacerlo. Gracias de antemano
Hola como lo arias para que almacene palabras que contienen la letra «a» y que si no la contiene debe volver a ingresar otra palabra, y al final debe mostrar las palabras que guardo el array?
pues pidiendo la palabra, recorriendo y si encuentro una «a» la almaceno y sino pedir nuevo, con lo que dices seria dos bucles anidados, uno para pedir las palabras y otro dentro para recorrer las palabras.
Espero que te sirva
SI amigo, lo que pasa es que al introducir una plabara no sigue procesando se queda ahi y no deja hacer nada mas y necesito que en un array de dimension de 10 en cada cuadro guarde la palabra siempre y cuando tenga una o mas «a», pero en cambio si pongo solo la letra «a» el proceso sigue pero si pongo otra letra que no sea «a» se queda ahi y no permite hacer nada: mira lo tengo asi:
Proceso sin_titulo
Definir arr,p,x Como caracter
Definir i,s como entero
dimension arr[10]
para i=1 hasta 10 con paso 1 hacer
mostrar «digite una palabra»
leer p
para s=1 hasta Longitud(p)
x=subcadena(p,s,s)
si x=»a» o x=»A»
arr[s]=x
sino
s=s-1
FinSi
FinPara
FinPara
para i=1 hasta 10
Mostrar arr[i]
FinPara
FinProceso