個人作業1——四則運算題目產生程式(Windows傳統型應用程式)

來源:互聯網
上載者:User

標籤:tee   git   參數   瞭解   https   錯誤   過程   運算   子節點   

借鑒文章:

 

 

一.需求分析

1.使用者畫像

使用者群體:小學生

使用者特徵:年齡小、處於數學初級學習階段

使用者需求:擷取四則運算題目、答題、查看統計結果

2.功能需求

1. 使用 -n 參數控制產生題目的個數,使用 -r 參數控制題目中數值(自然數、真分數和真分數分母)的範圍
2.每道題目中的運算子個數不超過3個
3. 題目和運算結果中如果出現假分數應用真分數表示
4.將產生的題目存入Exercise.txt,題目答案存入Answer.txt,使用者做題結果存入Grade.txt
5.程式支援1萬道題目的產生
6.對產生的題目進行查重

二.功能設計

準系統:產生運算式、運算式查重、產生標準答案、提交答案、統計結果

拓展功能:輸入參數合法性檢測及錯誤提示、buttonclick快捷開啟txt檔案

進階功能:軟體圖形互動介面

三.設計實現

 

(部分代碼)

1.產生運算式二叉樹:

構建二叉樹,將運算數放入葉子節點,運算子放入非葉子節點,遞迴產生運算式tree.getroot().s

 

2.產生標準答案:後序遍曆二叉樹產生四則運算運算式,並計算出答案tree.getroot().value

3.運算式查重:樹結構調整為左子樹永遠比右子樹大,再依次比較樹的高度、運算子數量、樹的結構

 

4.將運算式、答案、統計結果分別存入Exercises.txt、Answers.txt、Grade.txt

5.假分數轉換成真分數:

四.測試結果

五.原始碼

項目地址:https://gitee.com/Linzhiyuan666/math.git

六.小結

本實驗加深了我對資料結構、編譯原理知識、物件導向思想的理解與掌握,在實驗過程中也遇到了諸多問題,尤其是如何做到準確且高效率地實現對10000道題目的查重,通過調整樹結構、最佳化查重演算法最終解決了該問題。由於對C#比較瞭解故採用.Net Framwork架構順便實現了軟體圖形互動介面,使其使用起來更加方便、體驗感更好,在設計圖形互動介面過程中做了諸多體驗感的最佳化,如參數合法性檢測與錯誤提示、ButtonClick快捷開啟txt檔案、運算式與答案內容預覽的ListView、介面排版等,這些都加深了我對產品設計的理解與掌握。

個人作業1——四則運算題目產生程式(Windows傳統型應用程式)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.