課程作業4

2022-06-02 19:21:09 字數 822 閱讀 5974

ooa(object oriented analysis,物件導向分析): 從客觀存在的事務和事務之間的關係,歸納出有關物件(包括物件的屬性和行為)以及物件之間的聯絡,並將具有相同屬性和行為的物件用乙個類(class)來表示。建立乙個能夠反映真實情況的需求模型。

ood(object oriented design,物件導向設計):將物件導向分析階段形成的需求模型進一步具體設計。如類的設計(繼承、派生、類與類之間的訊息協作)、演算法的設計等。採取通用的工具,如流程圖、類圖等來描述。

題目描述:

採取物件導向的方法,四則運算自動出題軟體,根據需求可以劃分為幾個類?每個類具有什麼屬性?每個類具有什麼行為?

類與類之間是如何進行協作的?誰給誰傳送訊息?誰持有誰的引用?

該自動出題軟體採取何種演算法或者是如何實現的?可以採用流程圖描述的方法。

作業要求:

本次作業不要求編碼實現。發布一篇部落格,**並茂。

請設計四則運算的各個類的類圖。並對圖加以描述。

有編碼實現的同學附加10分。

作圖軟體推薦processon,也可以提供手工畫圖的**。

四則運算自動出題軟體,根據需求可以劃分為隨機生成數字類,隨機生成字元類,字元優先順序判斷類,計算題目類,檔案類

隨機生成數字類作用: 隨機生成數字

隨機生成字元類作用: 隨機生成字元

字元優先順序判斷類作用: 判斷字元運算的順序

計算題目類作用: 按字元優先順序進行運算

檔案類: 把輸入輸出放到檔案裡

類與類之間是如何進行協作的?

先隨機生成數字,再隨機生成字元,再判斷字元優先順序,再按字元優先順序進行計算,最後把輸入輸出放到檔案裡

課程作業五

上次作業我已經將我的乙個類分為了四個類,而且已經進行了 的實現。git傳送門 在四則運算器的計算算式的值的編寫中,我用到了棧。下面是我所學到的一些知識。棧是一種特殊的線性表,只能從固定的方向進出,而且棧進出的基本原則是 先進棧的元素後出棧。它按照先進後出的原則儲存資料,先進入的資料被壓入棧底,最後的...

課程作業一

github鏈結 這次作業我選擇了重構 因為我上幾次作業使用了類似於出題模板的 導致我的程式隨機性不夠,於是我下定決心寫乙份符合我自己的要求的 期間遇見了許許多多的問題,例如計算生成算式值的時候,自己也想了了乙個思路 用string型變數來儲存算式,然後去尋找第乙個 然後計算它與前乙個 之間算式的值...

課程作業(七)

github inherit include includeusing namespace std define random a,b rand b a 1 a class random class randomnumber public random int random int down,int...