免費開始練習
地特三等申論題 106年 [資訊處理] 程式語言

第 四 題

四、寫出一 BNF 文法,產生符合以下條件的數字 N: N 為一個二進位數字。(25 分)
📝 此題為申論題

思路引導 VIP

看到 BNF 文法題,先確認「二進位數字」的基本組成元素(0 與 1)。接著思考數值的合理表示法:單獨的 0 是合法的,但多位數通常不允許前導零(如 010)。最後運用遞迴規則設計文法,產生任意長度的字串。

🤖
AI 詳解 AI 專屬家教

【解題思路】利用 BNF(Backus-Naur Form)的遞迴特性定義二進位數字。為了符合一般數學與程式語言對「數字」的嚴謹定義,文法設計應避免產生不合法的前導零(Leading zeroes,例如 0101)。 【解答】 一、嚴謹版文法(不允許前導零,推薦作答此版本)

▼ 還有更多解析內容

📝 同份考卷的其他題目

查看 106年[資訊處理] 程式語言 全題

升級 VIP 解鎖