Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manual Técnico
Manual Técnico
UNIVERSIDAD DE ANTIOQUIA
INGENIERÍA DE SISTEMAS
2015
ESTRUCTURA DEL PROGRAMA:
Clases:
NodoSimple
ListaSimpleCCNC (Circular Con Nodo Cabeza)
main
DESCRIPCIÓN DE CLASES:
NodoSimple:
Ésta clase tiene dos atributos privados: liga y dato.
Dato es de tipo Object, y almacena la cadena de caracteres ingresada. Es
declarado de éste tipo para posibles usos a futuro con otras clases las cuales
reciban distintos tipos de datos.
Se hace un llamado recursivo al declarar su atributo liga del tipo NodoSimple.
La clase tiene los métodos:
getLiga(): Devuelve la liga (un objeto de la clase NodoSimple) del nodo que
lo invoque. No tiene parámetros.
ListaSimpleCCNC:
En ella se declaran dos variables privadas tipo NodoSimple:
“primero” (nodo cabeza): El cual aparte de ser siempre la cabeza de la lista,
almacenará en su campo dato el número de nodos guardado, que
representará el número de hileras que el usuario ha generado.
“ultimo”: será el último nodo de la lista.
En esta clase se declaran los métodos bases para el manejo de la lista y para las
operaciones bases del programa:
ListaSimpleCCNC() // Constructor: No tiene parámetros, inicializa
“primero” y le asigna 0 como valor a su campo dato, conecta su liga a sí
mismo y a “ultimo” le asigna “primero”.
conectar(): Sus parámetros son dos NodoSimple “x”, ”y”. Se puede leer
como “Conectar el nodo x, después del nodo y”. El nodo “y” representa un
nodo que ya está guardado en la lista ligada y que quedará siendo el
nodo anterior al que se va a conectar. Como se va a ingresar un nuevo
dato, el método actualiza el número de datos actuales en la lista
aumentando el campo dato de la cabeza en 1. Y se actualiza “ultimo” si el
nuevo nodo queda siendo el último de la lista.
1.
2.
Ambas excepciones indican un desbordamiento del espacio que tiene la pila de llamadas, lo que es,
un desbordamiento del espacio que se tiene designado en la RAM para la máquina virtual de Java,
debido a un exceso de instrucciones a ejecutar. La segunda excepción suele darse más cuando se
utilizan métodos recursivos.
Los métodos se han diseñado de la manera más óptima, dentro de nuestros conocimientos, sin
embargo las acciones de organizar alfabéticamente y generar todas las permutaciones, demandan
gran espacio en la memoria Heap para cadenas extensas. Si en el ordenador donde se ejecuta el
programa hay configurado un espacio más grande, del instalado por defecto, para la máquina virtual
Java, podrían no saltar éstas excepciones. Para saber más Leer el manual de Java y los comandos
–Xmx.
insertarEnOrden(): No devuelve nada. Recibe como parámetro un dato
tipo Object. Si la lista está vacía entonces inserta el dato ingresado luego
de la cabeza. Si no es así recorre la lista comparando el dato ingresado
con cada uno de los guardados en la lista, hasta encontrar el nodo
después del cual se insertará el nuevo dato y lo agrega a la lista.
Main:
Esta es la clase ejecutable del programa. En ella se crean inicialmente dos objetos
de la clase ListaSimpleCCNC, l1 y l2. La primera alberga todas las permutaciones
posibles y es tomada como la lista “original”. L2 alberga, además, todas las
operaciones que el usuario hace sobre la hilera que ingresó, es decir, sobre ella se
aplican las operaciones del menú desplegable (Incluyendo también Generar todas
las permutaciones).
Campo de texto: Para ingresar todos los datos pertinentes en cada acción.
4 Botones:
Ingresar Hilera: En el cual se captura lo ingresado en el campo de texto y
se hacen las evaluaciones pertinentes del mismo, además de posibles
advertencias si es necesario.
Borrar Todo: Puede entenderse como un reinicio del programa. Borra el
contenido de las áreas de texto, borra todo el contenido de las listas y la
hilera ingresada.
Aceptar: Luego de haber seleccionado una acción del menú desplegable,
se debe oprimir este botón y su lógica reconocerá la opción escogida y
ejecutará los métodos y evaluaciones pertenecientes a la misma.
Salir: Opción alternativa para cerrar el programa.
ComboBox (Menú desplegable): contiene el menú de las operaciones que
se pueden hacer sobre la cadena ingresada.
Una etiqueta en la cual se mostrará siempre la cadena ingresada.
Dos áreas de texto: En la izquierda se imprimirá la lista 1 (la lista “original”).
En la derecha la lista 2.