地特三等申論題
106年
[資訊處理] 程式語言
第 四 題
四、寫出一 BNF 文法,產生符合以下條件的數字 N:
N 為一個二進位數字。(25 分)
📝 此題為申論題
思路引導 VIP
看到 BNF 文法題,先確認「二進位數字」的基本組成元素(0 與 1)。接著思考數值的合理表示法:單獨的 0 是合法的,但多位數通常不允許前導零(如 010)。最後運用遞迴規則設計文法,產生任意長度的字串。
🤖
AI 詳解
AI 專屬家教
【解題思路】利用 BNF(Backus-Naur Form)的遞迴特性定義二進位數字。為了符合一般數學與程式語言對「數字」的嚴謹定義,文法設計應避免產生不合法的前導零(Leading zeroes,例如 0101)。 【解答】 一、嚴謹版文法(不允許前導零,推薦作答此版本)
▼ 還有更多解析內容