148 Estructuras de datos Se usarán los siguientes identificadores de variables: MES: número de mes. Se elige el valor 0 como condición de fin IM: importe del depósito DEP: arreglo donde se acumulan los importes de cada mes L y Z: para controlar la repetición fija Operaciones con arreglos RECORRIDO o ACCESO SECUENCIAL: Consiste en pasar por los sucesivos elementos del arreglo en forma ordenada hasta que no existan más posiciones disponibles: AR(1), AR(2), AR(3), ... Esta operación puede realizarse con distintas finalidades: - para asignarle algún valor a cada elemento Ejemplos: AR(2) “juan” leer (AR(2) TOR(7) TOR(7)* 32.5 + EQ - para usar el valor contenido en cada elemento Ejemplos: escribir ZE(12) M TOR(3) A continuación se presentan fragmentos de algoritmos que implementa un recorrido sobre un arreglo en memoria como así también su representación (en los gráficos el sentido del recor- rido se muestra mediante una flecha ):Evidentemente para hacer el recorrido del arreglo lo que tiene que ir cambiando es la referencia de la posición, es decir el valor del índice. La forma como se va modificando la referencia origina distintos recorridos del arreglo. Arreglo unidimensional: sólo es posible un recorrido lineal. Suponiendo declarado un arreglo de 6 enteros: Recorrido completo (desde el 1er. al último elemento):
6.3 Arreglo (Array) 149 Usando una repetición fija: Usando una repetición condicionada Repetir Para ind 1, 6, 1 n 1 leer (AR(ind)) Repetir Mientras (n < 6) fin_para AR(n) 3 n n+1 El valor del índice lo maneja la variable Fin_mientras de control de la repetición fija (ind). En el caso de la repetición condicionada, el valor del índice lo maneja una variable especialmente definida, cuyo valor condiciona la repetición (n). Recorrido parcial, a través de algunas posiciones: 1) Posiciones pares, desde el último al primero Repetir Para L 6, 1, -2 Z(L) 0 Fin_para 2) Posiciones pares, desde el primero al último I 2I 0 Repetir Mientras (I < = 6) Repetir Mientras (I < 6) Escribir (AR(I) I I+2 I I + 2 Escribir (AR(I) Fin_mientras Fin_mientras 3) Posiciones adyacentes, desde la 2da. en adelante para desplazar los valores contenidos (los dos últimos elementos quedan con igual valor) Repetir Para M 2, 6 AR(M - 1) AR(M) Fin_para Arreglo bidimensional: es posible recorrerlo en dos sentidos. - Por filas: cada elemento referenciado pertenece a una misma fila, por lo tanto para recorrerla deberá ir cambiando la referencia a la columna. - Por columna: cada elemento referenciado pertenece a una misma columna, por lo tanto para
Created with BuildVu