Está en la página 1de 5

INFORME DE LABORATORIO Versión 1.

0
PROGRAMA DE INGENIERÍA MECATRÓNICA Periodo 2020-1

Proyecto
Achury Lory, Juan Arango, Castañeda Felipe, Rodríguez Johans.
{ u1803723, u1803716, u1803724, u1803367}@unimilitar.edu.co
Profesor: Sánchez Nathaly

Resumen-. Con la realización de este proyecto, se busca Java


aplicar todos los conocimientos aprendidos a través de
este curso avanzado del lenguaje JAVA, Esto con el fin Java es un lenguaje de programación con el que podemos
de evidenciar la habilidad para el correcto desarrollo de
realizar cualquier tipo de programa. En la actualidad es un
un problema de la vida cotidiana, En este caso el buen
manejo de una base de datos haciendo 4 filtros y lenguaje muy extendido y cada vez cobra más importancia
reflejando el cruce de datos, Usando JFreeChart para tanto en el ámbito de Internet como en la informática en
generar gráficas utiles para el usuario. general.

Palabras clave: Java,Netbeans, Estructuras de datos, Filtrar, Una de las principales características por las que Java se ha
Datos, Archivos, GUI, Gráficos, . hecho muy famoso es que es un lenguaje independiente de
la plataforma. Eso quiere decir que si hacemos un programa
I. INTRODUCCIÓN en Java podrá funcionar en cualquier tipo de ordenador. Es
una ventaja significativa para los desarrolladores de
En el desarrollo de este proyecto se aplicaran los software, pues antes tenían que hacer un programa para
conocimientos y habilidades adquiridas a lo largo de tres cada sistema operativo, por ejemplo, Windows, Linux,
cursos de programación para dar solución a un problema Apple, etc. Esto lo consigue porque se ha creado una
planteado, el cual se basa en el desarrollo de un aplicativo Máquina virtual de Java para cada plataforma, que hace de
que nos permita interactuar con una base de datos puente entre el sistema operativo y el programa de Java y
previamente seleccionada, para esta ocasión se trata de una posibilita que este último se entienda perfectamente.
base de datos suministrada por el gobierno colombiano
mediante su estrategia nacional de integración digital a Netbeans
través del portal www.GOV.co. Más específicamente se
tomó una base de datos creada por el instituto distrital de NetBeans es un entorno de desarrollo integrado libre,
recreación y deporte de bogotá en donde se encuentra un orientado principalmente al desarrollo de aplicaciones Java.
listado muy completo con información sobre los parques de Este IDE nos permite realizar tareas básicas de la
la ciudad de bogotá, información como su ubicación, su programación como Editar el código, Compilarlo,
capacidad, y su dotación, entre otros. El objetivo que se Ejecutarlo, Depurarlo.
tiene con este proyecto es poder realizar una búsqueda en
esta base de datos mediante la filtración de algunas de sus Este IDE nos ofrece bastantes facilidades a la hora de
características relevantes como su ubicación. programar ya que es muy bueno al momento de simplificar
la información y nos ofrece una asistencia parcial en la
escritura del código para obtener una programación muy
fluida.
II. COMPETENCIAS QUE DESARROLLAR
Algoritmos de ordenación y búsqueda

Aplicar de manera correcta y eficiente los fundamentos de Con los algoritmos de búsqueda y ordenamiento se pretende
la programación adquiridos en los cursos previos, como la recorrer un arreglo completo con el fin de encontrar algo
logica de programacion para complementarlo con lo específico, como por ejemplo buscar el mayor o menor de
aprendido en el curso de programacion III en el lenguaje de un conjunto de números u ordenar dicho conjunto de
JAVA haciendo uso del IDE netbeans, como lo es la números de menor a mayor o viceversa. Tenemos dos
implementación de una interfaz gráfica de usuario (GUI), la principales algoritmos de búsqueda:
implementación de algoritmos de ordenamiento y
búsqueda, la aplicación de las diferentes estructuras de Búsqueda secuencial: También se le llama búsqueda lineal
datos y el manejo de archivos, entre otros, para desarrollar y consiste en empezar al inicio del conjunto de elementos, e
con éxito el aplicativo a la base de datos. ir a través de ellos hasta encontrar el elemento indicado o
hasta llegar al final de arreglo. Este es el método de
búsqueda más lento, pero si nuestro arreglo se encuentra
III. MARCO TEÓRICO. completamente desordenado es el único que nos podrá
INFORME DE LABORATORIO Versión 1.0
PROGRAMA DE INGENIERÍA MECATRÓNICA Periodo 2020-1

