Página 2 de 2

Segundo Ejemplo.

Vamos a ver otro pequeño ejemplo para tratar con tablas: en esta ocasión tenemos una tabla con 25 elementos que suponemos que ya está llena. Lo que queremos es dar la "vuela" a la tabla, digámoslo de otra manera, el elemento que está en la primera posición ha de ocupar la última y el elemento de la última deberá pasar a la primera. Ej.: La tabla: 1, 2, 3, 4, 5 después del programa tendrá este aspecto 5, 4, 3, 2, 1. Hemos añadido números a las líneas para facilitar la explicación.

1 Tabla[25] : Número
2 IndicePrimero : Número
3 IndiceUltimo : Número
4 Elemento : Número
5 IndicePrimero = 1
6 IndiceUltimo = 25
7 Repetir
8

Elemento = Tabla[IndicePrimero]

9

Tabla[IndicePrimero] = Tabla[IndiceUltimo]

10

Tabla[IndiceUltimo] = Elemento

11

IndicePrimero = IndicePrimero + 1

12

IndiceUltimo = IndiceUltimo - 1

13 Hasta que IndicePrimero = IndiceUltimo

1.- Definimos una tabla llamada Tabla con 25 posiciones de tipo número.

2.- Definimos una variable llamada IndicePrimero que nos servirá para movernos por la tabla desde la primera posición en adelante.

3.- Definimos una variable llamada IndiceUltimo que nos servirá para movernos por la tabla desde la última posición hacia atrás.

4.- Definimos una variable llamada Elemento para utilizarla de puente en el momento de mover el contenido de una posición a otra. Esta variable es necesaria ya que si hacemos el cambio desde, por ejemplo, la primera a la última posición perderíamos el valor que teníamos en la primera posición.

5 y 6.- Inicializamos las variables IndicePrimero a 1 y IndiceUltimo a 25 ya que queremos partir, respectivamente, desde la primera y la última posición.

7.- Entramos dentro del bucle.

8.- Hacemos que la variable Elemento tome el valor del contenido de la tabla que nos indique IndicePrimero.

9.- Hacemos que la posición que nos indica IndicePrimero tome como valor el valor que tiene la posición que nos indica IndiceUltimo.

10.- Ahora la posición que nos indica IndiceUltimo toma como valor el contenido de la variable Elemento.

11.- Aumentamos IndicePrimero en 1 para adelantar en la tabla.

12.- Disminuimos IndiceUltimo en 1 para retroceder en la tabla.

13.- Repetiremos el bucle hasta que los dos índices se encuentren. Este será el punto en el que no se tendrán que mover más elementos. Ya que nos encontramos justo en la mitad de la tabla.

Cuando salimos del bucle la ordenación de la tabla a concluido.

Mírate el código tantas veces como sea necesario, si no entiendes algún punto no dudes en preguntarlo.