Artículos sobre programación

¡Bienvenido a "Blog Con Clase"!

Desde aquí hay acceso a pequeños artículos sobre programación, algoritmos, teoría, programación de dispositivos, multimedia, juegos, etc.

Esta sección funciona como un blog, y está abierta para cualquiera que quiera colaborar.

Por supuesto, siempre agradeceremos tu colaboración, ya sea como alumno, como autor de programas, como articulista o como colaborador en la lista de correo.

MSYS2 gestión de paquetes

MSYS2 es una colección de herramientas y librerías que proporcionan un entorno fácil de usar para crear, instalar y ejecutar software nativo de Windows.

Proporciona un terminal en línea de comandos, llamado mintty, control de versiones, herramientas como tar o awk. Hablaremos de estas herramientas en futuros artículos.

Formato MBTiles

El formato MBTiles es una base de datos SQLite, que se utiliza para guardar mapas. El mapa puede ser de tipo raster o vectorial. En esta sección explicaré la estructura de datos (tablas) y valores para obtener los mapas de tipo raster.

Generador de documentación doxygen

Si has visitado páginas de Github dedicadas a librerías C++ tal vez hayas visto que muchas contienen un fichero con el nombre Doxyfile, y también es habitual páginas web con documentación del estilo de esta imagen. Por ejemplo, la documentación de wxWidgets está hecha usando doxygen.

Compresión RLE

El algoritmo de compresión RLE fue muy utilizado en la época de los procesadores de ocho bits, y aún se usa para la compresión de imágenes en ciertos formatos como BMP, o PCX.

Combinaciones

Combinaciones sin repetición de n elementos tomados de r en r

Mientras escribía el código para buscar grupos de casillas para resolver sudokus me encontré ante el problema de generar sucesivamente todas las combinaciones de varias casillas que cumplieran ciertas condiciones. En el caso concreto de los sudokus siempre se trata de conjuntos de nueve casillas, y los grupos varían en tamaño entre dos y siete.

Librerías C/C++ para generar códigos QR

Generar códigos QR no es una tarea trivial. Existen varios formatos con muchas opciones diferentes.

Resolución de sudokus (15)

Bugs

Por desgracia ni nuestros algoritmos ni nuestro código está a salvo de errores. Lamentablemente, en algunos de los procedimientos que hemos visto he cometido algunos bastante serios.

Búsqueda binaria

Una de las tareas que nos solemos encontrar con cierta frecuencia al programar es la de buscar la posición de un valor en un array.

Resolución de sudokus (14)

Hilo de cometa y rectángulos eludibles

Hilo de cometa Este método probablemente sea más sencillo de aplicar y más intuitivo que otros que hemos visto, como es rascacielos o incluso que XY-Wing. No he encontrado ningún sudoku en el que se pueda aplicar éste método que aporte información que no hayan aportado alguno de los métodos que ya hemos visto. Pero como estos patrones pueden ser más fácil de detectar que otros, lo procesaremos antes que ellos.

Resolución de sudokus (13)

Rectángulos vacíos

Esta técnica consiste en encontrar una caja k, en las que un candidato solo aparezca en una fila y una columna. A continuación hay que localizar una fila en la que el candidato solo aparezca en dos casillas, un una de esas casillas coincida con la columna de candidatos de la caja k. En la casilla que esté en la intersección de la columna de la otra casilla y en la fila de la caja k se podrá eliminar el valor como candidato.

Resolución de sudokus (12)

Sashimi y rascacielos

Para comprender esta técnica hay que verla como un X-Wing con alas en el que falta el candidato en la casilla que tiene el o las alas.

Resolución de sudokus (11)

XYZ-Wing.

La idea de este método es relativamente sencilla, si comprendemos correctamente cómo funciona un patrón XY-Wing.