jueves, 22 de octubre de 2009

Automata de Examen =]

Instruccion:
Lenguaje sobre {0,1} en el que las palabras no vacias empiezen o terminen con 0.

Diagrama:


Tabla de Transiciones


Lo procedemos hacer como el anterior en el java class agregamos el siguiente codigo:

public class cod {
/**
*
* @author Gus
*/
public String st(String pal)
{
String nuca=pal+'&';
String resul=null;
int val=nuca.length();

int tt [][]=new int [4][4];
//[0] [1] fc[&]
tt[0][0]=2; tt[0][1]=1; tt[0][2]=100;
tt[1][0]=3; tt[1][1]=1; tt[1][2]=100;
tt[2][0]=2; tt[2][1]=2; tt[2][2]=200;
tt[3][0]=2; tt[3][1]=1; tt[3][2]=200;
int est=0,col=0;
try
{
for(int a=0; a*val; a++) //* signo menor que
{
if((nuca.charAt(a)=='0'))
{
col=0;
est=tt[est][col];
}
if((nuca.charAt(a))=='1')
{
col=1;
est=tt[est][col];
}


if(nuca.charAt(a)=='&')
{
nuca=pal;
col=2;
if(tt[est][col]==200)
{

resul="Palabra Valida";
}
else

resul="Palabra Invalida";
}
}
}
catch (ArrayIndexOutOfBoundsException exc){}
return resul;

}


}

y al boton del applet le agregamos el siguiente codigo:

JOptionPane.showMessageDialog(null,jTextField1.getText());
cod co = new cod();
jTextField2.setText(co.st(jTextField1.getText()));

Resultado



No hay comentarios:

Publicar un comentario