miércoles, 1 de mayo de 2013

Calendario en C++

Uno siempre tiende a subestimar pequeños "programitas" a los que no se le vé mayor complejidad debido a la abundante existencia de estos.

Por ello en la primera materia de programación que tuve en la Universidad nos dejaron de tarea crear un programa en C++ que con indicarle el mes y año nos imprimiera en pantalla el calendario.

Pero la real dificultad de este programa es Determinar el primer día de cada mes; esto se soluciona con un famoso algoritmo llamado Doomsay el cual usé para implementar el programa; otra cosa que hay que tener en cuenta es el límite de dias que tiene cada mes en especial febrero. Así que tomamos en cuenta el año bisiesto; en este febrero tiene 29 días y no 28 como normalmente lo es; para determinar si un año es bisiesto este debe cumplir 2 cosas:
  1. Debe ser divisible por 4
  2. Y no debe de ser divisible por 100, pero si lo es debe de ser divisble por 400.

Y esos son los criterios a considerar para crear el programa del calendario, espero les sea útil y no olviden en compartir su conocimiento y este blog :)



Descargar Aquí.

domingo, 26 de agosto de 2012

Sistema Contable BASICO en PHP y MySQL

 Una vez mas trabajo contra tiempo (menos de 12 horas), hice un script de un sistema contable MUY BÁSICO (debido al corto tiempo para el desarrollo); lo único que se puede hacer en el es agregar cuentas al catálogo, ingresar partidas diarias (los datos ingresados no se pueden modificar directamente del script, debe ser en la base de datos), ver el balance de comprobacion y estado de resultados general por mes y años .
El sistemita es bastante sencillo porque aún no domino bien PHP y MySQL, los que empiezan en PHP saben lo difícil que puede ser ver una pantalla en blanco sin saber donde esta el error xD xD; y tampoco agregué los triggers y procedimientos almacenados, porque requería mayor tiempo de diseño de la base de datos.

Para hacer una prueba Live puedes ingresar a http://contabilidad.sorianocarlos.com y si te gustaria hecharle una ojeada al código o reutilizarlo puedes descargar el código fuente; Agradecería sus comentarios y un backlink si es de su agrado.

Descarga Aqui.

domingo, 25 de marzo de 2012

Convertir binario de 10 bits a Hexadecimal (Ensamblador para 8086)

Creo que este es el último programa que hago en el dia de hoy (espero poder dormir ya) y lo que hace este es convertir un numero binario con un maximo de 10 bits a su equivalente en Hexadecimal. Puede no sonar muy complicado (la verdad no lo es mucho ni en Assambler) pero salir de codificar de lenguajes de alto nivel como C++,Csharp a Ensamblador es un cambio fuerte aunque no dificil.

Aqui les muestro el código que desarrolle hoy y cabe decir que no creo que sea la solución mas óptima pero si la que me sacó de aguas para poder ir a dormir ya!. Como siempre por falta de práctica el tiempo es mi peor enemigo para desarrollar estos programas.

Simulador de Arbol ABB en Visual C#

Aqui presento un simulador de Arbol ABB con las siguientes funciones:
  • Recorrido en Amplitud
  • Determinar Máximo y Mínimo
  • Altura del Arbol
  • Profundidad de un Nodo en específico
  • Determinar los nodos hojas
  • Determinar los Nodos Intermedios
  • Insertar Nodo
Aqui pongo el Proyecto para Visual C# y el ejecutable ya funcional en \bin\debug\ . Este código que he desarrollado no es el mas óptimo para este tipo de estructuras, sin embargo a la hora de ejecutar el programa funciona como debería. (Este proyecto no es tan eficiente por la falta de practica en este lenguaje por lo que lo considero mi "Hola Mundo" en Simulación y Estructuras de datos en C#).Recomiendo usarlo para una altura de arbol maxima de 4, porque de ahi en adelante no se aprecia bien el arbol en su totalidad.

martes, 29 de marzo de 2011

Guia 10 Ejercicio 1

Ejercicio 1:
Agregar una nueva derivación de Figuras con la clase Rombo, las propiedades que tendrá el
rombo son diagonal mayor y diagonal menor, el área del rombo es:
Área Rombo = (Diagonal Mayor * Diagonal Menor) / 2
Realice las modificaciones necesarias al ejemplo No. 1, de tal manera que se construya una
solución para la jerarquía de clases mostrada en la Guia de laboratorio.


Ejercicio 2:
Considere la siguiente jerarquía de herencias:

<----Libros
Biblioteca<---Revistas
<---Articulos

Definir las clases. Considerar todas las propiedades y funciones necesarias para una
implementación completa haciendo uso de funciones virtuales y polimorfismo. Decidir que
atributos y métodos incluir en cada clase de tal manera que su programa pueda a través de un
menú realizar las siguientes acciones:
a) Crear objetos de cualquier tipo, solicitando los datos al usuario.
b) Visualizar un objeto en particular, con todos sus atributos.
c) Salir de la aplicación.
Ser creativos con la solución, es decir, agregar más opciones al menú.
El menú deberá estar siempre activo, en la misma posición en pantalla, hasta que el usuario
seleccione la opción salir. El programa debe estar debidamente comentado.

Archivo CPP (codigo fuente)
Archivo .exe (Windows)
Archivo Binario (Linux)