1. 程式人生 > >四則運算python版

四則運算python版

擴展 高級功能 href 基本 行程 功能 進入 作業 難度

a.需求分析
1.教師通過軟件隨機生成自然數,真分數,假分數,且帶有括號的,少於3個運算符的四則運算式,以文件形式發布給學生
2.學生們做完後將文件提交給教師,教師通過軟件執行批改
3.批改結果以文件形式返回
4.要有萬題級的出題解題能力

b.功能設計
基本功能:
運行程序後,進入圖形化窗口,教師可點擊“出題”按鈕,通過選擇題數和難度進行出題,題目文件和答案文件會生成在文件夾中,另會同時生成存放提交該次題目答案的文件夾,及存放批改結果的文件夾,以次數遞增的方式命名。(如:“第一次.txt”)。學生完成答題後,將文本加入安排好的文件夾中。之後教師通過“批改“按鈕批改作業。結果會以文件的形式返回。
擴展功能:
出題和批改是獨立的功能,運行程序後教師可點擊出題按鈕直接選擇要批改第幾次的作業。
高級功能:
暫無

c.設計實現
四則運算類:fourOps.py(包含生成表達式,查重的操作)
批改類:correct.py(檢查結果)
樹的類:tree.py
棧的類:stack.py
界面類:app.py(簡易圖形化界面)

d.代碼說明
二叉樹判重:
用後綴表達式建立二叉樹,判斷二叉數是否同構(即用有限次交換子樹,判斷樹是否相同註意只有‘+’和‘*’可交換,‘-’和‘÷’不行)。
技術分享圖片
進行判重:
技術分享圖片

e.測試運行
1.開始運行(pythonUI界面,簡陋了點):
技術分享圖片
2.生成題目
技術分享圖片
技術分享圖片
技術分享圖片
2.1 生成三個文件夾(分別存放題目,待批改的作業,和批改結果)
技術分享圖片
3.批改
點擊‘批改’按鈕,選擇要批改的作業。
技術分享圖片
4.展示PSP
技術分享圖片


5.小結
代碼運行效率不是很高,主要判重時算法的復雜性較高,生成題量大時,速度較慢,有待日後改進。
6.源代碼:
程序源代碼已提交至碼雲倉庫 ,地址→https://gitee.com/pu1996/four_operations/

四則運算python版