ayudar a encontrar el dato que Según sea menor o mayor se prosigue la búsqueda con el
buscamos. subconjunto anterior o posterior, respectivamente, al
elemento central, y así sucesivamente.
Búsqueda binaria: Las condiciones que debe cumplir el
arreglo para poder usar búsqueda binaria son que el arreglo ESTRUCTURAS DE DATOS
está ordenado y que se conozca el número de elementos.
Este método consiste en lo siguiente: comparar el elemento Arreglos: los arreglos son una de las estructuras más
buscado con el elemento situado en la mitad del arreglo, si utilizadas al momento de almacenar y ordenar datos debido
tenemos suerte y los dos valores coinciden, en ese momento a su sencillez para acceder a estos datos y operar con ellos,
la búsqueda termina. pero esta forma de almacenamiento tiene algunas
desventajas como su capacidad de almacenamiento
Ordenamiento de burbuja: Este algoritmo de determinada la cual no es variable, lo que nos puede
ordenamiento Funciona revisando cada elemento de un ocasionar problemas si la cantidad de datos que vamos a
arreglo que va a ser ordenada con el siguiente, almacenar es variable.
intercambiandolos de posición si están en el orden
equivocado. Es necesario revisar varias veces todo el Listas: A diferencia de los arreglos, las listas asignan un
arreglo hasta que no se necesiten más intercambios, lo cual espacio de memoria para cada elemento por separado en su
significa que el arreglo está ordenado. propio bloque de memoria llamado nodo, la lista conectan
estos nodos usando punteros formando así una estructura
parecida a la de una cadena, Para acceder a un elemento de
la lista se crea un puntero al primer nodo de la lista y se
avanza por medio del atributo “siguiente” .

Un nodo es un objeto como cualquiera, y los atributos de


este objeto serán los encargados de almacenar y apuntar a
diferentes nodos, los nodos constan de dos atributos, uno
llamado “contenido” el cual se utiliza para almacenar, y el
atributo “siguiente” usado para hacer referencia al siguiente
nodo de la lista.

Pila: es una estructura de datos basada en el concepto “last


in first out” lo que quiere decir que el último elemento que
ingresa a la pila será el primer elemento en salir.
Figura 1. Ejemplo gráfico para el ordenamiento de
burbuja. En las pilas se creará un método que agregue un nodo al
principio de la pila, y otro método para eliminar el primer
En la figura 1 se observa el ejemplo para el ordenamiento nodo de la pila, de igual manera que en las listas estos
de burbuja en donde se busca ordenar los números que se métodos se encuentran en una clase llamada nodo.
encuentran en el arreglo de menor a mayor, para lo cual se
comparan los primeros dos números y luego los intercambia
al ver que el segundo es menor que el mayor, de esta
manera a medida que vaya recorriendo el arreglo los
números menores se irán posicionando una casilla más
arriba y se repetirá el proceso hasta que no quede ningún
número por reposicionar.

Búsqueda sin centinela: El algoritmo simplemente recorre


el array comparando cada elemento con el dato que se está
buscando. La complejidad del algoritmo medida en número
de iteraciones en el mejor caso será 1, y se corresponderá
con aquella situación en la cual el elemento a buscar está en
la primera posición del array.

Búsqueda binaria: Es un método muy eficiente, pero tiene Figura.2. Representación gráfica de una pila
varios prerrequisitos: que el conjunto de búsqueda esté
ordenado. Se debe disponer de acceso aleatorio. Este Cola: el funcionamiento de las colas es similar al
algoritmo compara el dato buscado con el elemento central. funcionamiento de una cola en la vida real en donde el
INFORME DE LABORATORIO Versión 1.0
PROGRAMA DE INGENIERÍA MECATRÓNICA Periodo 2020-1

primer elemento en formar parte Cuando manipulamos archivos, distinguiremos dos clases
de la cola será el primer elemento que salga de ella. de archivos dependiendo del tipo de datos que contienen:

cola circular: en las colas circulares todos los elementos •Los archivos de caracteres (o de texto)
tienen un sucesor y un predecesor, pero los elementos solo
pueden consultarse añadirse y eliminarse desde la cabeza •Los archivos de bytes (o binarios)
del anillo.
Un fichero de texto es aquél formado exclusivamente por
Cola de prioridades: los elementos se atienden en el orden caracteres y que, por tanto, puede crearse y visualizarse
indicado por una prioridad asociada a cada uno, en el caso usando un editor Las operaciones de lectura y escritura
de que varios elementos tengan la misma prioridad serán trabajarán con caracteres. Por ejemplo, los ficheros con
atendidos según la posición que ocupen. código java son ficheros de texto. En cambio, un fichero
binario ya no está formado por caracteres, sino que los
bytes que contiene pueden representar otras cosas como
números, imágenes, sonido, entre otros.

Existen dos modos básicos de acceso a la información


contenida en un archivo:

• Secuencial

•Acceso directo

En el modo secuencial la información del archivo es una


