Arrays en Pseudocódigo
Un array, también llamado matriz, arreglo o formación de elementos (datos), es un tipo de estructura que agrupa, bajo el mismo nombre de variable, a una colección de elementos (datos) del mismo tipo.
Dicha colección de elementos puede ser de una o varias dimensiones.
Arrays unidimensionales
A los arrays unidimensionales también se les denomina vectores y, en pseudocódigo, se pueden declarar utilizando la siguiente sintaxis (compatible con PSeInt):
Dimension <nombre_del_array>[ <tamaño> ]
El <tamaño> del array determina el número de valores (de un mismo tipo de dato) que pueden ser almacenados en el array.
Para indicar el tipo de dato de los valores del array, se puede utilizar la siguiente sintaxis:
Definir <nombre_del_array> Como <tipo_de_dato>
Acciones sobre un array
Sobre un array, o mejor dicho, sobre los elementos de un array, se pueden realizar las mismas acciones (asignación, salida y entrada) que se podrían hacer sobre una variable del mismo tipo que los elementos de dicho array y, además, se pueden llevar a cabo otras acciones (recorrido, ordenación, búsqueda...).
EJEMPLO En el siguiente algoritmo, se ha declarado un array unidimensional de 4 elementos de tipo Entero, asignándole un valor a cada uno de ellos y, posteriormente, se han recorrido secuencialmente, visualizándose todos ellos por pantalla:
// Ejemplo: Recorrido de un array
Algoritmo Recorrido_de_un_Array
// Declaración de un array de 4 elementos
Dimension datos[4]
Definir datos, indice Como Entero
// Asignación de valores a los elementos del array
datos[1] <- 5
datos[2] <- 1
datos[3] <- 8
datos[4] <- 2
// Recorrido del array mostrando por pantalla los valores de cada elemento
Para indice <- 1 Hasta 4 Hacer
Escribir datos[indice]
FinPara
FinAlgoritmo
La salida por pantalla sería:
Obsérvese que, cada elemento del array se ha referenciado por medio de su identificador (datos), seguido de un número (indice) entre corchetes "[ ]".
En este algoritmo, dicho índice puede oscilar entre el valor 1 y n (al igual que permite el perfil Flexible de PSeInt), siendo n el número de valores que se pueden almacenar en el array; en este caso 4. Ahora bien, en algunos lenguajes de programación, el índice puede oscilar entre 0 y n-1, por lo que, el algoritmo también se podría escribir de la siguiente forma:
// Ejemplo: Recorrido de un array
Algoritmo Recorrido_de_un_Array
// Declaración de un array de 4 elementos
Dimension datos[4]
Definir datos, indice Como Entero
// Asignación de valores a los elementos del array
datos[0] <- 5
datos[1] <- 1
datos[2] <- 8
datos[3] <- 2
// Recorrido del array mostrando por pantalla los valores de cada elemento
Para indice <- 0 Hasta 3 Hacer
Escribir datos[indice]
FinPara
FinAlgoritmo
Arrays multidimensionales
Los arrays multidimensionales se pueden declarar utilizando la sintaxis:
Dimension <nombre_del_array>[ <tamaño_1>, ..., <tamaño_n> ]
EJEMPLO Se quiere diseñar el algoritmo de un programa que:
1º) Cree una matriz (de 2 filas por 3 columnas) para almacenar números enteros.
2º) Muestre un menú con 4 opciones:
- 1. Mostrar los números de la matriz.
- 2. Asignar números por teclado a la matriz.
- 3. Inicializar la matriz a ceros.
- 4. Salir.
3º) Pida por teclado la opción deseada (dato carácter). Deberá ser introducida, hasta que, sea mayor o igual que '1' y menor o igual que '4'.
4º) Ejecute la opción del menú seleccionada.
5º) Repita los pasos 1º, 2º y 3º, hasta que, el usuario seleccione la opción 4 (Salir) del menú.
En pantalla se verá, por ejemplo:
Este problema se puede resolver con el algoritmo:
// Ejemplo: Array de dos dimensiones
Algoritmo Array_de_Dos_Dimensiones
Dimension datos[2,3]
Definir datos, i, j Como Entero
Definir opci Como Caracter
Repetir
Escribir " "
Escribir ">>> MENÚ DE OPCIONES <<<"
Escribir " "
Escribir "1. Mostrar los números de la matriz."
Escribir "2. Asignar números por teclado a la matriz."
Escribir "3. Inicializar la matriz a ceros."
Escribir "4. Salir."
Escribir " "
// Filtramos la opción elegida por el usuario
Repetir
Escribir Sin Saltar "Introduzca opción (1-4): "
Leer opci
Hasta Que opci >= '1' & opci <= '4'
// La opción solo puede ser '1', '2', '3' o '4'
Escribir " "
Segun opci Hacer
'1':
Para i <- 1 Hasta 2 Hacer
Escribir "Valores de la fila ", i, ":"
Para j <- Hasta 3 Hacer
Escribir datos[i,j]
FinPara
FinPara
'2':
Para i <- 1 Hasta 2 Hacer
Para j <- 1 Hasta 3 Hacer
Escribir Sin Saltar "Introduzca el valor de datos[",i,",",j,"]: "
Leer datos[i,j]
FinPara
FinPara
'3':
Para i <- 1 Hasta 2 Hacer
Para j <- 1 Hasta 3 Hacer
datos[i,j] <- 0
FinPara
FinPara
Escribir "Matriz inicializada a ceros."
FinSegun
Hasta Que opci = '4'
FinAlgoritmo