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 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. Éste 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.
Hay que tener en cuenta que esta solución es válida en el caso que la cantidad de posiciones en la tabla sean impares. Para una cantidad par tendríamos que buscar otra solución. No estaría plantearse esto como un nuevo ejercicio.
Cuando salimos del bucle la ordenación de la tabla ha concluido.
Mírese el código tantas veces como sea necesario, si no entiende algún punto no dude en preguntarlo.
Hay 436 opiniones. Opina sobre este curso.
| Cursos | Valoración | Alumnos | Vídeo | |
|---|---|---|---|---|
|
Sistemas Informativos. Diseño y creación (2/2) Diseño de sistemas informativos. Técnicas de análisis y diseño estructurado para la representación y documentación ... [08/04/09] |
|
1.449 | ||
|
Cómo programar aplicaciones Cliente/Servidor en Visual Basic Visual Basic nació como un lenguaje sencillo de programación, ideal para iniciarse en el apasionante mundo de la programación. Actualmente se ha convertido en un potente ... [17/09/04] |
|
11.387 | ||
|
HTML para principiantes HTML para principiantes, aprende a hacer tus propias páginas web. Programar en un lenguaje como es HTML puede ser fácil y sencillo. Este curso está di... [15/09/09] |
|
2.085 | ||
Publicar en
del.icio.us
digg
meneame