2024-07-06|閱讀時間 ‧ 約 26 分鐘

備戰 APCS (1) -- 看看全局、看看題型、到底難不難?

我相信所有在看這篇的人

也許是緊張的父母、也許是身為高中生的你

回頭看看我自己的升學路程,我是多麼希望當時有 APCS

在繼續往下之前,不論你有沒有學過程式

我希望你先試著回答以下三個的題目

  1. 以下程式碼執行之後會在螢幕上出現 1,試問我要如何更動可以變成在螢幕上出現10?
int a = 1;
printf("%d\n", a);
  1. 這個程式碼執行之後會看到 6,想請問你如何解釋 sum = sum+3 這段程式碼
int sum = 0;
sum = 1 + 2;
sum = sum + 3;
printf("%d\n", sum);
  1. 以下程式碼會把 0, 2, 4, 6, 8 這五個數字加在一起,如果我想要把 1, 3, 5, 7, 9加在一起請問我要怎麼做?
int sum = 0;
for(int i=0; i<10; i = i+2){
sum = sum + i;
}
printf("%d", sum);

ok,如果看完這三個問題,你心裡面有種~恩~我不確定,但我好像知道怎麼改的感覺的話;恭喜你,你可能屬於對程式碼有感覺、對不懂的東西不害怕的那種人,這樣你會在學習的路上比別人輕鬆一點點點點

你如果看完的感覺是:『乾!我又沒學過,我怎麼可能會?!』那...ok...這是正常的反應,但是代表你可能需要比別人努力多一點點點點

------------------------------------------------------------------------------------------

即便過了將近有十年了

我其實多多少少還記得自己高二、高三時寫程式的能力

然後再看看 APCS 的題目,無論是觀念題還是實作題

平心而論...APCS 是給你展現誠意的考題、而非展現實力的地方

對!我沒說錯,它的程度真的只是在展現你有念資工系的誠意

這同時代表,他不難、而且很好準備

先看看觀念題

首先,我們要注意到,他通篇是用 C 語言考試

這代表,不用想了,要考 APCS 請熟讀 C 語言

我們再看他幾屆的考題我們也可以發現

所謂的觀念題,其實是 C 語言閱測+填空題

真正考到資訊科學的其他題目的機率是少之又少的

在此補充一下,資訊科學不等於C語言

資訊科學裡面還包含了硬體設計、系統設計、編譯器設計...等等

但是我們可以看到 APCS 並不考這些東西,或者所佔比例很小

這又再次說明了花時間練 C 語言的效益會比讀其他東西來的高

關於觀念題的部分,我想再提一個想法:

只要你夠會寫程式、基本上就一定會寫題目


再來看看實作題

說到實作,其實最重要的是環境語言

所謂環境是指現場它提供什麼作業系統、什麼IDE、什麼 Compiler 等等

在訓練的過程中如果可以與考試環境越一致越好

之前在玩程式競技的時候(類似 APCS 實作)

我一犯再犯的錯就是用自己的電腦練習、然後到那邊各種不習慣...

希望有心要把 APCS 的各位務必先暸解 APCS 實作當天的操作環境

如果周遭沒有人可以問,不妨先把第一次當作試水溫去了解一下細節

二來是語言,APCS 允許使用 C/C++, Java, Python

我自己的建議是,請使用C,尤其如果你是剛接觸程式而且天賦普通的高中生

如果你在閱讀這篇文章,你有80%的機會是天賦普通的高中生所以請使用C

我的原因是,其實不同語言有許多不同細節

但觀念題的語法和答案都是基於C得到的,所以如果你實作寫 Python

而觀念題要用 C 的想法去解題,其實有點拿石頭砸自己的腳

這時你可以會說 Python 比較方便或者它比較好用、比較好寫等等的

但是:

  • Python 的好無法彌補兩種語言切換所需的腦力
  • Python 的好,在這種等級的考題體現不出來

所以,以考試準備的策略而言,我會說...ㄣˋ...請乖乖學 C 語言

至於要去哪裡練手感呢?不妨去試試看 leetcode 之類的網站


回到我說 APCS 是一個展現誠意的考試這件事上

我為什麼會這樣說呢?我大概在國三升高一的暑假學會了基本的C

當時兩個月大概會寫各種質數判斷,能做一點自己覺得有趣的應用~

然後雖然我當時沒有練 Leetcode 但我很確定如果你能練 100-125 題 leetcode

不論簡單或難,你基本上就可以輕鬆拿下 APCS 這個考試

練100-125題要多少時間呢?快的話3-4個月;慢的話4-6個月

所以再加上我前面兩個月的時間,大概就是 5-8個月

而且這不是全力喔,上學期間我還是有跟著高一準備段考、資優班考試等等的

所以我才會說 APCS 是一個展現誠意的東西,因為正常人只要有心基本上可以在一個學期內拿下他


未來我會繼續寫 APCS 的準備方法,編輯一些講義跟題型,也會以 C 為主要的教學語言,如果覺得我寫得不錯,歡迎訂閱 APCS 文章



分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.