Jaminson Riascos

Proyecto 1er parcial de Estructuras de Datos (3era entrada)

by on Dic.15, 2015, under Proyecto de estructura de Datos 1er Parcial

Debido a limitaciones de hardware se acordó realizar modificaciones al proyecto. Los nuevos requerimientos de la aplicación son:

  • Deberá permitir listar el top 10 de las películas por cada categoría
  •  Listar por año las películas.
  • Buscar películas por coincidencia de palabras y mostrar la información asociada a las películas encontradas
  • Revisar el listado de todas las películas ordenadas descendentemente por su calificación.
  • Mostrar las películas ordenadas alfabéticamente o descendente por año.

En esta ocasión diseñaremos la interfaz gráfica de la aplicación, el IDE Netbeans nos proporciona herramientas de Drag and Drop para el diseño de GUI

Diseño de Interfaz Gráfica para el Proyecto

Para darle funcionalidad a los botones en necesario crear «Listeners» por ahora usaremos las herramientas de Netbeans para generar las firmas de estas funciones

Leave a Comment more...

Proyecto 1er parcial de Estructuras de Datos (2da entrada)

by on Dic.04, 2015, under Proyecto de estructura de Datos 1er Parcial

En esta ocasion solo crearemos las clases mas evidentes para el funcionamiento de nuestra aplicación

Creación de TDA necesarias:

 

Clase movie
Creacion de la clase movie

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Clase Rating

clase rating

 

 

 

 

 

 

 

 

Leave a Comment more...

Aplicaciones de Pilas

by on Dic.02, 2015, under Estructuras de Datos

Una de las aplicaciones del TDA pila es la evaluación de expresiones aritméticas, por lo que en esta ocasión implementaremos en java un algoritmo que evalué una expresión aritmética en el notación postfix.

Existen 3 tres notaciones para representar expresiones aritméticas prefix, postfix e infix.

Notación Infix

Es la notación que los seres humanos usamos comúnmente en la que tenemos un operador y en medio dos operandos.

ej:  A+B

A nosotros los humanos se nos hace muy natural, sin embargo para las computadoras es mas sencillo evaluar expresiones aritméticas si estas se encuentran en notación prefix o postfix.

Notación Prefix

En esta notación tenemos un operador antes de dos operandos

ej: +AB

Notación Postfix

En esta notación tenemos un operador antes de dos operandos

ej: AB+

Para nuestra implementación usaremos esta ultima notación.

Diseño

Antes de empezar a escribir código, tratemos de modelar el problema, identificando las clases que podríamos necesitar. Para mi implementación decidí crear 3 clases o TDAs.

La clase Expresión que representara a una expresión a evaluar, la clase Variable que representara a las variables dentro de la expresión y la clase UsoPilas que sera nuestra clase main en donde pediremos las entradas e imprimiremos las salidas.

 Clase Expresión

Para la clase expresión necesitamos un método para verificar si la expresión que se recibe es valida, para esto asumiremos que la única manera en la que el usuario se puede equivocar es al momento de escribir paréntesis, es decir que no hay un numero par de paréntesis . También necesitaremos un método que convierta la expresión de infix a postfix. Adicionalmente necesitaremos un método para evaluar las expresiones y además nos serian útiles métodos que nos indiquen el orden de precedencia de los operadores y que hacer cuando se encuentra un paréntesis.

Clase Variable

Para esta clase o TDA solo necesitaremos el método constructor que inicialice los atributos nombre y valor  de la  variable.

Clase UsoPilas

En esta clase pediremos las entradas e imprimiremos las salidas.


Una vez que obtenemos las entradas se llama al método evaluarExpresion de la clase Expresión y se presentan los resultados.

 

 

Leave a Comment more...

Proyecto 1er parcial de Estructuras de Datos (1era entrada)

by on Nov.28, 2015, under Proyecto de estructura de Datos 1er Parcial

Durante la primera semana de trabajo, nos dedicamos a completar el grupo para el proyecto, ya que nuestro grupo solo tiene dos integrantes, también nos pusimos a leer los requerimientos y bases del proyecto ademas de descargar los archivos adjuntos al mismo del siguiente link: https://www.dropbox.com/s/e9cmmp80w9lh6rp/Netflix_prize_dataset.tar.gz?dl=0

