前言
第七次作業:
-
知識點:
這次的題目集是在上一次題目集的基礎上增加了多個并聯串聯在一起的情況,并且也考慮了一條串聯電路中包含其它串聯電路的情況,同時在這次題目集中添加了設備:窗簾(它的狀態與亮度有關,這就需要我們考慮接入電路中的燈泡狀態),互斥開關(包含三個引腳,同時這三個引腳的接入電路的順序也有多種情況),這就需要我們在判斷電路的情況時,將這些考慮進去!
-
題量:
因為是第在前一次作業的基礎上增加功能和電器,所以題量相對而言跟第六次大作業差不多。
-
難度:
難度也就不用多說,肯定時比較難的
-
測試點:
就是有三個測試點比較細節,他是互斥開關的測試點,就是你的互斥開關接入電路中可以是引腳反著來,同時,也可以在一條電 路中可能出現多個互斥開關
第八次作業:
-
知識點:
這一次的大作業是這個學期的最后一次大作業,這次作業它又是在上一次的基礎上增加一些功能和設備,增加的功能:可以是并聯里面包含并聯,同時這次的作業還需要輸入每個設備的兩個引腳的電壓,增加了設備的額定電流,短路的判斷,增加的設備這次又有二極管的增加,它的接入電路中的狀態又給電路增加了新的判斷情況。
-
題量:
由于是本學期最后一次大作業,在題目要求上肯定加大了難度,判斷的情況多,細節多,代碼量大,同時要求的功能也更全面電路也復雜多變,所以題量要求大。
-
難度:
家居強電電路模擬程序的最后一次大作業,難度相對而言是真的大,尤其是這次引入了新要求和新設備,對電路的分析和考慮更加 需要我們認真思考,所以難度我覺得很大,而且我看很多同學這次的得分都是0分
設計與分析
-
第七次大作業


-
第八次大作業



踩坑心得
互斥電路考慮不全面導致整個電路在運行時會出錯,應該在剛剛開始添加這個類時就應該考慮清楚,就可以避免這么多麻煩,省時又省力,這個問題告訴我們考慮問題一定要全面,把所有可能的情況都考慮一遍,不能想到哪寫到哪,先做需求分析不是沒有道理的。只有預先分析了所有問題所在,才有可能編寫出一段適用于應對所有狀況的代碼,即使出現問題也只要添加新的類應對新需求即可,這才可以被稱作一份正常可用的代碼。越是復雜的問題就越是貼近我們現實中的實際問題,雖然這次題目沒有能夠取得一個令人滿意的成績,但是這也為我的面向對象學習過程積累了重要的經驗,犯過的錯不再犯也許也是一種不錯的進步。
改進建議
代碼設計可以更貼切單一職責、開閉原則,不把大段代碼堆在一起。
設計可以更簡潔,盡量減少單個類以及單個函數中的代碼量。
還可以鞏固設計模式相關知識,如策略模式(ControlledDevice和其子類),有助于學習如何在軟件設計中使用設計模式來提高代碼的可復用性和可維護性。
提高問題解決能力,在編寫代碼的過程中,可能會遇到各種問題,解決這些問題可以鍛煉問題解決能力和調試技巧。
總結
-
收獲
在編寫程序之前,應仔細分析題目要求,確保不遺漏任何特殊需求,因為題目中的信息通常都很有用,并可能包含對應的測試點。若未遵循題目要求修改程序,則可能無法通過測試。對于需要多次迭代的題目,應具備前瞻性思維,從一開始就構建好相應的代碼框架,并在后續迭代中逐步完善,這樣既能減輕工作量,又能盡量避免因大量修改程序而引入的錯誤,同時還能增強代碼的穩定性和可維護性。盡管這兩次的作業沒有順利完成,但我還是學習到了很多。
浙公網安備 33010602011771號