# 競技程式 ###### tags: `講義` 僑光科技大學 資訊科技系 授課老師:[高吉隆](http://rs2.ocu.edu.tw/~kevin/) 電子信箱:[kevinkao888@gmail.com](mailto://kevinkao888@gmail.com) 上課日期:108/02/20 ~ 108/06/19 上課時間:星期三 15:10 ~ 17:00 --- ## 課程大綱 * C++語法複習 * CPE 練習 Part1(迴圈) * CPE 練習 Part2(陣列) * CPE 練習 Part3(函數) * CPE 練習 Part2(結構) * 程式能力檢測為教學目標 * 參加CPE考試可以答對題目,並且提升程式能力 ---- | 週| 上課日期 | 前 9 週上課目標 | 備註 |:-:|:---------:|------------|:--: | 1 | 108/02/20 |課程說明| | 2 | 108/02/27 |C++語法複習| | 3 | 108/03/06 |CPE Part1(迴圈)1| | 4 | 108/03/13 |CPE Part1(迴圈)2| | 5 | 108/03/20 |CPE Part1(迴圈)3| | 6 | 108/03/27 |CPE Part2(陣列)1|小考10% | 7 | 108/04/03 |CPE Part2(陣列)2| | 8 | 108/04/10 |CPE Part2(陣列)3|小考10% | 9 | 108/04/17 |期中測驗|15% ---- | 週 | 上課日期 | 後 9 週上課目標 | 備註 |:--:|:----------:| --------------- |:--: | 10 | 108/04/24 | CPE Part3(函數)1 | | 11 | 108/05/01 | CPE Part3(函數)2 | | 12 | 108/05/08 | CPE Part4(結構)1 | | 13 | 108/05/15 | CPE Part4(結構)2 | | 14 | 108/05/22 | CPE Part4(結構)3 |考試10% | 15 | 108/05/29 | CPE Part5(指標)1 | | 16 | 108/06/05 | CPE Part5(指標)2 | | 17 | 108/06/12 | CPE考試複習 |平時10% | 18 | 108/06/19 | 準備CPE考試 |30% ---- ### 課程評分方式 * 平時成績:30% (上課互動+二次小考) * 上課互動:10% (10次點名) * 第一次小考:10% (108/03/27) * 第二次小考:10% (108/04/10) * 期中成績:15% (108/04/15) * 考試範圍:C#程式基礎 物件導向 * 期末成績:40% (期末報告) * 第三次小考:10% (108/05/22) 函數、結構、指標 * 期末考:30% (108/06/17) CPT考試 ---- #### 第一次作業 * 依回答題數1-26題平均配分至60-100分 * 未回答任何1題者為50分,平均70分 ![](https://i.imgur.com/rJUVKFF.png) ---- #### 第一次小考 * 依回答題數2-10題平均配分至30-100分 * 未回答任何1題者為20分,平均70分 ![](https://i.imgur.com/wjMEMr2.png) ---- #### 期中考 * 依回答題數1-7題平均配分至55-90分 * 平均77分 ![](https://i.imgur.com/YsCq5kp.png) ---- #### 第二次小考 * 滿分100分,每錯1題扣4分 * 平均70分,最高分100分,最低分40分 ![](https://i.imgur.com/8dFmHZy.png) ---- #### 第三次小考 * 滿分100分,每錯1題扣4分(後來改為3分) * 平均77分(不含缺考),最高分100分,最低分52分 ![](https://i.imgur.com/p3XXh5V.png) ---- ### CPE 大學程式能力檢定考 * CPE網址:[https://cpe.cse.nsysu.edu.tw/](https://cpe.cse.nsysu.edu.tw/) * CPE大學程式能力檢定應考策略:[連結](https://docs.google.com/presentation/d/1zglun7KO-0hyeB0BqV_nX5rcfOt8ZsOHDMhQHNQyxyw/embed?start=false&loop=false&delayms=3000&slide=id.g33e499e9c_095) * 瘋狂程設:[http://coding-frenzy.arping.me/](http://coding-frenzy.arping.me/) * 程式下載:[瘋狂程設](http://coding-frenzy.arping.me/sites/coding-frenzy.arping.me/CodingFrenzy@coding-frenzy.arping.me.zip)、[MinGW](https://osdn.net/frs/redir.php?m=nchc&f=mingw%2F68260%2Fmingw-get-setup.exe) * 解壓縮至根目錄:C:\或D:\ * 執行主程式:CodingFrenzy.exe * 同意以下各授權規定 * 訪客直接登入:預設為程式練習廣場 * 選擇第01關:變數與計算 * 選擇題號:A001 HelloWorld * 選擇練習:進入回答視窗 ---- ### 編譯器使用MinGW * 官方網址:[http://www.mingw.org/](http://www.mingw.org/) * 下載網址:[連結](https://osdn.net/frs/redir.php?m=nchc&f=mingw%2F68260%2Fmingw-get-setup.exe) * 執行:mingw-get-setup.exe |![](https://i.imgur.com/8qE0o0o.png)|![](https://i.imgur.com/3Xalrwv.png)| |:-:|:-:| |Step1: 請按Install|Step2: 請按Continue| ---- |![](https://i.imgur.com/16GGDxM.png)|![](https://i.imgur.com/6MJWxaM.png)| |:-:|:-:| |Step3: 請按Continue|Step4: 請選擇C++| ---- |![](https://i.imgur.com/hcbWZ5i.png)|![](https://i.imgur.com/kwbosxg.png)| |:-:|:-:| |Step5: 請按Apply Changes|Step6: 請選擇Apply| ---- ### 瘋狂程設題目:A001 HelloWorld(C) * 題目資料:請在命令視窗中印出 "Hello World!"。 * 選擇編譯器:MinGW * 撰寫main函數: ```cpp #include<stdio.h> int main() { printf("Hello World!"); return 0; } ``` ---- ### 瘋狂程設題目:A001 HelloWorld(C++) * 題目資料:請在命令視窗中印出 "Hello World!"。 * 選擇編譯器:MinGW * 撰寫main函數: ```cpp #include<iostream> using namespace std; int main() { cout << "Hello World!"; return 0; } ``` ---- ### 瘋狂程設題目:A001 HelloWorld(C#) * 題目資料:請在命令視窗中印出 "Hello World!"。 * 選擇編譯器:MSCS * 撰寫main函數: ```csharp= using System; namespace HelloWorld { class Hello { static void Main() { Console.Write("Hello World!"); } } } ``` ---- ### 瘋狂程設題目:A001 HelloWorld(VB) * 題目資料:請在命令視窗中印出 "Hello World!"。 * 選擇編譯器:MSVB 2.0.50727 * 撰寫main函數: ```csharp= Module Program Sub Main() Console.Write("Hello World!") End Sub End Module ``` --- ### 瘋狂程設 - 註冊帳號 * 輸入電子信箱:按取得帳號金鑰 * 收信:開通帳號 ![](https://i.imgur.com/LoERSCR.png) ---- ### 瘋狂程設 - 登入帳號 ![](https://i.imgur.com/HJhjRDm.png) ---- ### 瘋狂程設 - 使用方式 * 選擇程式練習廣場 * 選擇關卡:第01關變數與計算 * 選擇題目:練習(已有紀錄)或挑戰(標記金牌) * 練習:部分有解題說明、可以上網查資料 * 挑戰:完全自行完成程式,不可以上網 * 選擇編譯器:MinGW * 編譯測試:使用自訂測試資料 * 批改交卷:通過或不通過 * 更新畫面:按F5 ---- ![](https://i.imgur.com/8UpBsKG.png) ---- ![](https://i.imgur.com/iGcmrIn.png) ---- * 第01關變數與計算 * (A003) 攝氏轉華氏 : 輸入攝氏溫度,輸出華氏溫度。(華式F)=(攝氏C)*9/5+32,小數部分請無條件捨去。 ```cpp= #include<stdio.h> int main() { int c, f; scanf("%d", &c); f = (int) c * 9 / 5 + 32; printf("C=\nF=%d", f); return 0; } ``` --- ## 資訊週程式競賽練習 * 競賽日期:05/14(二)09:00 ~ 13:00 * 兩人為1組報名,回答5題程式題目 * 加分方式:只要答對1題,程式競技學期總分加2分,最多加10分 * 加分會按比例加至期末、平時成績、學期調分 * Dev-C++:[下載](https://sourceforge.net/projects/orwelldevcpp/) * 題目:[連結](https://www.ocu.tw/pdf/question.pdf) ---- ## 資訊週程式競賽規則: * 每組使用兩台電腦,組員間可以低聲討論,並以不妨礙他人為原則。 * 競賽過程中網路一律斷線,且禁止使用手機、隨身碟。 * 每題均以「通過」及「不通過」作業評審方式。檢驗是否通過係以數筆測試資料進行測試,必須每組測試資料執行結果都正確才算通過。 * 競賽各組成績以答對題數為主,題數相同者以答題花費總時間較少者為優勝。 * 每題作答完成可舉手請求確認及檢測,但檢測如答案錯誤,則需另行增加20分鐘計算在總花費時間中。 ---- ## CPE 大學程式能力檢定 * 報名日期:05/14(二)14:25~05/24(五)18:00 * 考試日期:05/28(二)17:30~21:40 * 考試地點:逢甲大學資訊電機館 * 本次考試至少有一題選自[一顆星選集](https://cpe.cse.nsysu.edu.tw/environment.php#starList) * 加分方式:只要答對1題,程式競技學期總分加5分,最多加10分 * 加分會按比例加至期末、平時成績、學期調分 * UVA考題(100~1999):[UVA Online Judge1](https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=1&limit=50&limitstart=0) * UVA考題(10000~):[UVA Online Judge2](https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=2) * 中文題目、依條件快速搜尋:[LuckyCat](http://luckycat.kshs.kh.edu.tw/) * 參考解答:[KnightZone](https://knightzone.studio/%E8%A7%A3%E9%A1%8C%E7%A8%8B%E5%BC%8F%E7%A2%BC/) ---- ||題目|英文||| |:-:|:-:|:-:|:-:|:-:| |1|Vito's family|[10041](https://uva.onlinejudge.org/external/100/p10041.pdf)|[中文](http://luckycat.kshs.kh.edu.tw/homework/q10041.htm)|[連結](https://knightzone.studio/2012/03/18/1510/uva%EF%BC%9A10041%EF%BC%8Dvitos-family/) |2|Hashmat the<br>brave warrior|[10055](https://uva.onlinejudge.org/external/100/p10055.pdf)|[中文](http://luckycat.kshs.kh.edu.tw/homework/q10055.htm)|[連結](https://knightzone.studio/2011/11/29/1233/uva%EF%BC%9A10055%EF%BC%8Dhashmat-the-brave-warrior/) |3|Primary Arithmetic|[10035](https://uva.onlinejudge.org/external/100/p10035.pdf)|[中文](http://luckycat.kshs.kh.edu.tw/homework/q10035.htm)|[連結](https://knightzone.studio/2011/11/29/1227/uva%EF%BC%9A10035%EF%BC%8Dprimary-arithmetic/) |4|The 3n + 1 problem|[100](https://uva.onlinejudge.org/external/1/p100.pdf)|[中文](http://luckycat.kshs.kh.edu.tw/homework/q100.htm)|[連結](https://knightzone.studio/2011/11/24/1182/uva%EF%BC%9A100%EF%BC%8Dthe-3n-1-problem/) |5|You can say 11|[10929](https://uva.onlinejudge.org/external/109/p10929.pdf)|[中文](http://luckycat.kshs.kh.edu.tw/homework/q10929.htm)|[連結](https://knightzone.studio/2012/03/31/1594/uva%EF%BC%9A10929%EF%BC%8Dyou-can-say-11/) |6|Bangla Numbers|[10101](https://uva.onlinejudge.org/external/101/p10101.pdf)||[連結](https://knightzone.studio/2012/08/01/1789/uva%EF%BC%9A10101%EF%BC%8Dbangla-numbers/) |7|List of Conquests|[10420](https://uva.onlinejudge.org/external/104/p10420.pdf)||[連結](https://knightzone.studio/2015/01/02/2570/uva%EF%BC%9A10420%EF%BC%8Dlist-of-conquests/) ---- ||題目|英文||| |:-:|:-:|:-:|:-:|:-:| |8|What's Cryptanalysis?|[10008](https://uva.onlinejudge.org/external/100/p10008.pdf)|[中文](http://luckycat.kshs.kh.edu.tw/homework/q10008.htm)|[連結](https://knightzone.studio/2012/03/16/1489/uva%EF%BC%9A10008%EF%BC%8Dwhats-cryptanalysis/) |9|Decode the Mad man|[10222](https://uva.onlinejudge.org/external/102/p10222.pdf)|[中文](http://luckycat.kshs.kh.edu.tw/homework/q10222.htm)|[連結](https://knightzone.studio/2011/12/01/1256/uva%EF%BC%9A10222%EF%BC%8Ddecode-the-mad-man/) |10|Summing Digits|[11332](https://uva.onlinejudge.org/external/113/p11332.pdf)|[中文](http://luckycat.kshs.kh.edu.tw/homework/q11332.htm)|[連結](https://knightzone.studio/2012/09/17/1900/uva%EF%BC%9A11332%EF%BC%8Dsumming-digits/) |11|Common Permutation|[10252](https://uva.onlinejudge.org/external/102/p10252.pdf)||[連結](https://knightzone.studio/2015/01/15/2679/uva%EF%BC%9A10252%EF%BC%8Dcommon-permutation/) |12|Rotating Sentences|[490](https://uva.onlinejudge.org/external/4/p490.pdf)|[中文](http://luckycat.kshs.kh.edu.tw/homework/q490.htm)|[連結](https://knightzone.studio/2014/12/29/2468/uva%EF%BC%9A490%EF%BC%8Drotating-sentences/) |13|TeX Quotes|[272](https://uva.onlinejudge.org/external/2/p272.pdf)|[中文](http://luckycat.kshs.kh.edu.tw/homework/q272.htm)|[連結](https://knightzone.studio/2011/11/25/1187/uva%EF%BC%9A272%EF%BC%8Dtex-quotes/) ---- ||題目|英文|中文|解答| |:-:|:-:|:-:|:-:|:-:| |14|Doom's Day Algo.|[12019](https://uva.onlinejudge.org/external/120/p12019.pdf)|[中文](http://luckycat.kshs.kh.edu.tw/homework/q12019.htm)|[連結](https://knightzone.studio/2012/07/15/1756/uva%EF%BC%9A12019%EF%BC%8Ddooms-day-algorithm/) |15|Jolly Jumpers|[10038](https://uva.onlinejudge.org/external/100/p10038.pdf)|[中文](http://luckycat.kshs.kh.edu.tw/homework/q10038.htm)|[連結](https://knightzone.studio/2011/11/29/1230/uva%EF%BC%9A10038%EF%BC%8Djolly-jumpers/) |16|What is the Prob.|[10056](https://uva.onlinejudge.org/external/100/p10056.pdf)|[中文](http://luckycat.kshs.kh.edu.tw/homework/q10056.htm)| |17|Hotel Infinite Rooms|[10170](https://uva.onlinejudge.org/external/101/p10170.pdf)|[中文](http://luckycat.kshs.kh.edu.tw/homework/q10170.htm)|[連結](https://knightzone.studio/2018/09/26/3621/uva%EF%BC%9A10170%EF%BC%8Dthe-hotel-with-infinite-rooms/) |18|498’|[10268](https://uva.onlinejudge.org/external/102/p10268.pdf)|[中文](http://luckycat.kshs.kh.edu.tw/homework/q10268.htm)| |19|Odd Sum|[10783](https://uva.onlinejudge.org/external/107/p10783.pdf)|[中文](http://luckycat.kshs.kh.edu.tw/homework/q10783.htm)|[連結](https://knightzone.studio/2012/01/17/1317/uva%EF%BC%9A10783%EF%BC%8Dodd-sum/) |20|Beat the Spread!|[10812](https://uva.onlinejudge.org/external/108/p10812.pdf)|[中文](http://luckycat.kshs.kh.edu.tw/homework/q10812.htm)|[連結](https://knightzone.studio/2012/05/09/1739/uva%EF%BC%9A10812%EF%BC%8Dbeat-the-spread/)