iT邦幫忙

2021 iThome 鐵人賽

DAY 19
2

前幾天在和有考過 APCS 的朋友聊天,才發現有一部分實作很強的同學事實上沒辦法看懂觀念題的題目,觀念題的級分甚至低於實作題。經過細談後才意識到,本來認為觀念題只要透過實作就可以考好的論點確實站不住腳。因此在這裡分享我在之後想到的實作題解題技巧以及練習方法,並點出一些在觀念題中要注意的事情。

觀念題解題技巧

  1. 嘗試猜測出題者的想法
    通常會出在觀念題中的題目通常都是在寫程式時常會混淆的觀念,利用程式碼的方式呈現出來。當看到題目沒有概念時,可以試著猜測這一題想要考的是哪一部分的觀念。除了可以利用觀念題的考試範圍去猜測外,利用選擇題的四個選項去猜測答案也是可以的(但請務必再確認一次答案)。

  2. 把自己當作無情的模擬機器
    APCS 觀念題的敘述都不多,但程式模擬題佔的比例相當高,要做好在整場考試中要花很多時間時間當個不能錯誤的人工電腦。若是想要考到五級分,必須要拿到 90% 以上的分數,而這代表著在 40 題中最多只能夠錯 4 題。但這樣還不夠,因為計分方式不是以一題 2.5 分,而是在考試前就選出 25 題,每題 4 分的方式計分(APCS 官網沒有說明但普遍認為是這樣),因此模擬的正確率顯得重要很多。

  3. 多用紙筆紀錄,專注在邏輯上
    程式模擬題不僅在所有題目的佔比高,也是最麻煩的題目。不僅需要自己從頭到尾模擬好幾遍才能找到答案,消耗的精力也不是普通的少,可以想像若把 50 題變成兩小時不中斷的考試會多累人。為了在模擬時提高效率,我們會把能夠紀錄的東西如變數、狀態等都記在紙上,不僅可以讓腦袋空出來,在模擬時也比較不會那麼累。若變數是矩陣可以直接畫出來,若有遞迴可以畫遞迴樹表示被呼叫到的函數有哪些、先後為何、回傳了什麼東西等等,寫起來會方便許多。

觀念題練習方法

  1. 多多看別人的程式
    在 APCS 觀念題會出現的程式風格大多都和自己的程式風格相差甚多,若是在考試前沒有熟悉過一遍的話會很吃力。除了直接找考古題練習看以外,個人建議直接訓練自己在短時間看懂理解不是自己寫的程式的能力。最好的辦法不外乎就是看同學寫的程式,不僅可以互相琢磨成長外,也能夠知道不同人寫出來的程式是怎麼樣的感覺,這樣的能力放在 APCS 觀念程式題的熟悉感會明顯提高。

  2. 了解 C 語言基本語法
    在 APCS 觀念題中所有程式都是使用 C 語言撰寫而成,因為我當時是主攻 C++ 為主,因此大部分的程式都很熟悉。但只有學過 Java 或是 Python 的話,沒有練習就看觀念題的程式速度會很慢,雖然個人推薦直接使用 C/C++ 練習即可,但至少要先在考試前讀懂所有 C 語言的基本語法及特性,否則考試中明明會的東西卻被語法混淆而飲恨,非常不值得。

  3. 務必熟悉函式/遞迴的觀念
    大多數人一開始在寫程式競賽時都不會使用函式等工具,導致對於函數的概念不清楚,而在 APCS 中的觀念題出現函式的比例非常高,更難搞的遞迴也會在其中。若是沒有把程式分成一個一個函式寫的同學,在考 APCS 前務必嘗試使用看看。同時在 APCS 考試中常會出現平常寫程式不會注意到的語法,無聊時也要多鑽研多實驗程式的不同寫法會有什麼結果。


觀念題考的題目非常關注在程式的邏輯上,想要讓錯誤率降低只能讓自己多多照著程式跑,養成看程式的習慣。若有任何遺漏或其他觀點也歡迎補充。


上一篇
18 程式競賽前中後準備實例 (NCPC 2021)
下一篇
20 APCS 系列文章食用姿勢
系列文
深入高中程式設計能力指標 APCS30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言