Está en la página 1de 3

Hola a todos, hoy os mostrare como definir y utilizar arreglos o arrays multidimensionales en pseudocódigo.

Los arreglos o arrays multidimensionales son varios arrays unidimensionales unidos. Para imaginártelo mejor,


piensa que son como tablas, donde los valores son el contenido de la tabla.

Veamos como se definen:

1 Proceso Prueba
2  
3     definir num como entero;
4  
5     dimension num[3,3];
6  
FinProceso
7
Lo único que cambia es que añadimos es otro numero, el primero hace referencia a las filas (como en
los unidimensionales) y el segundo es el numero de columna. Es decir, que sería como una tabla de 3×3.

Vams a ver como podemos recorrerlo:

1
2 Proceso Prueba
3  
4     definir num, columna, fila como entero;
5     dimension num[3,3];
6  
7     num[1,1]=1;
8     num[1,2]=2;
    num[1,3]=3;
9     num[2,1]=4;
10     num[2,2]=5;
11     num[2,3]=6;
12     num[3,1]=7;
    num[3,2]=8;
13
    num[3,3]=9;
14
 
15     Para columna<-1 Hasta 3 Con Paso 1 Hacer
16         Para fila<-1 Hasta 3 Con Paso 1 Hacer
17             escribir num[columna,fila];
18         FinPara
    FinPara
19 FinProceso
20
21
Como vemos, usamos un bucle dentro de otro bucle, necesitaremos un bucle por cada array unidimensional. Para
entenderlo mejor veamos este ejemplo para ver la combinación de indices:

1 Proceso Prueba
2  
    definir num, columna, fila como entero;
3
    dimension num[3,3];
4
 
5     num[1,1]=1;
6     num[1,2]=2;
7     num[1,3]=3;
8     num[2,1]=4;
    num[2,2]=5;
9     num[2,3]=6;
10     num[3,1]=7;
11     num[3,2]=8;
12
13     num[3,3]=9;
14
 
15     Para columna<-1 Hasta 3 Con Paso 1 Hacer
16         Para fila<-1 Hasta 3 Con Paso 1 Hacer
17             escribir "En la columna ",columna," y fila ",fila," es ",num[columna,fila];
18         FinPara
    FinPara
19 FinProceso
20
21
¿Pero que pasa si, para un concreto caso, queremos ver una columna en concreto sin tener que recorrer todas las
columnas? Podemos hacerlo con un simple bucle. Veamos un ejemplo:

1
2 Proceso Prueba
3  
4     definir num, columna, fila como entero;
5     dimension num[3,3];
6  
7     num[1,1]=1;
    num[1,2]=2;
8     num[1,3]=3;
9     num[2,1]=4;
10     num[2,2]=5;
11     num[2,3]=6;
    num[3,1]=7;
12
    num[3,2]=8;
13     num[3,3]=9;
14  
15     Para fila<-1 Hasta 3 Con Paso 1 Hacer
16         Escribir num[2, fila];
17     FinPara
FinProceso
18
19
En el ejemplo anterior, vemos que mostramos solo la columna dos.

También podemos hacer como en los arrays unidimensionales, introducir nosotros los datos. Aquí lo vemos:

1 Proceso Prueba
2  
    definir num, columna, fila como entero;
3
    dimension num[3,3];
4
 
5     Para columna<-1 Hasta 3 Con Paso 1 Hacer
6         Para fila<-1 Hasta 3 Con Paso 1 Hacer
7             escribir "Introduce el valor de la columna ",columna," y ",fila;
8                         leer num[columna,fila];
        FinPara
9     FinPara
10  
11     Para columna<-1 Hasta 3 Con Paso 1 Hacer
12         Para fila<-1 Hasta 3 Con Paso 1 Hacer
13             escribir "En la columna ",columna," y fila ",fila," es ",num[columna,fila];
14         FinPara
    FinPara
15 FinProceso
16
17
18
Por último, haremos igual que en los arrays unidimensionales,  que es definir una constante para que en caso de
cambiar el tamaño de un array solo lo hagamos en un lugar. Veamos un ejemplo:

1
2 Proceso Prueba
3  
4     definir num, columna, fila,TAMANIO_COLUMNA, TAMANIO_FILA como entero;
5     TAMANIO_COLUMNA=3;
6     TAMANIO_FILA=3;
7  
    dimension num[TAMANIO_COLUMNA,TAMANIO_FILA];
8     Para columna<-1 Hasta TAMANIO_COLUMNA Con Paso 1 Hacer
9         Para fila<-1 Hasta TAMANIO_FILA Con Paso 1 Hacer
10             escribir "Introduce el valor de la columna ",columna," y ",fila;
11             leer num[columna,fila];
12         FinPara
    FinPara
13
 
14     Para columna<-1 Hasta TAMANIO_COLUMNA Con Paso 1 Hacer
15         Para fila<-1 Hasta TAMANIO_FILA Con Paso 1 Hacer
16             escribir "En la columna ",columna," y fila ",fila," es ",num[columna,fila];
17         FinPara
    FinPara
18
FinProceso
19
20
Espero que os sea de ayuda. Si teneis dudas, preguntad. Estamos para ayudarte.

También podría gustarte