2020物件導向程式設計寒假作業3

2022-07-30 21:15:13 字數 2429 閱讀 7850

這個作業屬於哪個課程

2020物件導向程式設計

這個作業要求在**

2020物件導向程式設計寒假作業3

這個作業的目標

程式設計題(請使用c語言或者c++完成以下題目):

1.繼續完成作業二的程式設計題。

2.優化架構,思考**的拓展性,比如我需要增加其他功能,如選擇,迴圈語句怎麼辦

3.思考:可以參考現有的程式語言,把這些語言的內容加入。如選擇、迴圈語句、函式、或者擴大數字範圍,支援負數等。

作業正文

程式設計題其他參考文獻

1.繼續完成作業二的程式設計題。

2.優化架構,思考**的拓展性,比如我需要增加其他功能,如選擇,迴圈語句怎麼辦

3.思考:可以參考現有的程式語言,把這些語言的內容加入。如選擇、迴圈語句、函式、或者擴大數字範圍,支援負數等。1.增大轉化資料的範圍

審視寒假作業2中優化後的**,如果從拓展性角度分析,如果要增大轉化資料的範圍,那麼只要對進行輸入輸出轉化的兩個函式(num和change_print)進行修改。

int num(char a)

} else if(strlen(a)==6)

}

void change_print(int sum)

else

}

對以上兩個函式進行分析可以得知,如果要把資料範圍擴大,只要繼續增加條件分支就行。但是num函式的每個條件分支包含著對於不同長度漢字的剪下識別,如果只是一味的增加條件分支,雖然可行但是會使num函式變得冗長,所以還需要對num函式進行優化,把輸入端轉化和條件的功能用不同的函式去實現,提高**的拓展性。

這裡我想到兩種優化方案:可以採用先直接把漢字逐個轉化成數字,再交由另一函式進行判斷和運算的辦法,避免了對不同長度的漢字進行逐一剪下判斷;也可以把先判斷漢字長度在把不同長度的漢字交由不同的函式進行運算,我這裡採用第二種方法,這樣想要擴充套件資料範圍只要增加更多對應的函式就行了。

int length_switch(char a)

int calculate_2(char a)//對應零一二等單個漢字表達的數字

int calculate_4(char a)

}int calculate_6(char a)//對應「幾十幾」型別的數字

增大資料範圍只要繼續增加calculate_8(10、12···)函式和change_print函式中if的分支即可

2.增加更多條件識別

int judge(int n,char a,char b)
只要增加judge函式中的if分支就可以達到擴充條件識別運算功能的目的,除「增加」、「減少」外,可以增加「乘"、「除以」等功能。

eg.

int judge(int n,char a,char b)
ps.這裡的「除以」是整數的除法運算,商也是整數

3.功能拓展

在對於「看看」這一查詢變數數值大小的功能上運用了迴圈,可以使「看看」不只限於最終查詢而可以在變數定義後的任何時候檢視,將功能進行了拓展。

while(scanf("%s %s",d,b)!=eof)

}else

} else change_print(sum);

}

#include#includechar list[11][5]=; 

int swap(char a)

}int length_switch(char a)

int calculate_2(char a)

int calculate_4(char a)

}int calculate_6(char a)

int judge(int n,char a,char b)

void change_print(int sum)

else

}int main()

sum=length_switch(c);

while(scanf("%s %s",d,b)!=eof)

}else

} else change_print(sum);

}return 0;

}

本次作業主要在於思考框架和拓展性兩點,因為我用的是相對來講結構化的程式設計思路來解這道題的,所以在優化**實現改進思路時需要相對大規模的修改**,增加了優化**的難度;而因為一開始只顧及了條件,沒有深入思考哪種實現方式能更好地把功能拓展,導致一開始的**相對比較死板,只能解決比較固定有限的資料範圍,導致拓展性不佳。這次作業拓展了思考的角度,在實現乙個問題或功能時應該把眼光放得更長遠些,要把**的拓展性考慮進去,以便於日後功能或資料的拓展。

2020物件導向程式設計寒假作業3

繼續完成程式設計題 發布部落格 讀題,提取出題目的要求。分解需求,把需求分解為幾個你覺得不太相關的模組。思考每個模組怎麼寫,可以從簡單的模組開始寫。對於不會的問題進行查閱資料。對於每乙個模組設計測試用例。詳細記錄下以上每一步,並寫在部落格中。不要求完全做出來,但要求記錄詳細。建議部落格長度不少於10...

2020物件導向程式設計寒假作業3

這個作業屬於哪個課程 2020物件導向程式設計張棟班 這個作業要求在 物件導向程式設計寒假作業3 這個作業的目標 繼續完成作業二的程式設計題。實現二位數和負數的處理。作業正文 其他參考文獻 最初 的侷限性 1.不能輸入大於十的漢字。2.最終輸出的結果範圍仍在0 99內。上一次優化解決了連續表示式的輸...

物件導向程式設計寒假作業3

這個作業屬於哪個課程 物件導向程式設計2020 這個作業要求在 物件導向程式設計寒假作業3 這個作業的目標 1.繼續完成作業二的程式設計題。2.優化架構,思考 的拓展性,比如我需要增加其他功能,如選擇,迴圈語句怎麼辦。3.思考 可以參考現有的程式語言,把這些語言的內容加入。如選擇 迴圈語句 函式 或...