El presente texto se ha escrito para el curso Lógica y representación II perteneciente al programa de Ingeniería de Sistemas de la Universidad de Antioquia. Aunque fue desarrollado para la modalidad a distancia, el objetivo es que se pueda utilizar también en los programas presenciales y de regionalización con el fin de unificar el contenido de esas tres modalidades. Los temas tratados y los algoritmos desarrollados se estructuraron usando el paradigma de programación orientada a objetos y se presentan independientemente del lenguaje de programación que utilicen los alumnos.