Figura. 3 representación de una cola secuencia de bytes (o caracteres) de manera que para
acceder al byte (o carácter) iésimo se ha de haber accedido
Árbol: es una estructura de datos no lineal la cual sirve anteriormente a los i1 anteriores. El modo de acceso directo
para representar estructuras de información jerárquicas de nos permite acceder directamente a la información del byte
manera organizada. iésimo. Un ejemplo muy conocido de acceso directo lo
tenemos con los vectores (arrays).
se podría decir que un árbol es un conjunto finito T de uno
o más nodos. son llamados subárboles de la raíz. Cualquier JFreeChart
nodo es la raíz de un subárbol que consiste de él y los nodos
debajo de él. JfreeChart es una biblioteca de código abierto desarrollada
en Java. Se puede usar dentro de aplicaciones basadas en
Cada vértice o nodo del árbol puede tener un nombre y una Java para crear una amplia gama de gráficos. Al utilizar
información asociada. Una propiedad que define a los JFreeChart, podemos crear todos los tipos principales de
árboles es que solo puede existir un camino entre la raíz y gráficos 2D y 3D, como gráficos circulares, gráficos de
cada nodo. La longitud de un camino está dada por el barras, gráficos de líneas, gráficos XY y gráficos 3D.
número de nodos menos uno.
Clase ChartFactory
Para recorrer un árbol, existen varias formas de lograrlo, las
3 más comunes son pre-orden, in-orden y post-orden. Estos ChartFactory es una clase abstracta bajo el paquete
métodos difieren en el orden en el cual los nodos son org.jfree.chart. Proporciona una colección de métodos de
visitados. se tienen 3 posibilidades de visitar a la raíz: antes, utilidad para generar gráficos estándar.
en medio o después.
createPieChart: Este método crea un gráfico circular 3D
ARCHIVOS utilizando el conjunto de datos especificado.

Por lo general, todos los datos que se utilizan en los createPieChart3D: Este método crea un gráfico circular
programas sólo existen durante el tiempo de ejecución de 3D utilizando el conjunto de datos especificado.
dicho programa, y una vez se cierra el programa estos datos
son eliminados, pero si queremos cambiar esto y poder createBarChart: Este método crea un gráfico de barras.
almacenar los datos que generamos en cualquier programa
o por otro lado si se desea cargar los datos que tengamos createBarChart3D: Este método crea un gráfico de barras
almacenados podemos hacer uso de los archivos, o también con un efecto 3D. Devuelve el objeto de tipo JfreeChart.
llamados ficheros.
INFORME DE LABORATORIO Versión 1.0
PROGRAMA DE INGENIERÍA MECATRÓNICA Periodo 2020-1

createLineChart: Este método


crea un gráfico de líneas con la configuración
predeterminada.

createLineChart3D: Este método crea un gráfico de líneas


con efecto 3D.

createXYLineChart: Este método crea un gráfico de


líneas basado en XY con la configuración predeterminada.

IV. DESARROLLO DE LA PRÁCTICA

Fig. 7 Diagrama de flujo

Fig. 4 Diseño exportar datos públicos.

Fig. 5 Datos filtrados.

Fig. 8 Diagrama uml.

CONCLUSIONES
De acuerdo al desarrollo de las prácticas
realizadas del curso avanzado de JAVA se pudo
denotar que a través del uso de JFreeChart, GUI,
JTable, Arrays y el uso de programación orientada
a objetos, se pueden realizar programas que sean
aplicados a la vida cotidiana, al valernos de estas
Fig. 6 Gráfico correspondiente a los datos seleccionados. herramientas el usuario puede disponer de
programas prácticos y útiles, en este caso el
correcto uso de las bases de datos y la creación de
filtros que relacionen los datos de estos mismos en
los cuales es importante conocer el manejo de los
JComboBox para así poder generar los datos que
se encuentran en la respectiva tabla importada para
INFORME DE LABORATORIO Versión 1.0
PROGRAMA DE INGENIERÍA MECATRÓNICA Periodo 2020-1

asi seleccionar
únicamente los datos que se requieran

REFERENCIAS

[1] Tutospointjava.com, «JfreeChart introduction,» [En


línea].
Available:https://www.tutorialspoint.com/jfreechart/jfree
chart_referenced_apis.htm [Último acceso: 29 04 2020].

[2] ESARROLOWEB6.COM, «Estructuras de datos» 07 11


2005. [En línea]. Available:
https://desarrolloweb.com/articulos/2143.php. [Último
acceso: 29 04 2020].

[3] anónimo, «manejo de datos» [En línea]. Available:


http://progra.usm.cl/apunte/materia/arreglos.html.
[Último acceso: 29 04 2020].

[4] pamela, «uso de las pilas,» [En línea]. Available:


https://es.khanacademy.org/computing/computer-
programming/programming/arrays/pt/intro-to-arrays.
[Último acceso: 30 04 2020].

[5] APRENDE PROGRAMAR.COM, «colas» [En línea].


Available:
http://puntocomnoesunlenguaje.blogspot.com/2012/10/
arrays-unidimensionales-en-java.html. [Último acceso:
30 04 2020].

[6] APRENDE PROGRAMAR.COM,, «ficheros» [En


línea]. Available:
http://puntocomnoesunlenguaje.blogspot.com/2012/10/
arrays-unidimensionales-en-java.html[Último acceso:
30 04 2020].

También podría gustarte