有限狀態機實現計算器小程式

2022-01-31 14:14:42 字數 729 閱讀 2792

本文介紹利用有限狀態機原理開發計算器小程式的過程。

支援整數、小數輸入

支援+ - * / 四則運算

ce 清除當前運算元

c 清除所有、回到初始狀態

回顯運算元和結果

計算器可以分為七種狀態:start、operand_1、negate_1、operator、operand_2、negate_2、error。其中start、operand_1、operand_1狀態又分了幾種子狀態。

下面簡要的介紹下狀態狀態轉換的過程:

啟動軟體,進入start狀態

當使用者點選1-9、0、point按鈕,軟體進入operand_1 狀態。

當使用者點選+、-、*、/按鈕,軟體進入operator狀態。

此時當使用者再次點選1-9、0、point按鈕,軟體進入operand_2 狀態。

如果使用者點選=按鈕,軟體就進入了start狀態。

如果此時進行的是除法運算且除數為0,軟體進入error狀態,使用者只有點選c按鈕才可以跳出。

在實際開發的過程中,我們只需要關心現在程式處在什麼狀態,可以進行什麼樣的操作。然後就是狀態轉換的條件要處理下。

有限狀態機

有限狀態機 finite state machine,fsm 又稱有限狀態自動機,簡稱狀態機,是表示有限個狀態以及在這些狀態之間的轉移和動作等行為的數學模型。狀態儲存關於過去的資訊,就是說 它反映從系統開始到現在時刻的輸入變化。轉移指示狀態變更,並且用必須滿足來確使轉移發生的條件來描述它。動作是在給...

有限狀態機

以前,只碰到過 陣列中所有數字只出現2次,只有乙個出現1次,找這個數的問題 每次迴圈異或陣列中元素,最後的結果就是single one。這次換作出現3次就懵逼了,主要原因,沒有使用過有限狀態機,應該說是連概念都沒有,所以這次一定要好好記錄一下 關於這道題的解釋discussion中woshidais...

有限狀態機

需要掌握的名詞 數字系統有兩大類有限狀態機 finite state machine,fsm moore狀態機和mealy狀態機。狀態機名 次態輸出 moore摩爾 f 現狀,輸入 g 現狀 mealy公尺粒 f 現狀,輸入 g 現狀,輸入 mealy型狀態機 下一狀態不但與當前狀態有關,還與當前輸...