Académique Documents
Professionnel Documents
Culture Documents
Objetivos especficos
Ampliar el conocimiento sobre las definiciones dirigidas por la sintaxis a travs de la aplicacin prctica de las mismas en una aplicacin real. Familiarizar al estudiante con las herramientas utilizadas para la construccin de analizadores lxicos y semnticos, y su aplicacin en lenguajes de programacin.
Operaciones Bsicas
Ingreso al sistema:
Se debe mostrar un formulario de ingreso al sistema en donde se ingrese el nmero de personal (NDP) y una password. Restricciones: NDP: Se debe validar que el NDP sea numrico (solo dgitos) con separadores con el siguiente formato: 2013-01-125-456123 La validacin del NDP est separada en 4 bloques importantes como se puede observar en el nmero de referencia anterior. De tal manera que: 2013 01 Representa el ao en que se imparte el curso. Representa el ciclo en que se imparte 01 = 1er Semestre 02 = 2do Semestre 03 = Vacaciones Junio 04 = Vacaciones Diciembre 05 = Cursos Extraordinarios
125
Representa la seccin del curso aperturado enlazndolo a ciertas configuraciones del sitio las cuales no son parte de este requerimiento.
456123
Cdigo Personal del Catedrtico o auxiliar de ctedra del curso. Representa a la persona que est utilizando el recurso para realizar o solventar cualquier duda por parte de los estudiantes.
NOTA: Es importante que se evale individualmente cada bloque a su ingreso ya que por medio de este dato se podr desplegar la configuracin del catedrtico/auxiliar que est ingresando al sistema, en qu ao, semestre, seccin, etc., se est realizando la consulta, esto servir posteriormente para presentar reportes estadsticos sobre la afluencia de consultas en periodos especficos.
Password: Se deber autenticar al usuario por medio de una clave la cual deber ser signo-alfanumrica con las siguientes restricciones: Longitud: 10 15 dgitos Debe Contener: Al menos un signo # @ Iniciar con Mayscula Finalizar con Punto Tener 1 numero
Debido a que no es parte del requerimiento el mantenimiento a cuentas, la primera vez que se ingrese al sitio se validara el NDP y la Password (con sus restricciones) y se pedir una confirmacin de password guardndola en un archivo plano encriptandola bajo la siguiente regla: Para los nmeros y Signos # @ . 1 2 3 4 5 6 7 8 9 0 *%& +-= /)? : _ ^ ] [ } , ; {
Para las letras (su equivalente en mayscula a minscula es el mismo): A=B K=L U=V B=C L=M V=W C=D M=N W=X D=E N=O X=Y E=F O=P Y=Z F=G P=Q Z= G=H Q=R =0 H=I R=S I=J S=T J=K T=U
A la prxima vez que ingrese el usuario, se deber revisar el NDP y su clave encriptada en el archivo, convertirla a la clave original y compararla con la que est ingresando, si los datos son vlidos entonces se puede ingresar al sistema.
El men deber mostrar las opciones de alguna forma (por medio de botones, un men desplegable, etc.) y al seleccionar una de las opciones se deber re direccionar a la opcin seleccionada.
Operacin de transformacin
En esta parte se podrn cargar al sistema una o varias funciones matemticas, y seleccionar el tipo de transformacin a realizar, para ello se debe presentar un formulario con los siguientes incisos: Carga de Funciones Matemticas Existen dos formas de carga de funciones, una funcin o varias funciones, para los dos casos se utilizar un formulario con una caja de texto y un botn Cargar Funcin. La extensin del archivo indicar el tipo de carga a realizar, si se est cargando un archivo con extensin .fpt, se asume que se desea cargar un archivo con varias funciones, en caso contrario, se tomar como que el archivo cuenta con un nica funcin y se realizar la carga a memoria de la o las funciones de acuerdo al tipo de carga: Caso una funcin Se mostrar la funcin ingresada en una etiqueta que diga La funcin fue cargada con xito y muestre la funcin cargada.
Caso varias funciones Se mostrar el nmero de funciones ledas del archivo de texto en una etiqueta que diga Se realizo la carga masiva de N funciones matemticas con xito (Donde N representa el nmero de funciones contenidas en el archivo .fpt cargado). Ejemplo de un archivo con varias funciones: f(x) = 3x^3+12x^2-2x+8 f(x) = 9x^2+24x-2 f(x) = 5x^5+x^3-43x 200914891@ingenieria.usac.edu.gt compi2.2s2012@gmail.com correo@ingenieria.usac.edu.gt 200914891 201116555 199915678
Escritura de funciones Adicionalmente en la aplicacin se debe contar con una rea de texto que permita ingresar de manera manual funciones para realizar el mismo proceso que en la carga de funciones por archivo. Utilizando la siguiente sintaxis [[f(x)][f(x1)][f(x2)]....] Por ejemplo: [[f(x) = 3x^3+12x^2-2x+8][ f(x) = 9x^2+24x-2][ f(x) = 5x^5+x^3-43x]] Transformaciones Disponibles Inicialmente se tienen solo tres tipos de transformaciones, se espera que en un futuro se puedan incorporar nuevas transformaciones y as poder ayudar a ms catedrticos en los distintos niveles de dificultad matemtica. Derivada: La derivada representa cmo se modifica una funcin a medida que su entrada tambin registra alteraciones. En los casos de las funciones de valores reales de una nica variable, la derivada representa, en un cierto punto, el valor de la pendiente de la recta tangente al grfico de la funcin en dicho punto. Ejemplo: Entrada: f(x)=3x^3+12x^2-2x+8 Salida: f(x)=9x^2+24x-2
Derivada de una Gramtica: La derivada de una gramtica es cualquier cadena de entrada que sea aceptada por esa gramtica. Por ejemplo: Entrada: G(x) = S -> L L->L, i L -> i Salida: G'(x) =i
NOTA: La salida debe ser la cadena ms pequea aceptable por la gramtica. Funciones validas Las funciones vlidas son de la forma: Para una funcin Matemtica: F(x) = Para una Gramtica: G(x) =
Las operaciones matemticas permitidas para las operaciones son: + * Suma Resta Multiplicacin, tambin puede representarse por un nmero seguido de un parntesis o de un identificador Divisin Potencia Raz Parntesis Derivada
/ ^ /() dx/dy
Las operaciones para gramticas son: -> | NT (S, L, D) de G(x) Produce O produce Indica los smbolos no terminales de la gramtica G(x)
Una gramtica podra escribirse de la forma: NT (S,L) de G(x) G(x) = S -> L, L->a,L | a 6
Variables e identificadores Se pueden definir variables dentro de un archivo, estas se definen de la siguiente manera: var(nombre) = valor Donde nombre es el nombre de la variable y valor representa su valor. Por ejemplo: Var(a) = 10 f(x) = x^4+5x^3+dx/dy(x^2+1)
La manera de trabajar las variables ser reemplazando su valor dentro de la funcin y operando, si se encuentra una variable dentro de una funcin que no est definida se tomar como una constante. NOTA: Las variables pueden contener funciones. Por ejemplo: Var(z) = 10x+15x^2 f(x) = x^4+z
Operacin de Reversin
Integral: una integral es una generalizacin de la suma de infinitos sumandos, infinitamente pequeos. La integracin que se realizar, ser una integral indefinida. Ejemplo Salida: f(x)=9x^2+24x-2 Entrada: f(x)=3x^3+12x^2-2x
Donde: Direccin: representa el nombre, diminutivo o identificador de la persona duea del dominio, es de tipo signo-alfanumrico. Dominio: un dominio vlido de empresa la cual puede por ejemplo Google, Hotmail, etc. Sentido: sentido del dominio, que puede ser comercial, organizacin, de gobierno, etc. Por ejemplo .com .org . gov etc.
Tambin deber tener un cuadro de texto adicional para pedir un nmero de carnet esto para documentar las consultas realizadas por un alumno en particular, para poder medir posteriormente el nivel de inters de los estudiantes. Caso de varias funciones En este caso el archivo cargado de funciones, contendr una columna dedicada para este fin. Se deber realizar la validacin explicada en el inciso anterior, por cada direccin de correo encontrada. El archivo tambin contar con una columna destinada para un nmero de carnet esto para documentar las consultas realizadas por un alumno en particular, esto para poder medir posteriormente el nivel de inters de los estudiantes.
Esto porque en el estudio se pretende demostrar el comportamiento estudiantil en relacin a las dudas, tomando en cuenta que los exmenes, tareas, cortos se realizan los das sbados y al parecer siempre consultan las dudas un da antes de entregar las tareas, esta estadstica servir para coordinar mas los das de entrega, etc. Datos del reporte Para la obtencin de los datos necesarios para el reporte se deber utilizar un archivo de texto en el que se almacene la informacin que el alumno considere necesaria, y dicho archivo ser ledo para la generacin del reporte.
Restricciones de la Prctica
El lenguaje a utilizar ser Java. El tipo de sistema ser web. Utilizar Lex y Cup para el manejo de scanner y parser. Se puede utilizar cualquier sistema operativo. El IDE queda a discrecin del estudiante, siempre y cuando sea Java. El diagrama de flujo deber ser dibujado utilizando la herramienta Graphviz. Copias de proyecto tendrn una ponderacin 0 y sern reportados a la escuela de sistemas.
Fecha de Entrega
23/02/2013, en horario de laboratorio. La entrega ser presencial
Fecha de Calificacin
25/02/2013, rea de columnas a partir de las 9:00 am.