高級語言程序設計課程第四次個人作業
這個作業屬于哪個課程:https://edu.cnblogs.com/campus/fzu/gjyycx
這個作業要求在哪里: https://edu.cnblogs.com/campus/fzu/gjyycx/homework/14577
學號:102500336
姓名:林陳帥
-
運行以下程序給出程序結果(無需代碼,截圖程序輸出結果,如有錯誤可自行修改)
![捕獲]()
![捕獲1]()
-
程序設計
-
用while和do while分別設計程序實現:用公式π/4=1-1/3+1/5-1/7+1/9+...求π的近似值,直到某一項的絕對值小于10-4為止,對兩個程序的不同之處進行討論。
![聯想截圖_20251104142551]()
![聯想截圖_20251104142819]()
![聯想截圖_20251104142836]()
不同之處:while是先判斷再執行,do while是先執行再判斷,do while循環至少會進行一次 -
設計一個程序,實現功能:邏輯表達式中的運算符,只有會影響表達式求值時,才會執行。
![聯想截圖_20251104164529]()
![聯想截圖_20251104164545]()
-
用for循環輸出六行,第一行有FEDCBA,第二行是FEDCB,第三行是FEDC....,以此類推。
![聯想截圖_20251104143649]()
![聯想截圖_20251104143705]()
-
編程輸入n, 計算s=1+(1+2)+(1+2+3)+…+(1+2+3+4+…n)。
![聯想截圖_20251104144545]()
![聯想截圖_20251104144556]()
-
用for循環給一組整型類型的數組進行賦值,輸出,以及求和,數組長度為8。
![聯想截圖_20251104145402]()
![聯想截圖_20251104145423]()
-
設計一個if和else的多分支程序(分支數目大于3),該多分支程序再用switch語句進行改寫,同時設計一個使用條件運算符(?:)的雙分支語句。
![聯想截圖_20251104150913]()
![聯想截圖_20251104150938]()
![聯想截圖_20251104151959]()
![聯想截圖_20251104152035]()
-
設計一個循環程序,再循環中用break和continue語句,實現不同的程序效果,給出結果并討論。
![image]()
![image]()
break會使程序退出當前循環,continue會使程序直接進入下一個循環的條件判斷 -
設計一個程序求100~200間的全部素數,給出算法思想、傳統流程圖、程序NS流程圖。
算法思想:
1)定義一個函數,先判斷數能否被2整除,再判斷能否被其他不大于該數的開平方的奇數整除,上述兩個條件滿足其一就立即返回0,否則遍歷因數結束后返回1
2)用一個for循環遍歷100到200的所有數
3)將函數的返回值作為if的判斷條件,如果返回值為真則輸出該數,反之不輸出
傳統流程圖
開始
↓
初始化:n=100
↓
n ≤ 200? → 否 → 結束
↓是
n是偶數? → 是 → 函數返回0 → 不輸出 → n++
↓否
i = 3;i ≤ √n? → 否 → 判斷結束 → 函數返回1 → 輸出n → n++
↑ ↓是
↑ n能被i整除? → 是 → 函數返回0 → 不輸出 → n++
↑ ↓否
i=i+2
NS流程圖
+-----------------------+
| judge(int n) |
+-----------------------+
| i = 3 |
+-----------------------+
| if n % 2 == 0 |
| +-----+-----------+ |
| | 真 | 假 | |
| +-----+-----------+ |
| |return 0|繼續執行 | |
| +-----+-----------+ |
+-----------------------+
| for i <= sqrt(n) |
| +-----------------+ |
| | if n % i == 0 | |
| | +-----+-------+ | |
| | | 真 | 假 | | |
| | +-----+-------+ | |
| | |return 0|i+=2 | | |
| | +-----+-------+ | |
| +-----------------+ |
+-----------------------+
| return 1 |
+-----------------------+
+-----------------------+
| main() |
+-----------------------+
| n = 100 |
+-----------------------+
| for n <= 200 |
| +-----------------+ |
| | 調用 judge(n) | |
| +-----------------+ |
| | if judge(n)==1 | |
| | +-----+-------+ | |
| | | 真 | 假 | | |
| | +-----+-------+ | |
| | |打印n| | | |
| | +-----+-------+ | |
| +-----------------+ |
| n++ |
+-----------------------+
| return 0 |
+-----------------------+
-
編寫并運行書本第6章6.16編程練習題目中的第1,5,7,10,13,16,18題。
6.16 - 1
![image]()
![image]()
6.16 - 5
![image]()
![image]()
6.16 - 7
![image]()
![image]()
6.16 - 10
![image]()
![image]()
6.16 - 13
![image]()
![image]()
6.16 - 16
![image]()
![image]()
6.16 - 18
![image]()
![image]()
-
編寫并運行書本第7章7.12編程練習題目中的第1,2,4~5,7題。
7.12 - 1
![image]()
![image]()
7.12 - 2
![image]()
![image]()
7.12 - 4,5
![image]()
![image]()
![image]()
7.12 - 7
![image]()
![image]()
![image]()
總結: 本次作業讓我鞏固了分支結構(if-else/switch)和循環結構(while/for/do while)的運用,讓我體會到了上述結構在具體運用過程中的細節和選擇策略。
思考: 對于這些控制語句在實際程序中的書寫,例如循環和分支的嵌套,需要在設計程序時先精確把握程序的邏輯,再寫出來就不至于邏輯混亂或者寫到一半卡殼。











































浙公網安備 33010602011771號