You are on page 1of 5

ESTRUCTURA DE DATOS-I SEM 2013 -

PRCTICA 1-LISTAS DOBLES CIRCULARES

Enunciado del problema: Un editor de texto ASCII es un programa que permite crear y modificar archivos de texto compuestos nicamente por texto sin formato, conocidos comnmente como archivos de texto plano. El programa lee el archivo e interpreta los bytes ledos segn el cdigo de caracteres de 7- 8-bits en ASCII (dato de tipo char en Java). Su tarea consiste en realizar un programa en Java que permita desarrollar un editor de texto ASCII (ver figura 1) con las siguientes opciones: Abrir un archivo: Carga un archivo desde un medio de almacenamiento secundario al sistema (Clase WordUFPS y se invoca su constructor)y lo muestra en un componente grfico(se recomienda visualizar el archivo en un JTextPane). Guardar Archivo: Guarda las modificaciones que se han realizado al archivo. Cerrar Archivo: Cierra el archivo.Guarda las modificaciones y borra el archivo del sistema. Editar un archivo Buscar: Busca una palabra o carcter dentro del archivo , este proceso retornar la cantidad de veces que esta la incidencia y cambiar el color del texto que se ha buscado en el componente grfico de visualizacin (se recomienda visualizar el archivo en un JTextPane). Reemplazar: Buscar una palabra o carcter y lo reemplaza en el archivo. El sistema debe informar cuantos reemplazos realiz. Salir.

MSc. Marco A. Adarme- madarme@ufps.edu.co

ESTRUCTURA DE DATOS-I SEM 2013 -

PRCTICA 1-LISTAS DOBLES CIRCULARES

Figura 1. Prototipo de GUI

Consideraciones: 1. El concepto de cargar en el sistema consiste en colocar el archivo de texto ascii en una lista circular doble de objetos de la clase Character(incluyendo espacios en blanco y saltos de lnea), as por ejemplo, si se tiene el siguiente archivo(ver figura2):

Figura 2. Ejemplo de archivo de texto ASCII usando WordPad de Windows

La Lista circular doble quedara:

myArchivo=<'L','a',' ','U','F','P','S',' ','s','e','d','e'...>


2. Implementar la(s) interface(s) grfica(s) de usuario (GUI) de la forma ms sencilla posible para el proceso de abrir y guardar el archivo, para esto se sugiere utilizar el control JFileChooser (Ver figura3)

Figura3. Control JFileChooser en el modo open

3. Tome en cuenta el siguiente diagrama de clase PRELIMINAR del paquete ufps.negocio (ud puede adicionar ms mtodos o clases si lo considera necesario):

MSc. Marco A. Adarme- madarme@ufps.edu.co

ESTRUCTURA DE DATOS-I SEM 2013 -

PRCTICA 1-LISTAS DOBLES CIRCULARES

4. Tomando en cuenta el diagrama de clase anterior se debe implementar los mtodos getBuscar y getReemplazar en la clase ListaCD<T> del paquete ufps.util, para esto se debe implementar la interface operacionEdicion , como se muestra en el siguiente diagrama clase (tome en cuenta que este diagrama solo contiene la interface OperacionEdicion y que la clase ListaCD tiene ms mtodos que no fueron colocados en este diagrama, pero que existen y pueden ser usados por todas las clases del negocio):

MSc. Marco A. Adarme- madarme@ufps.edu.co

ESTRUCTURA DE DATOS-I SEM 2013 -

PRCTICA 1-LISTAS DOBLES CIRCULARES

5. Se recuerda que la operacin de Buscar debe mostrar el archivo en un JTextPane y resaltar las palabras que se estn buscando, as como informar la cantidad de veces de su incidencia (ver Figura 4).

Figura 4. Ejemplo de GUI en operacin Buscar

La operacin de Reemplazar mostrar el archivo con sus caracteres reemplazados (para este caso no hace falta resaltar estos caracteres.

6. Se recomienda realizar las GUIs lo ms funcional posibles y con sus respectivos mensajes de ayuda.

MSc. Marco A. Adarme- madarme@ufps.edu.co

ESTRUCTURA DE DATOS-I SEM 2013 -

PRCTICA 1-LISTAS DOBLES CIRCULARES

7. Los archivos se deben manejar obligatoriamente a travs de la clases : ArchivoLeerTexto y ArchivoEscribirTexto del paquete ufps.util.

Factores de calificacin: 1. Esttica y usabilidad de la GUI (leer: http://es.wikipedia.org/wiki/Usabilidad ). 2. Bueno uso de los principios de OO del negocio. 3. Diseo de la solucin. 4. Interaccin del usuario con el juego. 5. Documentacin (API + Explicacin.pdf) 6. Uso de Excepciones e interfaces. Ficheros a entregar: Proyecto en Netbeans mximo en versin 7.2, debidamente documentada las clases con javadoc con su correspondiente generacin de la API del paquete ufps.negocio. 2. Archivo en PDF de nombre: Explicacin.pdf, donde se documente la estrategia de solucin que se utiliz para resolver el problema, puede basarse de grficos o esquemas para dar su explicacin. Para este caso, solo se debe explicar los mtodos getBuscar, getReemplazar(clase ListaCD<T>) y el proceso de resaltar el texto en getBuscar en la GUI. Este archivo se debe almacenar en la carpeta raz del proyecto. 3. Archivo comprimido en formato Zip, con los puntos 1 y 2 anteriormente mencionados. El archivo tendr por nombre: cod1-cod2.zip, donde cod1 cod2 son los cdigos de los integrantes.
1.

Condiciones de entrega: 1. Trabajo mximo de dos(2) estudiantes y deben estar matriculados en el mismo grupo. 2. Formularios con la imagen corporativa del Programa de Ingeniera de Sistemas 3. Fecha lmite de entrega: Viernes 23-Junio-2013, hora: 6:00 pm. 4. Los trabajos deben enviarse al email: trabajosufps@gmail.com , con asunto: Para el grupo A: 1150304A-Actividad2 Para el grupo B: 1150304B-Actividad2
Si el correo electrnico qued correctamente enviado, le llegar un mensaje de confirmacin, en caso contrario, reenviar el email y verificar el asunto. Cualquier inquietud ir al manual de envo de correo electrnico que se encuentra publicado en la seccin recursos de la materia.

Los programas que sean desarrollados DEBEN compilar sin errores y funcionar correctamente. REALICE todas las validaciones que crea necesarias para el correcto funcionamiento del programa. Cualquier TIPO de fraude motiva a la anulacin del trabajo. TODOS LOS PROYECTOS DEBEN CUMPLIR CON LAS CONDICIONES DE ENTREGA

MSc. Marco A. Adarme- madarme@ufps.edu.co

You might also like