# [2020H401] 2020.7.2上課筆記 ## 今天課程重點 - 完成程式設計實習總複習 - C++教學:基本輸入與輸出複習 - C++教學:流程控制 if-else條件判斷式 - 撰寫期末專題[終極密碼] - C++教學:變數和基本型別 - 課程進度確認 ## 完成程式設計實習總複習 ### 8-1. 題目:輸入西元年份,判斷是否為閏年或平年 分析: 1. 讓使用者輸入一個數字,用int變數儲存 2. 判斷這個變數是否可以被 4 整除而且不能被 100 整除 或者 能被 400 整除 3. 若符合條件,則為潤年,否則為平年 ### 8-2. 題目:for 迴圈使用輸入數字 n,讓電腦自動從 1 開始加到 n,並顯示總合 分析: 1. 讓使用者輸入一個數字,用int變數儲存 2. 使用一個變數sum儲存總和 3. 使用一個for迴圈,i從1開始數, 數到使用者輸入的數字 4. 迴圈每回合,都拿目前總和跟i相加 5. 印出最後答案 ### 8-3. 題目:找出 1 到 100 之間,13 或 5 的倍數 分析: 1. 讓使用者輸入一個數字,用int變數儲存 2. 使用一個for迴圈,i從1開始數, 數到100 3. 迴圈每回合,判斷是不是13或5的倍數 4. 是的話,就印出來 ### 8-4. 題目:使用巢狀 for 迴圈(迴圈內還有迴圈),印出 5X4 星星矩陣 ``` ***** ***** ***** ***** ``` 分析: 使用巢狀迴圈處理 - 總共四行,所以外層迴圈跑四次 - 每行印五個*,內層迴圈跑五次 ### 8-5. 題目:巢狀 for 迴圈應用,印出星星金字塔。 ``` * *** ***** ******* ``` 分析: 使用巢狀迴圈處理 - 總共四行,所以外層迴圈跑四次 - 每一行是由空白跟*組成 - 空白從3個遞減到0個 (3-i) - *從1增加到7,每次+2 (2*i+1) ### 8-6. 題目:由使用者決定三角形底邊長度,由螢幕輸入一個星號構成等腰三角形 ``` * *** ***** ******* ``` 分析: 使用巢狀迴圈處理 - 使用者輸入一個n - 總共n/2+1行,所以外層迴圈跑n/2+1次 - 每一行是由空白跟*組成 - 空白從3個遞減到0個 (3-i) - *從1增加到7,每次+2 (2*i+1) ### 8-6. 題目:while 迴圈用法,印出數字 1 到 99。 - 使用變數i控制執行次數 - i<=99皆符合條件 ### 排列組合計算器 - 讓使用者輸入選項 - 用程式描述P的公式, C的公式 ### 九九乘法表 - 使用i, j控制迴圈 - 使用a, b當要輸出列印的變數 - i與a連動, j與b連動 - b要在正確時間歸正回1 ```C++ for (i=1;i<=9;i++){ for(j=1;j<=9;j++){ cout << a << "*"<< b <<endl; b++; } b=1; a++; } ``` ## 撰寫期末專題[終極密碼] 終極密碼專題分析 1. 每次都會隨機出一個最終答案(1~100) 2. 使用者每次可輸入一個數字 - 如果輸入數字等於最終答案:告知使用者答對,遊戲結束 - 如果數字大於最終答案:告知使用者答案介於目前範圍最小值~輸入數字之間,使用者繼續猜 - 如果數字小於最終答案:告知使用者答案介於輸入數字~目前範圍最大值之間,使用者繼續猜 - 使用者猜超出範圍的數字:提示使用者重新輸入 產生亂數的方法 ```C++ #include <iostream> #include <cstdlib> /* 亂數相關函數 */ #include <time.h> int main(){ /* 產生亂數 */ srand((unsigned)time(NULL)); int x = rand()%100; std::cout << "x = " << x << std::endl; return 0; } ``` ### 課程進度確認 1. 以下規劃為**最充足學習時間**來考量,若學習狀況良好,會提前進度教學,增加專題實作 2. 7/31會做一次學習狀況檢核討論 | 日期 | 課程進度 | 備註 | | -------- | -------- | -------- | | 6/18(Thr.) | [C++教學] 基本觀念、輸入與輸出 | OK | | 6/22(Mon.) | [C++教學] 變數與資料型態(一) | OK | | 7/2(Thr.) | [C++教學] 學期總複習練習 | OK | | 7/6(Mon.) | [C++教學] 流程指令及迴圈(一) | | | 7/13(Mon.) | [C++教學] 流程指令及迴圈(二) | | | 7/20(Mon.) | [C++教學] 陣列與指標(一) | | | 7/27(Mon.) | [C++教學] 陣列與指標(二) | | | 8/3(Mon.) | [C++教學] 函式 | | | 8/10(Mon.) | [C++教學] 結構與類別(一) | | | 8/17(Mon.) | [C++教學] 結構與類別(二) | | | 8/24(Mon.) | [C++教學] 綜合練習(一) | | | 8/31(Mon.) | [C++教學] 綜合練習(二) | | ###### tags: `H400大學家教` `C/C++ `
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up