TCIRC 教學講義
===
>[name=張皓凱][time=Dec 3,2021]
###### tags:`tcirc` `社課` `台中一中電研社`
---
程式檢定與競賽介紹
===
[TOC]
---
## 程式目的
學習寫程式後的主要用途分成幾種:
* 開發
* 研究
* 競試
----
#### 開發
不論是寫網頁、做遊戲、做軟體、架伺服器等等都屬於這一類。
#### 研究
研究更快的演算法、AI的新model、或是利用程式來進行研究。
#### 競試
範圍比較狹隘就只有比賽跟檢定。
---
## 程式競賽
---
### 簡介
程式競賽指的是以程式能力作為評比的比賽,最常見的方法就是以解題為評斷標準。參加程式競賽的目的通常是獲得成就感、榮譽、獎金...(現實一點就是學習歷程會變好看)。
---
### 常見語言
除了特殊單一語言競賽,例如:專門比python的比賽,其他主流使用的語言有:
* C/C++(兩者會同時出現且9成以上的比賽都可以使用)
* python(廣泛度沒有C/C++高,大約只有5成左右的比賽可以使用)
* java(更少數的比賽能使用,大約1~2成,速度較慢、在競賽上不佔優勢)
---
### 常見環境
一般會提供linux作業系統的電腦,通常比賽官網都會有ISO檔供下載熟悉環境,可以下載後用VM Virtual box開來練習使用。而軟體的部分一般會對應到語言來給予使用:
* C/C++:Codeblocks(最常出現)、dev C++(偶爾出現)
* python:Python IDLE 2.7.15 or 3.6.7(版本會影響某些程式碼能否使用)
* java:Eclipse(也可以寫其他語言)
* vs/vscode 幾乎不會出現,因為太好用了
---
### 賽制
各題會有配分,有些題目會有子題,當該(子)題的所有測資都通過時,就可以得到該(子)題的分數。檢測方式為上傳至比賽的judge系統,系統會立即judge是否通過並計算得分。通常會有排行榜可以立即看到你及其他人現在的分數名次。不同的比賽會有不同的排名規則:一般都是看分數高分者為勝,同分時以先到達此分數者勝。但有些比賽會將送出次數也列入評比,每送出一次錯誤答案就會將到達此分數的時間加時。規則都會公布在比賽網站,一定要仔細閱讀。
---
### 神奇的傳統
通常組隊類型的比賽每答對一題就會在隊伍座位上增加一顆氣球。不要問為什麼,我也不知道🙃
---
## 程式檢定
檢定基本上概念與競賽相同,但檢定只要達到一定分數就會給予相對應的證書,不用與其他人競爭。所以相對的計分方式也會有所不同。
---
### 規則
各題會有配分,有些題目會有子題,當該(子)題的測資通過時(有些要全部通過,APCS是每個測資獨立計分),就可以得到該(子)題的分數。最後計算總分,並依總分給予相對應的等級。
---
## 國內高中等級競賽檢定
#### 競賽
* 3月 [TOI初選](https://toi-reg.csie.ntnu.edu.tw/)
* 7月 [YTP](https://www.tw-ytp.com/)
* 9月開始 學科能力競賽
* 10月 [青年程式設計競賽 (ISSC)](https://issc.csroc.org.tw/)
* 11月 [NPSC網際網路程式設計全國大賽](https://contest.cc.ntu.edu.tw/npsc2021/)
* 12月 [HP Codewars](https://www.hpcodewars.com.tw/)
* 3、4、5、10、11、12 月最後一週星期一 08:00 至星期五 20:00 [TOI練習賽](https://toi-reg.csie.ntnu.edu.tw/)
(TOI練習賽到今晚8點)
----
#### 檢定
* 一年大約3次,要一直關注網站 [APCS](https://apcs.csie.ntnu.edu.tw/)
* 一年二到三次 [TOI海選](https://toi.csie.ntnu.edu.tw/)
---
## 社內賽
---
### 簡介
社內賽的目的是為了讓社員們體驗程式競賽,並且對於社課的學習成果檢測。社內賽能寫就盡量寫,輕鬆玩玩就好,壓力不用太大,更不用專程準備。
---
### 賽制
本次社內賽一共有十題,每題100分,可能有子題,評分以judge系統為準,必須上傳才算數。最後成績計算以總分最高獲勝,同分已先到達分數者為勝,若兩人到達相同分數時間差小於一分鐘,則以送出次數較少者為勝。如果仍然相同,完全寫對較多題者勝。如果還是一樣那就並列同名。答對一題就會獲得一顆氣球🙃
---
### 獎勵
**榮譽卷**
* 第一名(一名):4張
* 第二名(一名):3張
* 第三名(一名):2張
* 第四名(一名):1張
* 首殺(一名):1張
{"metaMigratedAt":"2023-06-16T15:31:21.211Z","metaMigratedFrom":"YAML","title":"程式檢定與競賽介紹","breaks":true,"slideOptions":"{\"theme\":\"blood\",\"transition\":\"slide\"}","contributors":"[{\"id\":\"6a5475c5-bfd3-428c-9219-c760b9000deb\",\"add\":2283,\"del\":48},{\"id\":\"bd47cc0a-d3e4-4997-b042-3ae3230b8982\",\"add\":0,\"del\":12}]"}