Algunos de mis programas en C/C++
Estos son algunos de los programas que he ido haciendo, y a medida que voy programando otros nuevos, los voy colocando aquí, si valen la pena.
La mayoría están en C++, porque creo que es un lenguaje que permite dar a los programas algo que considero que es lo más importante: estructura. Es cierto que existen muchos otros lenguajes que permiten dotar de estructura a los programas, e incluso Visual Basic es ahora un "lenguaje" orientado a objetos, pero C++ es un estándar, no es propietario, es multiplataforma, y es el más extendido. ¿Para qué aprender otros? ;)
-
IProcess está escrito en Java y es un framework muy sencillo que provee de un entorno gráfico en el que poder desarrollar algoritmos de procesamiento de imágenes.
-
En C++ está este programa de simulación de lanzamiento de dados, para ver algunos resultados estadísticos interesantes, y este otro que calcula la entropía de una fuente discreta, conocida la probabilidad con la que se genera cada símbolo.Son programas muy simples que escribí para mostrar el uso de las funciones matemáticas y de generación de números aleatorios del lenguaje.
-
Un programa un poco más complejo es VirtualBuffer, implementado mediante una clase en C++. Simula la acción de acceder a un fichero binario muy grande, como si estuviera cargado completamente en memoria y accedido como un array.
-
Programas de cálculo de determinantes y resolución de ecuaciones. Primero hice uno para calcular determinantes de cualquier tamaño, y luego aproveché el código para hacer otro que permite resolver ecuaciones lineales mediante el método de Cramer.
-
El programa binconv (C++) sirve para obtener la representación en base binaria de un número decimal entero positivo de cualquier longitud. De hecho, lo programé para comprobar el valor de 2^1024.
-
Partsim es un simulador de partículas muy sencillo escrito en C++ y que utiliza la template vector de la STL y la librería SDL para renderizar los gráficos.
-
Anagram sirve para encontrar anagramas de la palabra que se pasa en la entrada estándar. Una palabra es anagrama de otra cuando contiene las mismas letras, aunque en otro orden. Por ejemplo, anagramas de AMOR son MORA, RAMO y ROMA. Está pensado para funcionar bajo GNU/Linux, aunque con alguna pequeña
modificación funcionará en Windows y otros sistemas.
-
He colaborado en la versión 3.0 del emulador fMSX con código para emular el sistema de ficheros FAT-12 en un disco RAM de uso interno.
-
Actualmente estoy ampliando el programa de resolución de ecuaciones para hacerlo funcionar en forma concurrente, de forma que varios ordenadores conectados en red colaboren para la resolución de sistemas de ecuaciones lineales de muchas variables, en paralelo.
Los programas están bajo licencia GPL, lo cual significa que se puede copiar, modificar,
recompilar, etc. siempre que se mencione al autor, y sobre todo, que no se obtengan
beneficios económicos por ello o se reconviertan a código cerrado. El código fuente de los
programas está disponible bajo los términos de dicha licencia.
Leer la licencia GPL para más información.