Practica 8: Autómata Pila
Enviado por Manny23 • 2 de Septiembre de 2015 • Práctica o problema • 1.695 Palabras (7 Páginas) • 178 Visitas
INSTITUTO POLITÉCNICO NACIONAL[pic 1]
[pic 2][pic 3]
ESCUELA SUPERIOR [pic 4]
DE CÓMPUTO
“Practica 8: Autómata Pila”
Teoría Computacional
Profesora:
Sánchez García Luz María
Presenta:
Luna Reyes Brandon Manuel
Grupo: 2CM3
Boleta: 2014630279
[pic 5]
Introducción
Un autómata con pila, autómata a pila o autómata de pila es un modelo matemático de un sistema que recibe una cadenaconstituida por símbolos de un alfabeto y determina si esa cadena pertenece al lenguaje que el autómata reconoce. El lenguaje que reconoce un autómata con pila pertenece al grupo de los lenguajes libres de contexto en la clasificación de la Jerarquía de Chomsky.
[pic 6]
[pic 7]
Planteamiento Del Problema
Realización de un programa que simule la ejecución de un autómata de pila.
Desarrollo
//Brandon Manuel Lunas Reyes - 2CM3 - 22/04/2015
#include
#include
#include
#include
#include
#include
using namespace std;
int k;
class Arr{
char vector[100];
char pila[100];
int i,tope;
public:
Arr(char m[]){
tope=100;
strcpy(pila,m);
i=strlen(pila);}
bool OCUPADO(){
if (i>=tope){
return true;}
else return false;
}
bool VACIO(){
if(i<=0){
return true;}
else return false;
}0op
void METER(char a){
char t[2];t[0]=a;t[1]='\0';
strcat(pila,t);
cout<
i=strlen(pila);
}
char SACAR(){
char a;
k=strlen(pila);
a=pila[k-1];
pila[k-1]='\0';
i=strlen(pila);
return a;
}
bool reconocedor(char x[]){
strcpy(vector,x);
int e=0;
int j=0;
char temp;
while(j<=strlen(vector)){
switch(e){
case 0:if(!VACIO()){
temp=SACAR();
if(vector[j]=='a' && temp=='Z'){
e=0;
METER('Z');
METER('A');
}
else if(vector[j]=='a' && temp=='A' ){
e=0;
METER('A');
METER('A');
...