970 likes | 1.12k Views
程式設計 比賽選手訓練研討. 全國技藝競賽. 研習計劃. 簡介 (0.5hr). 97 年承辦學校為鳳山商工 http://203.72.197.222:8080/JContest/ 98 年承辦學校為三信商工 http://163.32.84.66/JContest/ 99 年承辦學校為松山高商 http://www.ssvs.tp.edu.tw/tw/index.html. 競賽規則. 參加人數 (20/49 、 25/60 、 32/75) ---10/75 金手獎 可運用時間 ( 術科 3 小時 ) 成績計算規則 術科佔 70%. 評分標準.
E N D
程式設計比賽選手訓練研討 全國技藝競賽
簡介(0.5hr) 97年承辦學校為鳳山商工 http://203.72.197.222:8080/JContest/ 98年承辦學校為三信商工 http://163.32.84.66/JContest/ 99年承辦學校為松山高商http://www.ssvs.tp.edu.tw/tw/index.html
競賽規則 • 參加人數(20/49、25/60、32/75) ---10/75金手獎 • 可運用時間(術科3小時) • 成績計算規則 • 術科佔70%
評分標準 • 術科程式正確性100%(每題分數不一)。 • 術科程式每題評分只有對與錯兩種,對則給滿分,錯則不給分(即以零分計算)。 • 以學、術科比例合計為個人總成績,依參賽者總成績高低決定名次。若總成績相同則以術科成績較高者為先,若術科成績仍相同,則依術科繳卷時間先者為先,若繳卷時間仍相同則依序比較配分較高題得分者為領先。
術科競賽方式 • 實地上機撰寫程式。 • 給予1 組測試資料檔案(包含輸入檔及其正確解答之輸出檔),格式為文字檔。 • 試卷中每一試題提供2 組測試資料及其正確解答以供學生測試用。
試題之輸出入資料均有其格式及範圍之要求,選手應依指定之格式及範圍作答。試題之輸出入資料均有其格式及範圍之要求,選手應依指定之格式及範圍作答。 • 執行檔執行時需直接讀取執行檔所在資料夾下的測試檔,並將其結果輸出至同一資料夾之輸出檔。(用vb2008的要注意了) • 程式執行過程中不可有任何介面出現。 • 程式設計結果各存1 份於硬碟及隨身碟中,並請勿關機。
歴屆選手參賽狀況研究 • 成績分佈 • 98成績 • 97成績 • 96成績 • 95成績 • 常見的狀況
題目趨勢分析 • 依年度 • 依題型 • 依解法 • …
準備策略(0.5hr) 學會第一招就有資格當選手 三招練熟全國技藝競賽名次在望 多觀摩勤練習構築金牌夢
學會第一招就有資格當選手 I 讀入資料檔案、輸出結果檔案 VB6 Open “輸入資料檔名.txt” For Input As #1 Input #1, 欄位1, 欄位2 …. Open “輸出結果檔名.txt” For Ouput As #2 Write #2, 欄位1, 欄位2 …. VB2008 只要會按「滑鼠右鍵」,系統會自動出現指令讓您選
學會第一招就有資格當選手 II • 讀入資料檔案、輸出結果檔案 • VB6 • Open App.Path & "/test1.txt" For Input As #1 • Open App.Path & "/result1.txt" For Output As #2
學會第一招就有資格當選手 III • 讀入資料檔案、輸出結果檔案 • VB2008(按滑鼠右鍵會自動產生) • Dim fileContents As String • fileContents = My.Computer.FileSystem.ReadAllText(Application.StartupPath & "\Test.txt“) • My.Computer.FileSystem.WriteAllText(Application.StartupPath & "\result.txt", temStr, False)
三招練熟全國技藝競賽名次在望 循序、選擇、迴路 所有題目的解題邏輯都是由這三個程式設計結構組成,熟練加活用後,解個三題基本題,已然名次在望。(96年因題目較簡單,要5題才有名次,95年術科解3題即可擠進前20名,解4題就有選手得到第11名,98年解3題即可得到優勝)
多觀摩勤練習構築金牌夢 善用資源,廣泛收集考題,多觀摩、勤練習,構築金牌夢
解題模式、解題技巧研討(1hr) 界定問題分析題目需求實作驗證答案的標準流程建立 簡化輸入資料、輸出結果動作 建立標準化的解題架構
標準解題架構 Input:讀取資料檔資料至參數中 Process:利用輸入的資料運用演算方法(比較、交換、排序、累加….),得到結果 Output:輸出結果
比賽常用解題技巧 • 查表 • 窮舉&篩選 • 遞迴 • 由3次(固定次數)推演至n次 比大小 交換 排序 搜尋 累加
比賽常見處理的資料類型 數字處理 文字處理 陣列處理 時間與集合資料型態資料是未來的出題方向?
演繹式的解題模式 • 取一組資料做出一組資料處理結果輸出結果至螢幕 • 改為二組資料 • 改為N組資料 • 套用讀入資料檔、輸出結果檔模式,完成解題
Divide-and-conquer • 分裂並各個擊破 • 將一個大問題切割成獨立的小問題來解決,且小問題與原先問題之解決方法是一樣的,差別只在於問題的大小
時間考量 • 術科180分鐘 • 每題可運用時間平均為22.5分鐘 • 應先掌握基本題,再花時間解評估需花20分鐘以上題目
相關的知識 • 相關的知識 • 基本資料結構及演算法概念 • 基本數學及統計學概念
選用VB2008參賽的優勢與注意事項(1hr) 使用非承辦單位提供之軟體,需於規定日期前將原版光碟寄達承辦單位,由承辦單位審查。 執行檔執行時需直接讀取執行檔所在資料夾下的測試檔,並將其結果輸出至同一資料夾之輸出檔。 以VB2008參賽的優缺點
窮舉法? • 缺點 • 電腦花較多的時間 • 優點 • 人花較少的腦力 • 比賽時,做得出來,就是好方法。 • 比賽評分標準的速度,指的是選手做出來的速度,不是電腦程式執行的速度
區域變數或全域變數? 善用副程式,但因程式小,可考慮使用全域變數,節省處理參數傳遞問題。
最令人擔心的題目? • 沒有人解的出來的題目 • 當少出一題看待 • 只有少數人解的出來的題目 • 總是要這樣,才方便產生前面名次吧! • 最令人擔心的題目 • 不難,但很花時間的題目 • 解這一題,但耗掉大部份時間,少做好幾題。 • 總是要有這樣的題目,才好區別榜上有名否
因數、質數題型 s96-1 (最大公約數12%) 6 s93-3 (歐基里德輾轉相除法) 5 s94-1 (程式設計分組14分) 8 s95-6 (Ugly Number的質因數問題10%) s93-7 (一個數值分解成兩質數和)