一、實驗目標
1、掌握有窮狀態自動機的概念;
2、掌握有窮狀態自動機的儲存及表示方法;
3、掌握有窮狀態自動機與正則式之間的關係。
二、實驗要求
1、輸入正規式;
2、構造該正規式的有窮狀態自動機;
3. 以五元組形式輸出。
三、演算法
參見教材的轉換規則。
練習:² (a|b)*abb
² l(l|d)*
² 1(1010*|1(010)*1)*0
四、完成演算法設計、編碼和除錯工作,完成實驗報告。
#include#include#include
intmain()
;char vt[30]=;
printf(
"規則數:");
scanf("%d
",&n);
line=n;
for(i=0;i<30;i++)
for(j=0;j<30;j++)
printf(
"請輸入文法:\n");
for(i=0;i)
l=0; m=0
;for(i=0;i)
}if(flag==0
)
}if(p[i][j]<='
z'&&p[i][j]>='a'
)
}if(flag==0
) }}
}count=0
; k=0
;for(i=0;i)
else
}count++;
k=0; }
flag=0
;for(i=0;i)}}
if(flag==1
) ,)\n");
}else
,)\n");
}printf(
"其中,\nk=
printf(
"}\n");
printf("e=
printf(
"}\n");
k=0;count=0
;for(i=0;i)
else
if(p[i][j]=='l'
) }}
count++;
k=0; }
printf("\n
");printf(
"m:\n");
l=0;while(vn[l]!='\0'
)
}printf(
"}\t");
l++;
}printf("\n
");l=0;k=0
;while(vt[k]!='\0'
)
}printf(
"}\t");
l++;
}k++;
printf("\n
");}
system(
"pause");
}
心得體會:
通過本次實驗,使我對有窮狀態自動機有了初步的了解,雖然沒有成功,但使我對自動機有了更深刻的理解
實驗三 有限自動機的構造與識別
實驗三 有限自動機的構造與識別 一 實驗目標 1 掌握有窮狀態自動機的概念 2 掌握有窮狀態自動機的儲存及表示方法 3 掌握有窮狀態自動機與正則式之間的關係。二 實驗要求 1 輸入正規式 2 構造該正規式的有窮狀態自動機 3.以五元組形式輸出。三 演算法 參見教材的轉換規則。練習 a b abb l...
實驗三 有限自動機的構造與識別
實驗三 有限自動機的構造與識別 一 實驗目標 1 掌握有窮狀態自動機的概念 2 掌握有窮狀態自動機的儲存及表示方法 3 掌握有窮狀態自動機與正則式之間的關係。二 實驗要求 1 輸入正規式 2 構造該正規式的有窮狀態自動機 3.以五元組形式輸出。nnfa的分列過程如下 32for j 0 j 3336...
1118實驗三有限自動機的構造與識別
include include include int main 存放非終結符號 char vt 30 存放終結符號 printf 請輸入規則個數 scanf d n line n for i 0 i 30 i 給字串陣列p,q全部賦值為 0 for j 0 j 30 j printf 請輸入文法 ...