Emulador Autómata de Pila

Completado Publicado hace 4 años Pagado a la entrega
Completado Pagado a la entrega

Se 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. Para leer el archivo debe de estar la opción de preguntar al principio del programa el nombre del .txt que desea abrir. 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 contenido 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.

Al terminar de ingresar la cadena y haber presionado ENTER deben aparecer dos opciones:

1. Mostrar Procesamiento Automático. (Simular automáticamente el comportamiento de la pila.)

2. Mostrar Procesamiento Manual. (Al presionar cada ENTER tiene que mostrar el siguiente paso del procesamiento de la pila.)

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:

EJEMPLO DEL ARCHIVO DE TEXTO

/+ 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 cadena palíndroma de símbolos a’s y b’s y una c al

/+ centro de la cadena

S = {q0,q1,q2} +/Estados

S0 = {q0} +/Estado Inicial

A = {a,b,c} +/Alfabeto

AC = {Z0} +/Alfabeto de pila

T = {q2} +/Estado Final

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)

Traducción Programación en C++ Traductor de español Programación en C Matemáticas

Nº del proyecto: #22115690

Sobre el proyecto

3 propuestas Proyecto remoto Activo hace 4 años

Adjudicado a:

Mdaurich

Que tal, podría hacerte el trabajo. Puedo ofrecerte un programa que reciba como entrada un Autómata de Pila Determinista, una cadena y nos indique si la cadena es aceptada por dicho autómata. Entrada: (Formato del arc Más

$25 USD en 1 día
(18 comentarios)
4.4

3 freelancers están ofertando un promedio de $60 por este trabajo

RachitGroup

⭐⭐⭐⭐⭐ Hola, leí los detalles del trabajo de su proyecto y estoy absolutamente seguro de que puedo hacer este proyecto muy bien, tengo más de 5 años de experiencia en él. Tengo 5 Star Rating⭐⭐⭐⭐⭐ en Freelancer.com Yo pr Más

$85 USD en 7 días
(13 comentarios)
4.6
Artemrodin1987

Hello, I have just read your requirement very careful and I am sure that I can finish it for 1 hours because I am a professional C/C++ expert with strong algorithm. So I think it is a important opportunity for me to pr Más

$70 USD en 1 día
(3 comentarios)
2.3