這個作業屬於那個課程 | https://edu.cnblogs.com/campus/zswxy/SE2020-3 |
---|---|
這個作業的要求在哪裡 | https://edu.cnblogs.com/campus/zswxy/SE2020-3/homework/11450 |
這個作業的目標 | 發掘學習中的問題,總結自己的收穫,改善現有的問題 |
學號 | 20209167 |
1.PTA實驗作業
從PTA題目集中選出3個你最滿意的題目完成以下內容,選擇題目難度越大,分值越高,每題2分,內容要求如下:
1.本題要求編寫程式,計算序列 2/1+3/2+5/3+8/5+... 的前N項之和。注意該序列從第2項起,每一項的分子是前一項分子與分母的和,分母是前一項的分子。
輸入格式:
輸入在一行中給出一個正整數N。
輸出格式:
在一行中輸出部分和的值,精確到小數點後兩位。題目保證計算結果不超過雙精度範圍。
1.1.1:
1.1.2:
資料表達:i,N為整型函式,q為代換變數(浮點型變數),sum,fz,fm,s為浮點型變數
資料處理:其中s表示該式子每一項,fz,fm表示分子分母,sum是最終結果,q是迴圈中的變數,根據題目要求調整最後輸出結果為兩位小數。
1.1.3:
- Q1:剛開始沒有用q代換變數,導致計算出錯,部分正確。
- A1:用了q代換,計算步驟正確,問題解決。
2.微博上有個自稱“大笨鐘V”的傢伙,每天敲鐘催促碼農們愛惜身體早點睡覺。不過由於笨鍾自己作息也不是很規律,所以敲鐘並不定時。一般敲鐘的點數是根據敲鐘時間而定的,如果正好在某個整點敲,那麼“當”數就等於那個整點數;如果過了整點,就敲下一個整點數。另外,雖然一天有24小時,鍾卻是隻在後半天敲1~12下。例如在23:00敲鐘,就是“噹噹噹噹噹噹噹噹噹噹噹”,而到了23:01就會是“噹噹噹噹噹噹噹噹噹噹噹噹”。在午夜00:00到中午12:00期間(端點時間包括在內),笨鍾是不敲的。
下面就請你寫個程式,根據當前時間替大笨鐘敲鍾。
輸入格式:
輸入第一行按照hh:mm的格式給出當前時間。其中hh是小時,在00到23之間;mm是分鐘,在00到59之間。
輸出格式:
根據當前時間替大笨鐘敲鍾,即在一行中輸出相應數量個Dang。如果不是敲鐘期,則輸出:
Only hh:mm. Too early to Dang.
其中hh:mm是輸入的時間。
輸入樣例1:
19:05
輸出樣例1:
DangDangDangDangDangDangDangDang
輸入樣例2:
07:05
輸出樣例2:
Only 07:05. Too early to Dang.
2.1.1:
2.1.2:
資料表達:定義時間hh,mm(整型資料),i,n也是整型資料。
資料處理:用到了for語句,ceil函式計算不超過mm的最小整數n=hh-12+ceil(1.0*mm/60);,用if語句設定題目要求時間段。
2.1.3:
- Q1:剛開始if語句括號中打的是=所以編譯錯誤。
- A2:改成==就對了。
- Q2:還有輸入輸出格式沒注意空格。
- A1:後來改正後格式正確。
3.L1-031 到底是不是太胖了 (10分)
據說一個人的標準體重應該是其身高(單位:釐米)減去100、再乘以0.9所得到的公斤數。真實體重與標準體重誤差在10%以內都是完美身材(即 | 真實體重 − 標準體重 | < 標準體重×10%)。已知市斤是公斤的兩倍。現給定一群人的身高和實際體重,請你告訴他們是否太胖或太瘦了。
輸入格式:
輸入第一行給出一個正整數N(≤ 20)。隨後N行,每行給出兩個整數,分別是一個人的身高H(120 < H < 200;單位:釐米)和真實體重W(50 < W ≤ 300;單位:市斤),其間以空格分隔。
輸出格式:
為每個人輸出一行結論:如果是完美身材,輸出You are wan mei!;如果太胖了,輸出You are tai pang le!;否則輸出You are tai shou le!。
輸入樣例:
3
169 136
150 81
178 155
輸出樣例:
You are wan mei!
You are tai shou le!
You are tai pang le!
3.1.1:
3.1.2:
資料表達:其中i,n為整型資料,W為浮點型資料。
資料處理:根據題目資料要求給出定義變數,根據公式用if語句處理,輸出給定的判定語句。用到了fabs函式計算絕對值等。(標準體重) W=(h-100)*0.9*2,fabs(w-W)<W*0.1
3.1.3:
- Q1:剛開始會有編譯問題,格式問題,後來發現這主要是個數學問題
- A1:通過不斷改公式,最後得出正確表示式。
2.閱讀程式碼。
* 優點:都是迴圈語句,有共同點,能互相轉換著運用。
* 可學習的地方:簡單的瞭解了一下while語句的運用和運用break提前終止迴圈的用法以及與for語句的異同,
比如:在 for 迴圈的格式中,表示式 1、表示式 2 和表示式 3 在 while 迴圈中一個也不少,只不過不像 for 迴圈那樣寫在一起,而是分開寫。
在 while 迴圈中,迴圈變數 i 在定義的時候就給它賦初值,++i 則是寫在 while 的迴圈體內。只有迴圈判斷表示式與 for 一樣,都是寫在其後的括號中。
break是退出該迴圈,如果套在迴圈裡,它只退出最裡面的迴圈。
3.學習總結:
3.1學習進度條
周/日期 | 這周所花的時間 | 程式碼行 | 學到的知識點簡介 | 目前比較迷惑的問題 |
---|---|---|---|---|
3/9 -3/15 | 6小時 | 310 | for語句運用和基本原理 | 如何在輸出格式中換行,輸入輸出行數為N行時不知道如何處理 |
3.2累計程式碼行和部落格字數
3.3學習感悟
(1)還是要注意很多比如細節,符號,格式。
(2)打程式碼心態要好。
(3)多與同學交流可以學到很多東西。
(4)多在網上看一些相關知識,很有幫助。