Introducción a la Conversión de Datos
Todas las entradas sobre Conversión de Datos:
- Conversión de Datos 1: Visor de Ajedrez en Excel
- Conversión de Datos 2: Instrucciones del Visor de Ajedrez
- Conversión de Datos 3: Juego de Ajedrez con fórmulas
Una buena interfaz gráfica de usuario no se crea de la nada. Cualquier interfaz gráfico de usuario necesita una gran cantidad de procesos de conversión de datos antes de que se puedan mostrar los gráficos y, por supuesto, requiere de muchos interfaces antes de que pueda ser de utilidad a los usuarios finales.
Desde el momento en que las entradas se introducen en un programa o sistema, se requieren varios procesos de conversión para obtener la salida deseada. A través de etapas intermedias se convierten los datos, de una notación en otra, usando interfaces de comunicación entre los diferentes procesos y almacenando temporalmente los datos en diferentes formatos.
Lo más fácil es cuando todas las entradas posibles son conocidas de antemano, pero la realidad es que no es así. El escenario habitual se da cuando no existe un formato exacto de los datos de entrada pero se debe tomar la acción apropiada para que no pase que los datos de entrada no sean reconocidos por el proceso de conversión de datos, lo que impediría obtener los datos de salida correctos.
Se debe tener mucho cuidado de que esta situación no ocurra, y que todas las entradas sean predecibles y esperadas, y que todos los procesos de conversión de datos sean exactos, generando siempre las mismas salidas, cuando se produzcan las mismas condiciones de entrada.
Si las especificaciones de conversión de datos son secretas, los procesos de conversión se comportarán como una caja negra de la que sólo se conocen los datos de entrada y los datos de salida. Si las especificaciones son abiertas, usted puede aprender de los métodos de conversión y mejorarlos, aún sin ser el autor de las mismos.
Ejemplo de Visor de Ajedrez en Excel
Como un ejercicio de conversión, abierto a la comunidad de usuarios de Excel, he diseñado un Visor de Ajedrez en Excel sin macros, para los aficionados y amantes como yo de ambos mundos maravillosos.
Los datos de entrada son la notación algebráica de un juego de ajedrez, convertido en primer lugar en la notación numérica que finalmente se convierte, mediante una interfaz, en un gráfico que representa el tablero de ajedrez en el que las piezas de ajedrez se mueven de acuerdo con el juego guardado y, como datos de salida, muestra al usuario este Visor de Ajedrez.
Esta idea se me ocurrió leyendo un artículo del Excel Hero Blog acerca de un Visor de Partidas de Ajedrez en Excel 2007, realmente impresionante y una solución inteligente, especialmente por no usar nada de VBA para implementarlo. Se puede ver el resultado en: Excel Hero Chess Game Viewer
Este Visor de Partidas de Ajedrez creado por Daniel Ferry se basa en la Notación Numérica ICCF, que supone la ventaja de utilizar una máquina de estados como entrada a una tabla dinámica. Esto nos da la posibilidad de ver los movimientos de una partida de ajedrez hacia adelante y hacia atrás. Los movimientos de las piezas de ajedrez son convertidos partiendo de una notación numérica. Los movimientos se designan con cuatro dígitos - los dos primeros son el código de la casilla de la pieza que se mueve y los dos últimos son el código de la casilla de destino.
La novedad de mi planteamiento de un Visor de Ajedrez es que las partidas de ajedrez se introducen por medio de la Notación Algebraica, aunque su uso puede provocar confusión a las máquinas, e incluso a las personas humanas siguiendo la notación de movimientos diseñada para los seres humanos. Las notaciones de movimiento para las computadoras son menos complejas de utilizar y convertir. Las piezas de ajedrez tienen diferentes nombres e iniciales en lenguas diferentes y este visor es capaz de entender 50 idiomas diferentes, incluidos los símbolos gráficos denominados figurines, como se pueden ver en la nube:
La versión subida a la nube es completa pero sin controles gráficos ya que Microsoft Excel Web App sólo admite archivos .xlsx, sin VBA ni macros. La versión completa con controles gráficos te la puedes descargar desde el siguiente enlace.
ATENCIÓN: No dejes de leer la siguiente entrada con las instrucciones de uso desde aquí: Conversión de Datos 2: Instrucciones del Visor de Ajedrez
En la hoja de arriba de Excel Web App, cambia el valor de la entrada de la celda J10 (en amarillo) para mover las piezas del juego de ajedrez que se selecciona con la celda K1 de la hoja Database, y que contiene algunas partidas de ajedrez guardadas en ella, como:
2 - The Evergreen Game
4 - Kasparov versus the World
En esta hoja se pueden almacenar más de 250 partidas de ajedrez.
En próximos artículos me propongo escribir una explicación de cómo me las ingenié para convertir la notación algebraica de los movimientos de las piezas sobre el tablero, sin el uso de macros, sólo usando fórmulas de Excel para obtener los estados de cada movimiento en notación numérica, de conformidad con las reglas del ajedrez (como la regla de "captura al paso"), fácilmente traducibles en posiciones en el tablero de ajedrez con sus piezas representadas por los símbolos de ajedrez como caracteres Unicode, llamados "figurines", sin ningún tipo de imágenes externas, obteniendo una interfaz gráfica de usuario que nos permite mostrar un buen visor de dos dimensiones de ajedrez.
ATENCIÓN: No dejes de leer la siguiente entrada con las instrucciones de uso desde aquí: Conversión de Datos 2: Instrucciones del Visor de Ajedrez