Ordenación de datos

Estándar

En el mundo de la informática, quizá no haya tareas más fundamentales o tan extensamente analizadas como lo son la ordenación y la búsqueda. Estas rutinas se utilizan virtualmente en todos los programas de bases de datos, así como en compiladores, intérpretes y sistemas operativos.

La ordenación es el proceso de colocar un conjunto de elementos similares de información en un orden ascendente o descendente.

Existen básicamente tres métodos generales que se pueden usar para ordenar arrays:

  • Por intercambio
  • Por selección
  • Por inserción

Imaginemos una baraja de cartas. Para ordenar las cartas por “intercambio”, se extenderían las cartas boca arriba, sobre una mesa y se procedería a intercambiar las cartas que no están en orden hasta que la baraja estuviese ordenada.

Para ordenar por “selección” se extenderían las cartas sobre la mesa, se seleccionaría la carta de menor valor y se sacaría de la baraja. Entonces de las cartas que quedan sobre la mesa, se seleccionaría la carta más baja y se colocaría detrás de la que ya se tiene en la mano. Este proceso continuaría hasta que todas las cartas estuviesen en la mano con lo cual las cartas estarían ordenadas.

Para ordenar por “inserción“, se mantendrían las cartas en la mano cogiendo una cada vez. Mientras se cogen cartas de una mano, se van colocando en un mazo sobre la mesa, siempre insertándolas en la posición correcta. La baraja estaría ordenada cuando ya no queden cartas en la mano. Les comparto una macro con el código de ejemplo de cada uno de los algoritmos de ordenación.

Mas adelante estare publicando algoritmos mas avanzados de ordenación.

Anuncios

Utilizando Arrays en VBA – Parte 1

Estándar

Muchos de los estudiantes de programación se sienten intimidados al escuchar la palabra Array (matriz) y evitan en muchos casos el uso de los mismos en sus proyectos, pero esto se debe al poco o mal conocimiento de los mismos. No se diga si se tiene que programar en C, C++ o Java. En estos lenguajes uno puede quedar frustrado al intentar hacer uso de los Arrays. Sin embargo existen otros lenguajes donde usar Arrays es cosa de niños (fácil e intuitivo).

Para el caso de VBA Excel se está en un punto medio, no es tan difícil hacer uso de ellos y realmente pueden hacer que algunas macros tarden tan poco tiempo, el problema de los Arrays en VBA es que existen pocas herramientas a nivel programación que nos brinda el lenguaje para poder procesarlos fácil y rápidamente.

¿Pero que es un array?, ¿Para qué sirve?  y  ¿Cómo se usan?. Antes que nada un array es un tipo de variable como lo es un integer, un string pero con la capacidad especial de poder albergar más de una variable y en el caso de VBA dichas variables pueden ser de distinto tipo.

Todos aquellos que han usado Excel, sean o no programadores ya han trabajado con una matriz o array, pero por supuesto!. Una hoja de cálculo no es más que una matriz (array) bidimensional de más de un millón de filas y poco más de 16 mil columnas (en el caso de Excel 2007 en adelante) y como todos sabemos podemos introducir un número, fecha o texto dentro de una celda, lo mismo es aplicable a los arrays en VBA.

En la próxima entrega empezaremos a trabajar de manera eficiente con los arrays, veremos más propiedades de los mismos y las herramientas que nos brinda VBA para su manipulación.