問題 | 回答 |
---|---|
這個作業屬於那個課程 | C語言程序設計II |
這個作業要求在哪里 | C語言I博客作業04 |
我在這個課程的目標是 | 掌握使用for循環語句實現指定次數的循環程序設計 |
這個作業在那個具體方面幫助我實現目標 | 學會每條語句的正確所在位置是怎樣的,循環體的初始狀態和終止狀態的表達 |
參考文獻 | 《C語言程序設計》 循環結構 |
1.PTA實驗作業
1.1 求簡單交錯序列前N項和
本題要求編寫程序,計算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N項之和。
1.1.1數據處理
- 數據表達:變量i n,flag,用int定義而來整型,double定義一個雙精度浮點型變量sum
- 數據處理:關系運算符,賦值運算符,算術運算符;循環結構,順序結構。
1.1.2實驗代碼截圖
1.1.3 造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
20 | sum =0.827 | 小於50大於0 |
80 | sum =0.834 | 大於50 |
50 | sum=0.832 | 等於50 |
-1 | sum=0.000 | 小於0 |
1.1.4 PTA提交列表及說明
1.部分正確:i所處范圍錯誤,我誤認為i<=n;仔細審題后i應該是<=3*n-2。
2.部分正確:因為sum是浮點數變量,而且輸出需要保留小數所以在sum的關系式中應用(1.0/i) 而不是(1/i)。
3.運行超時:思考時間過長,未在規定時間完成本次提交。
4.部分正確:沒有考慮式子中的正負符號;添加了一個變量flag,用於得到正確的加減關系。
1.2 求平方與倒數序列的部分和.
本題要求對兩個正整數m和n(m≤n)編寫程序,計算序列和m2+1/m+(m+1)2+1/(m+1)+⋯+n^2+1/n。
1.2.1 數據處理
- 數據表達:用整型數據int定義變量m,n,用double數據定義雙精度浮點型變量sum
- 數據處理:關系運算符,賦值運算符,算術運算符;順序結構,循環結構。
1.2.2 實驗代碼截圖
1.2.3 造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
1 10 | sum=387.928968 | 0<n<10 |
5 20 | sum=2841.514406 | 10<n<20 |
1 50 | sum=42929.499205 | n=50 |
1 100 | sum=338355.187378 | n>50 |
1.2.4 PTA提交列表及說明
1.編譯錯誤:誤用中文符號“;”改成“ ;”
2.多種錯誤:有編譯錯誤與格式錯誤,所有符號檢查一遍並更正了。
3.格式錯誤:sum的=一邊空格一邊沒空格。
4.格式錯誤:初始條件之間應用“;”隔開
5.格式錯誤:“,”后面也應空格
6.答案正確.
2.代碼互評
同學代碼截圖
自己代碼截圖
1.同學的代碼中有注釋,能讓人更容易看懂。
2.關於變量定義,我是一次性定義完成,其它同學有分步驟的一次一次定義。
3.關於所存的系統文件,我只用了<stdio.h> 同學還用了<math.h>
4.在使用的結構中有同學使用的是while循環結構,我是用的for循環結構。
5.編譯符號中同學有使用pow等符號,我都是用的數學符號。
3.學習總結
3.1 學習進度條
周/日期 | 這周所花的時間 | 代碼行 | 學到的知識點簡介 | 目前比較迷惑的問題 |
---|---|---|---|---|
第三周10.9-10.12 | 兩天 | 188 | 對代碼數據的處理了解,比如類型結構等 | 什么時候用int,double聲明變量,邏輯運算符的運用等 |
第四周10.16-10.18 | 一天半 | 190 | 如何用double型數據使用lf%,怎樣在程序中用for語句實現循環,可指定循環次數 | 循環體中的關系表達式的正確運用 |
3.2 累積代碼行和博客字數
3.3 學習內容總結和感悟
3.3.1 學習內容總結
- 主要學習for 循環語句:for循環是編程語言中一種循環語句,而循環語句由循環體及循環的判定條件兩部分組成
- 語句最簡形式為:for( ; ; )需要注意的是for語句后面不要打“;”
具體代碼實例看下圖
3.3.2 學習體會
-
本周學習for循環語句,相比於之前來說似乎更容易接受所學的新知識。其原因不在於我們學習的東西變簡單而是我們在經過一定時間的練習后漸漸熟悉了代碼,漸漸熟悉編程,所以相對於之前遇到問題也不再那么焦慮而是可以冷靜清楚的找出問題所在,然后解決。
-
在編程過程中,真的一定要仔細認真的去編寫每一個字符,可能就是因為一不注意多空或少空個格就導致編譯錯誤,以至於程序無法運行。真的細節決定成敗。
-
學習過程中漸漸體會到了編程的樂趣,對學好這一專業也越來越有信心。