Arreglo Unidimensional

3

Click here to load reader

Transcript of Arreglo Unidimensional

Page 1: Arreglo Unidimensional

Un arreglo unidimensional es un tipo de datos estructurado que está formado de una colección finita y ordenada de datos del mismo tipo. Es la estructura natural para modelar listas de elementos iguales.

El tipo de acceso a los arreglos unidimensionales es el acceso directo, es decir, podemos acceder a cualquier elemento del arreglo sin tener que consultar a elementos anteriores o posteriores, esto mediante el uso de un índice para cada elemento del arreglo que nos da su posición relativa.

Para implementar arreglos unidimensionales se debe reservar espacio en memoria, y se debe proporcionar la dirección base del arreglo, la cota superior y la inferior.

REPRESENTACION EN MEMORIA

Los arreglos se representan en memoria de la forma siguiente:                 x : array[1..5] of integer

Para establecer el rango del arreglo (número total de elementos) que componen el arreglo se utiliza la siguiente formula:

                RANGO = Ls - (Li+1)donde:

ls = Límite superior del arreglo

li = Límite inferior del arreglo

Para calcular la dirección de memoria de un elemento dentro de un arreglo se usa la siguiente formula:

                A[i] = base(A) + [(i-li) * w]donde :

A = Identificador único del arreglo

i = Indice del elemento

li = Límite inferior

w = Número de bytes tipo componente

Si el arreglo en el cual estamos trabajando tiene un índice numerativo utilizaremos las siguientes fórmulas:

                RANGO = ord (ls) - (ord (li)+1)

Page 2: Arreglo Unidimensional

                A[i] = base (A) + [ord (i) - ord (li) * w]

Que es un while

(Mientras). Una de las estructuras de repetición empleada en la programacion de algoritmos. While permite al programador especificar las veces que se repita una acción (una o más sentencias de programacion) mientras una condición se mantenga verdadera. La forma del while en lenguaje C es:

while (condición){bloque de instrucciones};

Mientras la condición se mantenga verdadera, el bloque de instrucciones dentro de las llaves se ejecutará "x" cantidad de veces. Es necesario que alguna vez la condición se haga falsa, pues de lo contrario se entraría en un ciclo infinito de repeticiones (bucle infinito) y el programa se consideraría bloqueado. Por lo tanto es necesario que en el bloque de instrucciones dentro de la estructura while, se ejecute alguna acción que en algún momento haga que la condición sea falsa.

Un ejemplo del funcionamiento de la estructura de repetición while:

int num;

num = 0;while (num<=10){printf(“Repetición numero %d”, num);num = num + 1;};

El código anterior imprimirá en pantalla:

Repetición numero 0Repetición numero 1Repetición numero 2Repetición numero 3Repetición numero 4Repetición numero 5Repetición numero 6Repetición numero 7Repetición numero 8Repetición numero 9Repetición numero 10

¿Por qué? Vemos que iniciamos la variable del tipo entero num en cero. Luego, se evalúa por primera vez si es menor o igual a 10, al ser verdadera, se ejecuta el bloque dentro del while por primera vez. Se imprime Repetición numero 0, pues el valor dentro de num es cero. Luego el proceso se repite hasta que num con valor 10 se le suma 1, y toma el valor 11. Se evalúa la condición del while y se determina que NO se cumple, por lo tanto, salta el bloque y sigue la ejecución del programa.