Diferencia entre revisiones de «Manual del estudiante de Ingeniería en Sistemas de UTN/Diseño e Implementación de Estructuras de Datos/Trabajos prácticos»

Contenido eliminado Contenido añadido
Sin resumen de edición
Línea 83:
== Consigna ==
Realizar al trabajo práctico las siguientes agregaciones y cambios:
# Incorporar la función de autocompletado{{ref|1}} que, dependiendo del diccionario o diccionarios que se elijan como fuente, mostrará la primera palabra más cercana a la que se esté ingresando, y que se pueda navegar entra palabras posibles con ctrl- <math> \downarrow </math> (avanzar) y ctrl- <math> \uparrow </math> (retroceder), desplazándose por una lista circular que contenga todas las palabras que tengan el prefijo que se está ingresando; con ctrl-enter se confirma la inserción de la palabra. El orden en que se mostrarán las posibilidades deberá poder ser configurado por el usuario, que podrá elegir la siguientes opciones:
## La cantidad de apariciones de la palabra dentro del documento.
## El orden alfabético{{ref|2}}.
# Administración de diccionarios de palabras y de diccionarios de tags:
## Ambos criterios, en el orden de prioridad elegido.
## ABM de palabras: Deberá proveerse algún mecanismo mediante el cual las altas de palabras puedan hacerse desde la ventana pricipalprincipal, a medida que se escribe el texto.
# Administración de diccionarios de palabras y de diccionarios de tags:
## ABM de palabras: Deberá proveerse algún mecanismo mediante el cual las altas de palabras puedan hacerse desde la ventana pricipal, a medida que se escribe el texto.
## ABM de tags.
Los diccionarios de tags deben permitir definir tags de apertura y de cierre, y a medida que se van colocando dentro del texto, deben indentar automáticamente si dicha opción estuviere habilidatahabilitada. Cuando el cursor se ubica a la derecha de un tag de cierre, con la combinación ctrl-pgup debe ubicarse el cursor a la derecha del tag de apertura. Cuando el cursor se ubica a la derecha de un tag de apertura, con la combinación ctrl-pgdn debe ubicarse el cursor a la derecha del tag de cierre.
 
=== NotaEjemplos ===
==== Cómo cargar un diccionario de vocabulario ====
La cantidad de palabras en los diccionarios puede ser grande, por lo cual se recomienda que la selección de la palabra actual se realice mediante una referencia en una estructura arbórea, y que no se cree una lista con todas las palabras posibles, ya que la ineficiencia de esta opción puede notarse en una aplicación interactiva como la que se pretende desarrollar.
Los diccionarios de vocabulario serán archivos de texto plano, con una palabra por línea. Para cargarlos se puede utilizar un código tal como el que sigue:
 
DiccionarioDeVocabulario diccionarioActual = new DiccionarioDeVocabulario();
String lineaActual;
JFileChooser fc=new JFileChooser();
fc.showOpenDialog(this);
File archivoDiccionario=fc.getSelectedFile();
if(diccionario!=null)
{
FileReader lector=new FileReader(archivoDiccionario);
BufferedReader bufferDeLectura=new BufferedReader(lector);
while((lineaActual=bufferDeLectura.readLine())!=null)
{
DiccionarioDeVocabulario.agregarPalabra(lineaActual);
}
leer.close();
}
==== Función de autocompletado ====
Supóngase que en la ventana de texto se encuentra el siguiente fragmento:
[[Imagen:Ejemplo_scriptor_autocompletado.svg]]
= Tercer trabajo práctico =
== Consigna ==