/  3
 
Universidad Diego PortalesFacultad de Ingenier´ıaEscuela de Infrom´aticaCurso: Estructuras de DatosProfesor: Nelson BaloianAyudantes: Jaime Guzm´an
Tarea 1: Maquina de Estados
Fecha de Entrega:
Martes 21 de Abril 2009, 23:59.
La tarea es individual, para efecto se sancionar´a por copia dos trabajos ”parecidos”.
1 Recordatorio
Un diagrama de estados nos permite visualizar los diferentes estados por los que va pasando un programa.Las transiciones de un estado a otro se realizan ya sea incondicionalmente o bajo una condicin. Adems,pueden ir acompaadas de una accin que se realiza junto con la transicin.
2 Desarrollo
Para realizar esta tarea usted deber´a realizar un diagrama de estados (automata), para poder reconocervariables del siguiente tipo.
variable=operando(operador,operando)*;
Analisando la expresion anterior se dara cuenta que:
operando :
Es un identificador de cualquier tipo de dato numerico, numero que puede ser entero o decoma flotante.
= :
Signo de Asignacion, las asignacion es de derecha a izuierda.
(operador) :
Cualquier operador unario como por ejemplo
* :
Se puede repetir la expresi´on la cantidad de veces que sea necesaria.
 
Suma ( + )
 
Resta (
)
 
Multiplicaci´on (
)
 
Divisi´on (
/
)
Nota: las operaciones son sin prioridad, osea que es indiferente como aparescan, por ejemplo:4 + 5
3En este caso la multiplicacion no le damos la prioridad, nuestro interes no se presenta en priorizar operaciones
solo dereconocimiento
.
Para hacer un algoritmo de reconocimiento usted antes debera realizar un modelo de
digramas deestados
(Maquina) el cual deber´a entregar impreso con el codigo fuente de la tarea.Despues de que usted haya realizado su modelo debera implementar (Programarlo), dentro de la siguienteclase que usted podr´a modificar completamente. Puede usar package o librerias que estime necesario.1
 
123
public
machine
{
45
// variable
678
//constructor 
9
public
machine()
{
1011
//Su implementacion 
121314
}
1516
//methods
1718
public int
evaluar ( String x)
{
19
int
aux=0;
20
//Su implementacion 
2122
return
aux ;
23
}
24252627
// Main 
2829
public static void
main( String args [])
{
3031
//Su implementacion 
32
}
333435
}
1. Si usted desea programar en otro lenguaje que no se java ( C , C++) debera implemtar estaestructura y ejecucion para que realize la misma funcion.2. Para manipular el stream de entrada usted podra utilizar cualquier recurso de lenguaje de pro-gramacion usado para manipularlo con su programa, por ejemplo Scannner(), BufferedReader(),scanf(), etc.3. Para poder ejecutar el programa usted no debera realizar ningun tipo de interface grafica el pro-grama solo debera correr por linea de comando. En su defecto debera compilar y ejecutarse porconsola:En java , compilar javacEn C , compilar con gccEn C++, compilar con g++
3 Opciones del Programa
 
El programa debe compilar
 
El programa debera tener un archivo README, explicando su ejecucion y funcionamiento
 
El Programa debera correr mediante linea de comando
 
El Codigo Fuente del programa debera estar documentando y bien identado.2

Share & Embed

More from this user

Add a Comment

Characters: ...