English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Programa para construir un DFA que comienza y termina con 'a' en la entrada (a, b)

DFA representa Automata Finito Determinista. Es un autómata finito que puede aceptar o rechazar cadenas basado en su aceptador.

Aquí, crearemos un DFA que acepte las cadenas que comienzan y terminan con 'a'. La entrada proviene de la colección (a,b). Basándonos en esto, diseñaremos el DFA. Ahora, discutamos algunos casos válidos e inválidos que acepta el DFA.

Cadenas aceptadas por el DFA: ababba, aabba, aa, a.

Cadenas no aceptadas por el DFA: ab, b, aabab.

Ejemplo

Este programa verifica las cadenas que comienzan y terminan con 'a'. Este DFA acepta todas las cadenas que comienzan y terminan con 'a'. Este código verifica si el primer y el último elemento son iguales y puede colocar todo el contenido entre (a,b).

#include <iostream>
#include <string.h>
using namespace std;
int main(){
   char str[] = {'ababba'};
   int length = strlen(str);
   if(str[0] == 'a' && str[lenght-1] == 'a'){
      printf("Aceptado");
      else{
         printf("Rechazado");
         return 0;
      }
   }
}

Resultado de salida

Aceptado