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

Programma per costruire un DFA che inizia e termina con 'a' nell'input (a, b)

DFA rappresenta l'automa finito deterministico. È un macchina a stati finiti che può accettare o rifiutare stringhe in base al suo accettore.

Qui creeremo un DFA che accetta le stringhe che iniziano e terminano con 'a'. L'input proviene dalla collezione (a,b). Sulla base di questo, progetteremo il DFA. Ora, parliamo di alcuni casi validi e invalidi che il DFA accetta.

Stringhe accettate dal DFA: ababba, aabba, aa, a.

Stringhe non accettate dal DFA: ab, b, aabab.

Esempio

Questo programma verifica le stringhe che iniziano e terminano con 'a'. Questo DFA accetta tutte le stringhe che iniziano e terminano con 'a'. Il codice verifica se il primo e l'ultimo elemento sono uguali e può inserire tutto il contenuto tra (a,b).

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

Risultato di output

Accettato