ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Practica 8: Autómata Pila


Enviado por   •  2 de Septiembre de 2015  •  Práctica o problema  •  1.695 Palabras (7 Páginas)  •  178 Visitas

Página 1 de 7

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');  

...

Descargar como (para miembros actualizados) txt (5 Kb) pdf (745 Kb) docx (1 Mb)
Leer 6 páginas más »
Disponible sólo en Clubensayos.com