Resumen: Entrega nº10 del curso Bases de la programación Nivel II.
Codificación aprenderaprogramar.com: CU00211A

 

 

 

ARRAYS (ARREGLOS) DINÁMICOS Y ARRAYS ESTÁTICOS. INSTRUCCIÓN REDIMENSIONAR.

En su momento definimos array como un conjunto de variables que tienen el mismo nombre y se diferencian a través de uno o varios localizadores. El array de un localizador se asocia con la idea de lista, vector o matriz de una sola fila y el de dos localizadores con la idea de matriz o tabla. Trabajaremos conceptos sobre todo basándonos en estos arrays por ser los más comunes, sin que ello signifique que no se puedan aplicar a arrays de más dimensiones. Vamos a establecer unas pautas para:

 

 

· Declaración de arrays (arreglos).

· Modificación dimensional de arrays.

 

En primer lugar definiremos array estático como aquel que es declarado con un número de elementos componentes fijo. Su declaración se realizará en la cabecera de programa o cabecera de módulo de la siguiente manera:

   Variables

   Tipo: Array(n)

 

 

Donde n es el número de componentes y Array el nombre del array. Así Ciudad(4) declara un array de 4 elementos: Ciudad(1), Ciudad(2), Ciudad(3) y Ciudad(4) todos con contenido cero o vacío. Se admitirá indistintamente considerar o no el cero. Es decir, se puede tener en cuenta Ciudad(0) o no a voluntad. Un elemento fuera del rango como Ciudad(7) no existe ni va a existir a lo largo del programa. El tipo de dato que se declara para el array afecta a todos los elementos del mismo. Por ejemplo: Alfanuméricas: Ciudad(4) afecta a Ciudad(1), Ciudad(2), Ciudad(3) y Ciudad(4).

Definimos array dinámico como aquel que es declarado con un número de elementos componente indefinido. Dicha indefinición se hace constar, al declarar el array en cabecera de módulo o programa, dejando los paréntesis vacíos:

   Variables

   Alfanuméricas: Ciudad()

 

 

Un array dinámico tiene que ser redimensionado antes de poder ser utilizado mediante la instrucción Redimensionar. Dicha instrucción puede aparecer en cualquier parte del código donde la variable sea accesible. Así Redimensionar Ciudad(8) declara 8 variables que son Ciudad(1),    Ciudad(2), ..., Ciudad(8).

Un array estático no puede ser redimensionado nunca. Un array dinámico habrá de redimensionarse al menos una vez (para poder ser usado), pero podrá modificarse tantas veces como se estime necesario, aunque el número de localizadores siempre tendrá que ser el mismo. Esto nos dota de flexibilidad para manejar datos: si teníamos 100 clientes y henos perdido 25 podremos no sólo borrar el nombre sino recortar espacios sobrantes, reagrupar, etc. En definitiva: ahorrar memoria.

Si la instrucción Redimensionar define un array hasta ese momento indefinido, los valores de las variables del array son cero o vacío. Además, el primer uso de redimensionar supondrá fijar el número de localizadores para el array, que ya no podrá variarse durante el programa. Por ejemplo, si definimos Ciudad() como Ciudad(8) podremos después redimensionar Ciudad(14) pero no podremos redimensionar Ciudad(5,4).

Si la instrucción Redimensionar se aplica a un array que ya gozaba de definición pueden suceder dos cosas:

a)  

Se amplía el número de elementos del array: en este caso, los nuevos elementos del array tienen valor cero o vacío mientras que los anteriores conservan su valor.

 

b)   Se reduce el número de elementos del array: en este caso, las variables que dejan de formar parte del array desaparecen y se consideran no declaradas. No pueden invocarse ni recuperarse su valor, ni siquiera volviendo a ampliar el número de elementos del array. Las variables que no se eliminan conservan su valor.

 

Vamos a ver estos conceptos aplicados a través de ejemplos.

 

Ejemplo:

Declaración    --->
de cabecera

 

Definición      --->

   PROGRAMA CIUDADES [Pseudocódigo aprenderaprogramar.com]

 

      Variables

             Alfanuméricas: Ciudad()

 

      1. Inicio

             2. Redimensionar Ciudad(3)

             3. Ciudad(1) = “Nueva York”

             4. Ciudad(2) = “París”

             5. Ciudad(3) = “Moscú”

             6. Mostrar “Me gusta”, Ciudad(2)

             7. Redimensionar Ciudad(5)

             8. Ciudad(4) = “Londres”

             9. Ciudad(5) = “Bruselas”

             10. Mostrar “Además de”, Ciudad(1), “-”, Ciudad(2), “-”, Ciudad(3), “
                               también me gustan”, Ciudad(4), “y”, Ciudad(5)

      11.  Fin

Redefinición  --->
 

 

 

Ejemplo:

   PROGRAMA MATRIZ01 [Pseudocódigo aprenderaprogramar.com]

 

      Variables

           Enteras: Matriz(), i, j

 

      1. Inicio

           2. Redimensionar Matriz(3,3)

           3. Desde i = 1 hasta 3

                         3.1 Desde j = 1 hasta 3

                                         3.1.1 Matriz(i,j) = i + j

                               Siguiente

               Siguiente

           4. Redimensionar Matriz(2,2)

           5. Mostrar “Se han eliminado 9 – 4 = 5 elementos”

           6. Redimensionar Matriz(3,3)

           7. Mostrar “La variable Matriz(3,2) vale”, Matriz(3,2)

      8.  Fin

 

 

En este programa valores de la matriz son:

matrices programacion

 

 

Resumiendo:

 

matrices o arreglos programacion

 

 

La ejecución del programa daría lugar a:

   Se han eliminado 9 – 4 = 5 elementos.

   La variable Matriz(3,2) vale 0.

 

 

 

 

 

 

Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link:  Ver curso completo.

Para  hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.

Descargar archivo: