1.本章學習總結
1.1 思維導圖
1.2 本章學習體會及代碼量學習體會
1.2.1 學習體會
本周學習感受:我原先有一定的基礎,學習起來較輕松,知識總體能夠理解並運用,但不夠熟練,對於細節問題不夠敏感。在原有的基礎上加深了對代碼規范的理解,了解了變量命名(認識了駝峰命名法)以及注釋的重要性。學習了浮點精度缺陷這一平時容易忽略的細節問題。
不懂的地方:算術運算符、、關系運算符、賦值運算符和邏輯運算符的優先級關系。
1.2.2 代碼累計
2.PTA總分
2.1
2.2 我的總分:
第一章順序結構:100分
第二章分支結構:125分
總 分:225分
3.PTA實驗作業
3.1 PTA題目1
在一行中輸入24時制的時間,輸出這個時間對應的12小時制的時間,數字部分格式(當小時或分鍾數小於10時,均沒有前導的零,如5:6表示5點零6分。),然后跟上空格,再跟上表示上午的字符串AM或表示下午的字符串PM。如5:6 PM表示下午5點零6分。注意,在英文的習慣中,中午12點被認為是下午,所以24小時制的12:00就是12小時制的12:0 PM;而0點被認為是第二天的時間,所以是0:0 AM。
3.1.1 算法分析
1.定義24時制小時數Hour,分鍾數minute,12時數hour。
2.Hour=24時制數,輸入24時制數。
3.若24時制小時數大於12hour的值為Hour-12。
4.否者hour的值為Hour。
5.輸出hour的值。
6.若Hour大於或等於12並且Hour小於24輸出 PM。
7.否者輸出 AM。
3.1.2 代碼截圖
3.1.3 測試數據
3.1.4 PTA提交列表及說明
- Q1:沒看清題目對於英文習慣的要求,按照個人認知習慣答題致錯。
- A1:采用分次輸出,先輸出12時制的小時和分鍾,再出 AM(PM)。
- Q2:誤認為24時制的24時為12時制的0時。
- A2:采用邏輯運算符進行條件特判,避免出錯。
3.2 PTA題目2
在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)輸入日期。注意:閏年的判別條件是該年年份能被4整除但不能被100整除、或者能被400整除。閏年的2月有29天。 輸出該日期是該年中的第幾天。
3.2.1 算法分析
1.定義整數年year、月month、日day。
2.定義二月份天數february=28。
3.輸入year、month、day。
4.若為閏年february=29。
5.定義天數number=day。
6.定義整數i=1,用for語句建立一個循環,每輪循環結束i加一,當i大於month時循環結束。
7.循環內部采用switch語句,當i為2時number加上february;當i為大月月份數時,number加上31;當i為小月月份數時,number加上30。
8.輸出number的值。
3.2.2 代碼
3.2.3 測試數據
3.2.4 PTA提交列表及說明
- Q1:邏輯運算符使用錯誤。
- A1:將&&改成||。
- Q2:對循環中i值的定義錯誤。
- Q2:在紙上列草稿后弄明白i應該從1算起,把原代碼中i=0改成i=1。
3.3 PTA題目3
根據活動經費和U盤單價預估可購買U盤的最大數量
3.3.1 算法分析
思路一:1.浮點定義經費money、單價price,整型定義數量num。
2.輸入money、price。
3.做除法結果賦值給num(並在結果補充精度0.000001)。
4.輸出num的值。
思路二:1.浮點定義經費money、單價price、數量number。
2.輸入money、price。
3.做除法運算,結果賦值給number。
4.用%.0f輸出number(考慮到會四舍五入本應在原有number的基礎上減去0.5但又考慮到精度缺陷於是在原有number的基礎上減去0.499999)。
3.3.2 代碼
代碼一:
代碼二:
3.3.3 測試數據
3.3.4 PTA提交列表及說明
- Q1:未考慮到浮點數精度缺陷問題導致部分分值拿不全。
- A1:在老師提醒后,在計算式末尾加上0.000001補充精度。
4.點評同學博客
點評一:
點評二:
點評三:
點評四:
點評五: