1.作業過程總結:
①總結三次作業之間的知識迭代關係:
第一次作業主要是讓我們熟悉j**a的基本語法,第二次作業主要是讓我們熟悉j**a函式怎麼怎麼寫,類,屬性間的關係,鞏固了基本語法,為第三次作業做鋪墊。第三次作業主要是讓我們以第二次作業為基礎,設計類,明白類設計以及單一原則的重要 性,初步思考類應該怎麼設計,**重用性該如何實現。
②如何通過作業逐步從面向過程過渡到物件導向:
第一次作業完全用的是c語言這種類面向過程的思想,把許多東西寫在main函式裡面,通過一些函式去實現一些簡單功能。第二次作業依舊沒有把物件導向放在心上,基本上依舊按照c語言對程式的設計思路去設計程式。當第三次作業來時,我發現我第二次**的重用性很低,這和我沒用應用物件導向思維有很大關係,從來沒有想過去設計類,覺得麻煩,這次作業讓我意識到物件導向要去設計物件的屬性和方法,考慮題目中各種出現元素間的關係,去設計類。
③作業過程中遇到的問題及解決方法:
第一次作業是簡單if else語句的應用,第一題計算稅率有乙個測試點沒通過,當時想過是不是一些特殊值的問題,改進後解決.
第二次作業第二題判斷是星期幾,求輸入日期到001-01-01的天數,該開始計算輸入日期時總是少算一天,發現是吧01-01漏了,加上後解決。第三題計算下一天,沒考慮12.31這一天的下一天是下一年,加上判斷if(day==31&&month==12)判斷這一特殊情況去計算下一天,第四題求前n天沒考慮1-1號的特殊,if(day==1&&month==1)判斷這一特殊情況去計算且程式只適用於了n取值不大時,程式不完善。
第三次作業發現第二題題目類似,用上第二次**時發現完全行不通,第二次作業設計的程式不完善,對n取稍微大一點的值就不適用,基本重新改過**。初次設計了簡單的類。程式在下n天,前n天n取整型最大值時不能通過測試點,後面將資料轉換為long後在強制轉化為int後通過測試點。
④每次作業花費的時間比例:
第一次作業花費時間3.5小時;第二次作業花費時間6小時,第三次作業花費時間24小時
比例為7:12: 48
⑤對程式設計過程的嚴謹性的認識及教訓:
在解決問題時,首先不是一來就直接打**,而是需要乙個大概的構思,在將細節一一細化,程式的細節要考慮清楚邊界值,特殊值等特殊條件,因為如果不這樣,程式無法滿足需求且問題得不到解決。
2.oo設計心得:
①面向過程與物件導向的比較:
面向過程主要是分析問題,找出邏輯,通過**一步一步的去實現程式。物件導向則需要通過物件去解決問題,去思考其屬性和方法,且類之間影響不大,**可重用性高。
②物件導向設計的基本原則理解:
了解了單一職責這一原則,將題目中所給東西細分,盡量把有不同功能的東西獨立出來為乙個類。
③oo程式設計思維的理解:
oo程式設計思想主要包括類和物件。我們通過物件去類去解決問題,其中又需要對類的分析,設計又至關重要,需分析共同特徵和不同特徵,每個類需要獨立,且要符合單一職責。
3.測試的理解與實踐:
①測試對於編碼質量的重要性:
第一測試能發現程式是否能對其應該具有的功能進行實現,可很快的看出。
第二測試可以發現**的一些不足和特殊情況是否可正常執行
②假如讓你設計測試用例,你會如何做:
一:先了解程式的需求,像設計類一樣,先大概分析在仔細分析
二:測試非法輸入時程式是否崩潰
三:多測試幾次正常的值,再給特殊值時看答案是否正確
4.課程收穫:
1.初步了解物件導向大致內容,掌握了j**a的一些基本語法;
2.初步了解了類怎麼寫和他的具有的屬性和方法,屬性最好要私密,方法要公開;方可以過載但是傳參要不一樣;且對於類的設計,需要進行嚴密的分析丶設計。
3.掌握了j**a裡自帶的一些類,如msth類,string類;初步了解array類;
4.初步學會了如何進行程式的測試,設定測試點;
5.初步了解正規表示式,自己初步應用了一點點;
5.對課程的建議:
1:在類的設計時,希望老師有時候可以通過實際例子,並一步一步的設計給我們學習一次,這樣我們會更懂得如何去設計,如何去遵守單一職責。
2:pta稍難題目可以在作業截止給我們分享一下思路,這樣我們可以再去改進
6.後一階段學習計畫:
設計程式時多考慮單一職責
初步思考對類的設計問題
按時完成課程要求
第四周第一次作業
7 2 餐館訂位 編寫乙個程式,詢問使用者有多少人用餐。如果超過8人,就列印一條訊息,指出沒有空位 否則指出有空桌。counts int input please tell me how many people want to eat here n if counts 8 print no empt...
第四周作業
第四周實驗作業 1.完成課本每乙個程式設計題。要求先畫出流程演算法圖或n s圖,然後程式設計實現,有可能的話使用兩種以上方法 1.1求自然對數e的近似值 include using namespace std int main cout 1.2求圓周率 的近似值 include using name...
第四周作業
實驗作業1.完成課本每乙個程式設計題。要求先畫出流程演算法圖或n s圖,然後程式設計實現,有可能的話使用兩種以上方法 2.程式設計求 百錢百雞 問題。雞翁一值錢五,雞母 一值錢三,雞雛三值錢一。百錢買百雞,問雞翁 雞母 雞雛各幾何?3.程式設計輸入乙個整數,計算它是幾位數字,分別輸出每一位數字,並輸...