OPP第三次部落格作業

蓝文杰發表於2024-06-30

1.前言
這次部落格不出意外是我們Java課程的最後一次部落格了,不過這次部落格pta只有兩題,但真的挺難的,尤其是最後一個,我自己的設計也有很大的問題,第七次pta遺留下了一點點問題,導致第八次出現了很多問題,導致在後面要大篇幅的改,之後改完以後又不明白之前的寫的程式碼有啥用,修修補補。
①7~8題目集的知識點:
物理中的電路知識
類之間的合理設計

多個類的處理
② 題量
這兩次題集一題集都只有一題,題量少。

③ 難度
本人認為第七次的難度還是中等的,因為這次的迭代並沒有顛覆我的設計,所以我可以繼續按我以前的邏輯寫,
不過還是有幾個測試點過不了,就是那種特別分散的測試點,我改了好久都沒有找出來,後面在寫到第八次大作業才發現,是我的風扇類的輸出有點問題,就是我的資料是19.99997,強轉一下就變成了19,而答案是20,問題就是在計算的時候出了一點問題
第八次pta就比較的難寫了,尤其是後面還加了幾個測試點,就有點過不了測試點,不過我的程式也確實有點問題
第八次題集--家居強電電路模擬程式-4,剛看到題目的時候,非常震驚啊,要輸出引腳資訊!,在之前的迭代中,我根本沒有用到過裝置的引腳,因為這個引腳我不太會用,不知道如何運用,所以我採用計算電阻來分配電壓的方法來計算亮度、轉速。增加管腳電壓的顯示,其他的增加還有:電流限制,短路檢測,二極體,並聯電路中包含並聯。我剛剛開始的設計就有點缺陷,後面一直在改,測試點也沒有過幾個。

2.設計與分析

我的設計主要是按照題目所給的類設計建議來設計的,有輸入類,輸出類,用電器類,串聯類和並聯類來處理的,之後就是在輸入的時候找到主路,從主路作為突破的,利用遞迴來解決電路的串聯和並聯問題。其中的主要設計還是在串聯類中。

家居強電電路模擬程式-3
image
這是我的類圖設計,我專門設計了一個資料類儲存資料來讓其他類來使用其中的資料
image
透過上面的分析,可以發現這次我的圈複雜度更之前比起來好了不是一星半點,說明我的大改還是有點用的,不過還是有幾個圈複雜度比較高需要進一步修改,我重新看了一下自己的程式碼,發現主要問題還是出現在串聯類中,邏輯實在是太混亂了,沒有好好的設計。
家居強電電路模擬程式-4
image
這個類圖相對上一次pta來說並沒增加什麼,主要是在處理複式開關和二極體,然後就是在電壓的處理和輸出,我剛開始的設計就是根據電壓差來處理,後面發現沒用,後面便想到透過主路的電流來處理,每一個串聯電路分為輸入電壓和串聯分壓,並聯同理。
image
看到圈複雜度為9的時候,人都懵了,咱就問明明沒新增啥東西,測試點也沒有過幾個,咋圈複雜度加了這麼多em我又重新看了一下我的程式碼,天殺的,主要問題還是在處理這複式開關電壓和二極體這,我考慮了好多情況,加了好多好多if,em罪惡源泉就是我自己沒用設計好(/(ㄒoㄒ)/~~)

3.踩坑心得

第7次題集中只有幾個錯誤一直都改不成功(印象中)後面在第8次pta中,才發現我是在風扇類輸出有問題,真的哭死,真的找了我好久,就是實際電流是19.99997,我強制轉換一下就變成了19,答案是20,那種無力感em,第8次題集真的最後一刻亂改後全是答案錯誤,改了一個稀巴爛後面只有35分em,還花了我差不多倆天,真的挺離譜的

程式碼設計思路的恰當選擇:當時在家居強電電路模擬程式-1的時候,看不懂裝置的兩根引腳幹嘛用的,後面寫家居強電電路模擬程式-2這道題目的時候,徹底拋棄了引腳這一部分,就直接透過輸入裝置名來建立裝置,所以當家居強電電路模擬程式-4要顯示各個裝置的引腳的時候,我就知道我這方法不太行了,指定過不了。還有就是類與類之間的設計, 對一些特殊情況的處理不對,答案一直都有錯誤,實際上我覺得就是對情況的分類不準確,有些特殊情況想不到。

5.總結
首先,透過這倆次題集,我認識到我還是不夠細心,考慮不周全,有很多特殊情況並沒有考慮到,在之後的學習中,我需要更加完善,提高自己的程式碼能力。其次,透過寫這倆次題集,我收穫良多:
對題目的理解至關重要,真的要好好地去設計自己的程式碼,不設計好來是真的難受,就是一直在改,改來改去還得不到幾分的那種無力感,太難受了,啊啊啊!
然後就是多用debug,debug真的是好東西,我在debug的過程中發現了自己好多的邏輯問題
然後,以下是我總結出來還需進一步學習和研究的地方:儘量減少程式碼複用部分好的程式碼應該是簡潔,複用性低的,有待改善!

最後,這是最後一次部落格作業了,下面是對咱們教師、作業、實驗、等方面的改進建議及意見,
老師方面:老師上課真的上的很好,真的好生動,有好幾次醍醐灌頂,真的好爽,雖然我學的不咋地,但我還是覺得老師真的講課講的好,給老師點贊!
作業方面:我們的作業主要是在pta上,咱pta是真的好東西,我的程式設計能力說實在提高了好多好多,但還是有點不足,不足之處就是我在寫完一次作業後得不到一個及時的反饋,對於那些得滿分的同學其實還好,但對我這種都沒有拿過幾次滿分的人問題可就大了,我是不知道自己問題到底出現在哪裡,問同學也不知道,因為他們都是一遍過,我基本上得不到什麼有用的反饋,我的問題是一直都在積累的,一直都是得不到解決的,這是對於我個人的見解,希望老師能夠每次寫完一個pta給出一定的提示,老師可能會覺得這不是會影響下一次的難度嗎,我認為,如果不讓我們自己解決問題才是真的的問題,老師可以加難度,但希望一定要在寫完一次pta給出一定的提示,不然對我我這種拿不到滿分的人問題是真的大,我在寫題的時間真的已經很多了,我需要一定的提示來打破在某些邏輯的缺陷,不然我的問題真的會越來越多,因為得不到及時的解決。
實驗:那個實驗提交系統是真的搞人,我一直都執行失敗,我明明在idea中執行的好好的,可一到了提交系統上就出現了一系列的問題em

最後,還是得要感謝老師的辛勤付出over

相關文章