My favorites | Sign in
Project Logo
                
Feeds:
People details
Project owners:
  humitos, gheize

Diseño e Implementación de Estructuras de Datos

Integrantes

Secciones

Fotos del equipo en acción

Trabajo Práctico Nº 1

Fecha de publicación: Lunes 24/09/2007

Fecha de entrega: Viernes 12/10/2007

Modalidad de entrega: archivo comprimido en el sitio, en la tarea indicada como "Trabajo Práctico Grupal Nº 1".

Consigna:

Implementar un proyecto en Java que simule un "Procesador de Palabras" utilizando los temas estudiados en la cátedra y respetando las funcionalidades mínimas que se explican a continuación. Para tal fin, se facilita un proyecto que contiene clases de utilidad y una interfaz que usted deberá utilizar para el desarrollo de la solución. Además, podrá utilizar como guía el modelo adjunto (sintaxis de los comandos).

La aplicación contará mínimamente con lo siguiente:

  1. Un área de texto con autoscroll, donde se visualizará el texto a procesar.
  2. Un área de texto con autoscroll para los comandos a ingresar, a la cual se ingresará cuando se presione la tecla "esc", y se abandonará cuando se presione nuevamente1.
  3. Un área donde se mostrarán las respuestas a los comandos (información sobre la operación realizada, como la cantidad de secuencias afectadas, si el comando fue exitoso, etc.).

Comandos a implementar

Sintaxis de los comandos

<comando>
::= <comando_sin_parámetros> |
<comando_con_parámetros>(<lista_de_parámetros>)

<comando_sin_parámetros> ::= limpiar | limpiarComandos |

limpiarTodo | salir

<comando_con_parámetros> ::= buscar | reemplazar | reemplazarSiguiente |

eliminar | eliminarSiguiente | capitalizar | capitalizarSiguiente | escape

<lista_de_parámetros> ::= <parámetro> | <parámetro>, <lista_de_parámetros>

<secuencia_de_escape>
::= /
<caracter_clave>
| /
<caracter_clave>
<cadena_patron>
|
/
<nombre_de_variable>
<caracter_clave>
<cadena_patron>
/
<caracter_clave>

Semántica de los comandos:

Estas secuencias de escape se aplican también a los parámetros de los comandos capitalizar y eliminar.

Por ejemplo, si se aplica:

reemplazar(+/titulo%++,

<title>
/titulo/ <//title>)

sobre la cadena: "+ Semántica de los comandos +"

se obtiene: "

<title>
Semántica de los comandos
</title>
"

  • reemplazarSiguiente: busca y reemplaza la siguiente cadena que corresponda a la que se pasa como parámetro luego del cursor en el área de texto del editor.
  • eliminar: busca y elimina las cadenas que correspondan a la que se pasa como parámetro.
  • eliminarSiguiente: busca y elimina la siguiente cadena que corresponda a la que se pasa como parámetro luego del cursor en el área de texto del editor.
  • capitalizar: busca y pasa a mayúsculas (M), minúsculas (m), o mayúscula (Mm) al comienzo de cada palabra las cadenas que correspondan a la que se pasa como parámetro.
  • capitalizarSiguiente: busca y pasa a mayúsculas (M), minúsculas (m), o mayúscula (Mm) al comienzo de cada palabra la siguiente cadena que corresponda a la que se pasa como parámetro, luego del cursor en el área de texto del editor.
  • escape: activa (on) o desactiva (off) los caracteres de escape.

Clases de utilidad: Se anexa el proyecto a utilizar, que incluye los siguientes paquetes:

  • img: contiene la imagen (ícono de la aplicación).
  • logica: contiene la clase “ProcesadorDeComandos”, encargada de procesar los
  • comandos a implementar.
  • ui: contiene las clases para implementación de la interfaz de usuario.
  • util: contiene las clases que brindan soporte al resto de la aplicación.

La siguiente figura muestra la interfaz dada:

Nota:

El proyecto java es la carpeta llamada “TPs2007”. Para poder utilizarlo deben copiarlo en el workspace de Eclipse y luego importarlo desde allí. Para importar el proyecto deben seleccionar la opción File -> Import... -> Existing Project into Workspace -> Browse (seleccionar la carpeta TPs2007) -> Finish

Entregar:

Importante:

  1. TODOS los ítems solicitados serán tenidos en cuenta para la corrección del trabajo práctico, por lo que es obligatorio resolverlos. También se va a considerar la documentación de clases, métodos y líneas de código de la manera correspondiente, así como el formato de entrega. El código generado deberá incluir los comentarios adecuados que faciliten su comprensión.
  2. Tanto la compresión correcta de archivos, como la entrega y recepción satisfactoria de la resolución es responsabilidad de cada grupo.
  3. Se debe poder verificar la implementación de todas las funcionalidades solicitadas.
  4. Se debe verificar la legibilidad de los documentos y diagramas entregados.
  5. La fecha de entrega debe ser respetada.








Hosted by Google Code