Informática, pregunta formulada por mariodlopez17, hace 2 meses

DEFINICION

El estudiante debe desarrollar un programa escrito en lenguaje C o C++ que sea capaz de leer desde un archivo de texto la definición de un autómata de pila. Una vez cargada la definición, el programa mostrará la pila en pantalla, permitiendo al usuario ingresar desde teclado una cadena de caracteres del alfabeto contenidos en la definición previamente cargada.

El programa no debe aceptar el ingreso de símbolos que no pertenezca al alfabeto, esto se deduce a partir de la definición del autómata previamente cargado. Se dará por concluido el ingreso de los caracteres cuando el usuario presione la tecla de ENTER.

Una vez ingresados los símbolos en la cinta (no existe un límite sobre los símbolos a ingresar en la cinta, se asume que es infinita) el programa empezara a ejecutar las operaciones de lectura/escritura especificados en la definición de la MT sobre la cinta, deteniéndose hasta que se alcance el estado de aceptación.

El programa deberá mostrar en pantalla el procesamiento de los caracteres de la entrada así como el comportamiento de la pila, hasta que se alcance un estado de aceptación o se llegue a algún punto en el que no se puede hacer otro movimiento.

FORMATO ARCHIVO DE ENTRADA

La definición del AP será mediante la lectura de una tabla de transición desde un archivo de texto, existirá una transición por línea en el archivo y los elementos de la transición estarán separados por espacios en blanco o tabuladores. En el archivo de entrada se pueden adicionar comentarios, estos comentarios empezarán con los símbolos /+, tomando como comentario todos los caracteres que vengan a continuación hasta que se encuentre el símbolo de fin de línea. La cadena vacía se representará con el símbolo $. A continuación se muestra un ejemplo del formato del archivo de entrada:

/+ Esta es una definición de un Autómata de Pila /+ para el curso de Lenguajes Formales y Autómatas /+ Este autómata reconoce una cadenas palíndromas de símbolos a’s y b’s y una c al /+ centro de la cadena

S = {q0.q1,q2} S0 = {q0} A = {a,b,c} AC = {Z0} T = {q2} Z0 = {Z0}

q0 a Z0 (a,Z0,q0) q0 a a (a,a,q0) q0 c Z0 ($,Z0,q1) q0 c a (a,Z0,q1) q1 b a ($,$,q1) q1 $ Z0 ($,Z0,q2)

Respuestas a la pregunta

Contestado por jairmedinav16
0

Respuesta:

una pregunta y en que necesitas ayufa


mariodlopez17: En poder resolverlo
Otras preguntas