這個作業屬於哪個課程 | https://edu.cnblogs.com/campus/zswxy/SE2020-1 |
---|---|
這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-1/homework/11448 |
這個作業的目標 | 更加熟練的編寫代碼,發現自己的不足,掌握if-else語句,for語句等循環語句 |
學號 | 20209113 |
1.PTA實驗作業
1.1 求分數序列前N項和
本題要求編寫程序,計算序列 2/1+3/2+5/3+8/5+... 的前N項之和。注意該序列從第2項起,每一項的分子是前一項分子與分母的和,分母是前一項的分子。
1.1.1 實驗代碼截圖
1.1.2 數據處理
·數據表達:用了兩個整型變量i,N;雙精度浮點型變量X,Y,sum,term。N是正整數,X表示每一項的分子,Y表示每一項的分母,sum是前N項和。
·數據處理:運用for循環語句,表達式:sum+=X/Y;term=X;X=X+Y;Y=term
1.1.3 PTA提交列表及說明
·Q1:沒有理清程序條理,沒有使用scanf()函數,將浮點型變量用int編輯。
·A1:多讀題目,重新思考,看書查找資料區分好整型變量和浮點型變量。
·Q2:為何總是編譯錯誤?
A2:反復檢查后發現沒有規定小數點后幾位數。
1.2 for循環練習:1到X的累加和,並按指定格式輸出。
本題要求讀入1個整數X,然后輸出1+2+3+...X 的和。
1.2.1 實驗代碼截圖
1.2.2 數據處理
·數據表達:用了整型變量i,x,sum。x為正整數,i表示每一項,sum表示1到X的累加和。
·數據處理:運用了for循環,表達式:i=1;i<=x;i++;sum=sum+i
1.2.3 PTA提交列表及說明
·Q1:printf中格式控制字符弄錯,參數漏了sum。
·A1:在參數中加入sum,格式控制字符int型使用%d。
·Q2:反復檢查了才提交,感覺是對的但還是答案錯誤?
·A2:在仔細檢查過后尋求了同學的幫助,在scanf后打一個空格然后輸出就對了。
1.3 電子汪
據說汪星人的智商能達到人類 4 歲兒童的水平,更有些聰明汪會做加法計算。比如你在地上放兩堆小球,分別有 1 只球和 2 只球,聰明汪就會用“汪!汪!汪!”表示 1 加 2 的結果是 3。
本題要求你為電子寵物汪做一個模擬程序,根據電子眼識別出的兩堆小球的個數,計算出和,並且用汪星人的叫聲給出答案。
1.3.1 實驗代碼截圖
1.3.2 數據處理
·數據表達:用了整型變量i,a,b,n。a,b分別表示兩堆小球的個數,n表示兩堆小球的總個數。
·數據處理:運用了for語句,表達式:n=a+b,i=1;i<=n;i++
1.3.3 PTA提交列表及說明
通過之前的練習和在編碼器上仔細編碼,所以這題沒有出現錯誤。
2.閱讀代碼
找一份優秀代碼,理解代碼功能,並講出你所選代碼優點及可以學習的地方。
參考網站:ACM解題,leecode面試數題網站,找簡單題目閱讀分析。
優秀代碼:
題目內容:把M個同樣的蘋果放在N個同樣的盤子里,允許有的盤子空着不放,問共有多少種不同的分法?(用K表示)5,1,1和1,5,1 是同一種分法。
·(1)這題用了if-else語句,while循環體語句,整型的數據結構,scanf和printf的語句函數。
·(2)使用遞歸的方式 int fun(int n,int m)。fun(m,n-1) 表示m個蘋果放到n-1個盤子中,有一個盤子為空,剩余情況為每個盤子至少有一個蘋果,那么分配方法數與每個盤子都減少一
蘋果方法數相同,即fun(m-n,n)。
優點及可以學習的地方:
1.代碼清晰明了,有后面的注釋。在以后打代碼的過程中可以在其內容后面進行注釋,方便他人和自己能更明白寫的程序。
2.使用了遞歸的方式和讓m=0時候結束,讓我們了解了遞歸方式。
3.接觸到了還未學習的循環語句while,知道||表示或者,滿足一個條件就循環。
3.學習總結
3.1 學習進度條
周/日期 | 這周所花的時間 | 代碼行 | 學到的知識點簡介 | 目前比較迷惑的問題 |
---|---|---|---|---|
第八周/10.19~10.25 | 15小時 | 150行 | 在屏幕上顯示Hello World!學會了怎樣用PTA進行寫代碼作業,學會了markdowm語法 | 無 |
第九周/10.26~11.1 | 12 小時 | 350行 | 求華氏溫度對應的攝氏溫度 常量,變量和數據類型 知道以后要怎樣向別人提問 | 變量問題,輸入輸出格式 |
第十周/11.2~11.8 | 20小時 | 460行 | for循環,if else語句 | 對於&的用法不了解,輸出時保留幾位小數 |
3.2 累積代碼行和博客字數
3.3 學習感悟
經過這一周的學習,我寫代碼速度相比有所提高,寫的代碼越來越難,了解了與C語言相關的基礎的編程語言,主要學會了如何使用if-else語句,for語句,同時對double,int也更熟練,但是總
不注意細節問題。每次遇到問題要思考很久,打代碼也用了比以前更多的時間有時打到崩潰,但看到程序運行正常的時候很有成就感,這就是其中的樂趣吧,漸漸地喜歡上了編程。很多問題
只有在“敲代碼”的時候才能發現,才會有更加深刻的體會、領悟和理解,通過翻書本和向他人提問能夠收獲很多東西,在下次遇到時能很快做出來,爭取不再出現相同的錯誤。應加強數學
邏輯,不斷努力!