iT邦幫忙

2021 iThome 鐵人賽

DAY 12
1
自我挑戰組

深入高中程式設計能力指標 APCS系列 第 12

12 APCS 實作題考試技巧

在 APCS 歷屆考試下來,能夠拿到五級分的人數僅佔所有考生的 1~2%。光是程式設計能力好是不夠的,若要一次就能夠把五級分全部拿到,必須要在 150 分鐘內將四題全部答對,最多只能扣滿分 400 的 40 分。因此我和身邊的朋友搜集了如何在短時間拿到越多分數越好的技巧,在這裡整理給大家。

以下的技巧是針對想要考滿實作五級分的同學而設計,如果是初學者想要拿到三級分的部分可能沒辦法幫上忙喔。

  1. 務必先把四題都先理解完再下手

APCS 的實作題總共有四個題目,難度則是按照順序提升,題目敘述的複雜程度也會越來越高,而能不能夠把所有題目的分數都拿到,有很大一部分和時間有關。通常看完第一題時我們會覺得題目很簡單就直接開始寫,但有時寫第一題消耗的時間比想像中還要久,導致沒辦法把剩下的題目在時間內寫完。為了要適當的分配時間,非常建議先把題目都看完一遍再決定要先寫哪一題。困難的題目要不要先認真想解法?簡單的題目有沒有需要在後半段想後面題目解法時順便寫?這些都是在考試時需要注意的。

  1. 確實將演算法思考清楚

APCS 實作題是採後測制。也就是說,在考試結束前我們是沒辦法確切知道自己的分數。範例測資有時候很弱,不要以為範例測資過了就以為會 AC,要多多思考會有哪些極端的資料會讓自己的程式沒辦法順利運行。同時,不要因為題目太長而懶得看題目直接切入主題,通常這種想著僥倖得分的心態很容易在那一題什麼分數都沒有拿到,只是浪費了自己的時間。

在此提醒,APCS 考試不僅為後測制度,也會參考各位的程式是否真的能夠應付所有的狀況。或許在其他程式競賽中可以用猜題的方式得分,但在這裡是沒有用的。

  1. 善用且妥當分配時間

150 分鐘其實非常短。不僅比大部分其他比賽還要短,也不能攜帶任何參考資料入場考試,因此要更確實分析自己的實力和剩下的時間決定要寫哪些題目。在第 3、4 題會有根據資料範圍給分,因此就算當想不到拿滿分的解法,也要試著拿到最基礎的分數,因為有很多時候在寫這種程式的途中,就會想到滿分解法,就算沒有也至少可以拿一些分數。不要放棄任何能夠拿到的分數

  1. 請睡飽,並保持最高專注力

在程式競賽中,體力和專注度是非常重要的。為了不要在寫程式中渙散或是失去注意力,我們會用自己習慣的方式去打造自己的環境。像是我非常討厭在白底黑字的情況寫程式,因此我會去查詢如何在考 APCS 時能夠用自己習慣的視覺畫面寫;若想不到題目可以趁機去上廁所,因此也可以練習在上廁所時順便想題目解法的習慣。但在所有條件下,在考試時擁有專注力是最重要的,所以請大家在考試前務必將自己調整為最佳狀態。

  1. 使用暴力對拍法驗證困難題目

為了確認自己的演算法是否是正確的,我們可以使用暴力對拍法來驗證自己想出來的演算法是否正確。除了自己寫出來的程式外,可以寫一份雖然會TLE但絕對正確的暴力程式比對。配上自己想出來的極端測資,或許能夠找到自己程式的漏洞。


雖然個人沒有考過實作五級分,但在各種程式競賽也是通用的,當然也推薦多參加大大小小的程式競賽增加自己的經驗,避免自己在考試時手忙腳亂。


上一篇
11 手把手帶你安裝 APCS 虛擬環境
下一篇
13 高中競賽程式活動懶人包
系列文
深入高中程式設計能力指標 APCS30

尚未有邦友留言

立即登入留言