En resumen, el proyecto consiste en crear una aplicación en Java que permita generar reportes en HTML acerca de las preferencias de los usuarios de Netflix. El proyecto tiene 3 entregables:

  • Un documento con la presentación de la implementación de su proyecto
  • El código fuente de su proyecto
  • Entradas de un blog que describa los avances semanales del proyecto.

 

 

Leave a Comment more...

TDA Conjunto en Java

by on Nov.27, 2015, under Estructuras de Datos

Para crear el TDA Conjunto primero debemos pensar en el estado y comportamiento de un conjunto, es decir que atributos tiene un conjunto y que acciones u operaciones se pueden realizar con un conjunto.

Podemos en listar las siguientes operaciones:

  • Unión
  • Intersección
  • Diferencia
  • Complemento

En esta ocasión solo implementaremos los tres primeros métodos, para esto usaremos la clase LinkedList de Java ya que cuenta con métodos que nos serán útiles durante nuestra tarea.

Método Unión

Para este simular la operación unión entre conjuntos, recibiremos como parámetros dos LinkedLists (en el ejemplo c1 y c2) que seran los «conjuntos» a unir y devolveremos un nuevo «conjunto» (en el ejemplo c3) con los elementos unidos, usaremos los métodos addAll, removeAll  de la clase LinkedList, a continuación describiré brevemente que hace cada método:

  • AddAll(Colección c): Añade los elementos de la colección c al final de la lista que invoca el método.
  • removeAll(Colección c): Remueve los elementos de la colección c de la lista que invoca el método.

Ahora que ya sabemos las herramientas con las que contamos podemos proceder a crear nuestro método unión, lo que haremos es usar el metodo AddAll para añadir los elementos de la listas c1 y c2 a la lista  c3, pero debemos validar que en la lista que retornaremos no se repita ningún elemento, para esto usaremos el método removeAll que para eliminar de c3 los elementos que también se encuentren en c2 después de haberle añadido los elementos de c1 (ver imagen 1).

Metodo Union

Imagen 1

Método Intersección

Para simular esta operación, recibiremos como parámetros dos LinkedLists (en el ejemplo c1 y c2) que seran los «conjuntos» a intersectar y devolveremos un nuevo «conjunto» (en el ejemplo c3) con los elementos intersectados, usaremos los métodos addAll y retainAll de la clase LinkedList, a continuación describiré brevemente que hace cada método:

  • addAll(Colección c): Añade los elementos de la colección c al final de la lista que invoca el método.
  • retainAll(Coleccion c): Elimina los elementos de la lista que invoca el método que no se encuentren en la colección c.

Lo que haremos sera usar el método addAll para añadir a c3 los elementos de c1 y luego usaremos retainAll para eliminar  de la lista c3 cualquier elemento que no tenga en común con la lista c2 (ver imagen 2).
Metodo Interseccion

Imagen 2

 

Método Diferencia

Para simular esta operación, recibiremos como parámetros dos LinkedLists (en el ejemplo c1 y c2) que seran los «conjuntos» a diferenciar y devolveremos un nuevo «conjunto» (en el ejemplo c3) con la operación realizada, usaremos los métodos addAll y removeAll  de la clase LinkedList,  a continuación describiré brevemente que hace cada método:

  • addAll(Colección c): Añade los elementos de la colección c al final de la lista que invoca el método.
  • removeAll(Colección c): Remueve los elementos de la colección c de la lista que invoca el método.

Lo que haremos sera usar el método addAll para a la lista c3 los elementos de la lista c1 y luego usaremos removeAll para eliminar los elementos de c3 que estén en c2 (ver imagen 3).
Metodo Diferencia

Imagen 3

Leave a Comment : more...



¿Que hay en la Flama de una vela?

by on Ago.10, 2013, under Ciencia

Aqui dejo un experimento que encontre que demuestra que, aunque que muchos consideran que una llama no es realmente plasma, porque no es lo sufientemente caliente y por no tener una alta densidad de iones, aun asi contiene iones con ompirtantes propiedades electricas.

1 Comment :, more...


Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...

Archives

All entries, chronologically...