這個作業屬於哪個課程 | 這個作業要求在哪里 | 我在這個課程的目標是 | 這個作業在哪個具體方面幫助我實現目標 | 參考文獻 | |
---|---|---|---|---|---|
C語言程序設計II | C語言I—2019秋作業04,C語言作業評價標准 | 熟悉並掌握基本的程序語言,擁有獨立完成能力 |
|
集美大學林麗老師,段譽C語言作業4,百度百科 |
1.PTA實驗作業
1.1 求N分之一序列前N項和
本題要求編寫程序,計算序列 1 + 1/2 + 1/3 + ... 的前N項之和。輸入在一行中給出一個正整數N。在一行中按照“sum = S”的格式輸出部分和的值S,精確到小數點后6位。題目保證計算結果不超過雙精度范圍。
1.1.1 數據處理
①數據表達:使用了整形常量N,作為輸入數據;使用了雙精度浮點變量 i 和S,i 是循環語句中的變量,S是累加結果;
②數據處理:使用了for循環語句,流程結構是先判斷 i 與N的大小關系,然后進行累加運算,最后再循環 i+1。
1.1.2實驗代碼截圖
1.1.3 造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
1 | 1.000000 | 最小正整數0 |
0 | 0.000000 | 使用臨界值0 |
-1 | 0.000000 | 使用負數測試 |
6 | 2.450000 | 使用題目數字測試 |
9999 | 5.586875 | 使用較大數據 |
1.1.4 PTA提交列表及說明
提交列表說明:
1.編譯錯誤:“double”單詞少打了一個字母“b”;
2.編譯錯誤:分別缺少兩個分號;
3.編譯錯誤:輸出語句中的“=”左右沒有空格;
4.多種錯誤:沒有將“i”也定義為浮點變量,使輸出結果即使已經定義小數點后六位也無法為小數。
5.答案正確:全部完成更改,並將“i”划入雙精度浮點變量當中。
1.2 求簡單交錯序列前N項和
本題要求編寫程序,計算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N項之和。輸入在一行中給出一個正整數N。在一行中按照“sum = S”的格式輸出部分和的值S,精確到小數點后三位。題目保證計算結果不超過雙精度范圍。
1.2.1 數據處理
①數據表達:使用了整形常量N,作為輸入數據;使用了雙精度浮點變量 i 和S和 d,i 是循環語句中的變量,S是累加結果,d 是第N項不帶符號的具體數值;
②數據處理:使用了for循環語句,流程結構是先判斷 i 與N的大小關系,然后計算 d 的具體數據,然后通過-1的 i +1次方作為正負號進行累加運算,最后再循環 i+1。
1.2.2實驗代碼截圖
1.2.3 造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
1 | 1.000 | 最小正整數0 |
0 | 0.000 | 使用臨界值0 |
-1 | 0.000 | 使用負數測試 |
10 | 0.819 | 使用題目數字測試 |
9999 | 0.836 | 使用較大數據 |
1.2.4 PTA提交列表及說明
提交列表說明:
1.編譯錯誤:使用pow語句(-1的n次方的使用)時沒有注意格式以及分號;
2.答案錯誤:for語句的循環判斷語句使用錯誤;
3.部分正確:沒有將小數點后的位數更改為三位;
4.部分正確:for語句后面多加了一個分號,導致循環錯誤,任何測試數據都錯誤;
5.答案錯誤:第五個錯誤不用理會,是我在VS上弄了很久成功后粘貼到PTA中粘貼錯題號,截圖中有顯示是7.2並不是本題7.3;
6.全部正確:在VS中反復驗證測試然后更正,粘貼到PTA中成功提交。
2.代碼互評
2.1同學代碼截圖(來自計科一班段譽)
2.2自己代碼截圖(使用習題7.3)
2.3比較結果
①使用的常量以及變量的不同,我的使用的更少,相比之更簡潔一些;
②使用的計算方法的不同,我的使用的是-1的n次方判斷正負,他的使用的是老師講過的第二個方法,利用flag=-flag的循環來判斷正負;
③使用的循環遞推的方式不同,我的使用的是(3 * i - 2),他的使用的是(d=d+3)。
3.學習總結
3.1 學習進度條
周數/日期 | 這周所花的時間 | 代碼行 | 學到的知識點簡介 | 目前比較迷惑的問題 | |
---|---|---|---|---|---|
第四周/10-16 | 約6-7h | 約320-360 | “for”循環結構語句的基本使用 |
|
3.2 累積代碼行和博客字數
3.3 學習內容總結和感悟
3.3.1 學習內容總結
本周學習的主要知識點是for循環語句的使用,這個語句也是基本的編程語句之一。顧名思義,就是一個在一定條件下不斷循環的語句,不但能夠減少語句的輸入量計算量,也能夠提高數據的准確性。實際應用中很簡單的例子就是從1加到100,如果不使用循環語句,那么一百多行的代碼相信是讓人絕望的也難免會出錯。使用for循環語句,只需要使用累加並且條件設置為小於等於一百即可完成。相信這個語法在后面的更多更高級的程序中會有更多的應用以及擴展功能,這都等待我們去探索。
3.3.2 學習體會
這周的學習也是充滿挑戰的一周,怎么說呢,相當於“師傅領進門,修行在個人”。老師能夠教給我們的,永遠是固定的知識以及語法內容,但是我們這門課程,從學習開始就注定是一門需要不斷實踐的課程。沒有自己實踐中的摸索探索,是不能夠充分掌握到知識的,是不能夠向更多的精彩前行的。我希望能夠在接下來的課程中學習到多個循環語句的使用方法以及執行順序的判斷,因為我覺得有時候需要用到更多的數據變量來加入到循環語句當中去。就如我在前面說的,循環語句很多時候能夠減少很多的計算量以及工作量,如果能夠充分的掌握使用,對於接下來的學習相信會有很大的幫助。再談談一點小小的無傷大雅的對於我們彭琛老師的意見,希望老師的PPT教學中字體大小以及字體顏色能夠更顯眼一些以及老師書寫在黑板上的內容能夠再大一些,好讓我們筆記到位。畢竟彭老師的課這么搶手,稍不留神去晚了便占不到前排的座位,對於課堂知識的吸收能力就會有所下降。這一定不是我們所願意的,這也一定不是老師所希望的,不是么?
誠實的來說,還是壓力很大的,感覺是在摸石頭過河,總是這樣那樣的問題和麻煩。不過想到大家都是一樣的,堅持下去,走下去,總會柳暗花明。誠如蘇軾所言:
“古之立大事者,不惟有超世之才,亦必有堅忍不拔之志。” |
理應如此。