歡迎來到算術運算!
你好!今天,我們將探討電腦是如何處理數學運算的。你可能會想:「我已經會做數學題了!」沒錯,你是對的——但電腦擁有一些特殊的數字處理方式,能讓程式設計變得更強大。無論你是正在製作一個簡單的計算機,還是一個大型電子遊戲,這些算術運算都是你每天都會用到的基礎。如果像「模運算 (modulo)」這樣的術語剛開始聽起來很陌生,別擔心;看完這些筆記,你就能像專業人士一樣熟練運用它們了!
1. 基礎運算:加法、減法與乘法
程式設計中的大多數數學運算與你在學校學到的完全一樣。不過,我們會使用特定的符號(稱為運算子 (operators))來告訴電腦該做什麼。
加法 (+) 與減法 (-)
這些運算的運作方式完全符合你的預期。你可以進行整數 (integers) 或小數 (實數/real numbers) 的加減運算。
範例:\( 5 + 3 = 8 \) 或 \( 10.5 - 2.5 = 8.0 \)
乘法 (*)
在程式設計中,我們不使用「x」來表示乘法,因為電腦可能會把它當成字母。相反,我們使用星號符號 (\( * \))。
範例:\( 4 * 3 = 12 \)
快速回顧:
+ 代表加法
- 代表減法
* 代表乘法
2. 三種除法方式
這是電腦科學最有趣的地方!在 AQA 課程大綱中,你需要掌握三種不同的除法。根據你想要的運算結果,你需要選擇不同的運算子。
實數除法 (Real Division, /)
這是「一般」的除法。它會給你完整的答案,包括小數點。我們使用正斜線符號。
範例:\( 11 / 2 = 5.5 \)
整數除法 (Integer Division, DIV)
有時候,你只需要知道一個數裡面包含多少個完整的另一個數。整數除法(通常寫作 DIV)會完全忽略餘數和小數部分。它實際上會將結果「無條件捨去」至最接近的整數。
範例:\( 11 \text{ DIV } 2 = 5 \)
餘數運算或模運算 (Remainder / Modulo, MOD)
如果你只關心剩下多少怎麼辦?模運算(通常寫作 MOD,在某些語言中由 \( % \) 符號表示)只會給你除法後的餘數。
範例:\( 11 \text{ MOD } 2 = 1 \) (因為 11 除以 2 商為 5,餘數為 1)。
重點總結:實數除法得到「精確」答案,DIV 得到整數部分,而 MOD 得到餘數部分。
3. 比薩類比(理解 DIV 與 MOD)
如果你覺得 DIV 和 MOD 很混淆,想想比薩派對吧!
想像你有 11 片比薩和 2 位非常飢餓的朋友。你想公平起見,給每個人相同數量的完整比薩片。
1. DIV:每個人能得到多少完整比薩片?他們每人得到 5 片完整比薩。\( 11 \text{ DIV } 2 = 5 \)。
2. MOD:分給每個人 5 片後,盒子裡還剩幾片?還剩 1 片。\( 11 \text{ MOD } 2 = 1 \)。
3. 實數除法 (/):如果你是完美主義者,把最後一片切成兩半,讓每個人拿到的總量完全一樣?每個人會得到 5.5 片。\( 11 / 2 = 5.5 \)。
4. 逐步教學:如何計算 DIV 與 MOD
當你遇到像 \( 17 \text{ DIV } 3 \) 和 \( 17 \text{ MOD } 3 \) 這樣的問題時,請按照以下步驟操作:
1. 第一步:在心裡或紙上做除法。3 進到 17 裡面幾次而不超過它?(3, 6, 9, 12, 15... 再來 18 就超過了!)
2. 第二步:答案是 5。所以,\( 17 \text{ DIV } 3 = 5 \)。
3. 第三步:將你的答案乘回去:\( 5 * 3 = 15 \)。
4. 第四步:找出你的目標數字 (17) 和該數字 (15) 之間的差額。\( 17 - 15 = 2 \)。
5. 第五步:這個差額就是你的餘數。所以,\( 17 \text{ MOD } 3 = 2 \)。
你知道嗎?
程式設計師經常使用 MOD 來檢查一個數字是奇數還是偶數。如果 \( \text{Number MOD } 2 \) 等於 0,那麼該數就是偶數。如果等於 1,該數就是奇數!
5. 應避免的常見錯誤
1. 混淆 / 與 DIV:
記住,/ 用於小數(實數除法),而 DIV 僅用於整數。如果考題要求「真實/實數 (real)」結果,請務必使用正斜線!
2. 忘記餘數:
在 DIV 中,我們不會四捨五入。即使答案是 5.999,\( \text{Integer Division} \) 的結果依然是 5,因為它只計算已完成的完整組別。
總結檢查清單
在繼續學習之前,請確保你能回答以下問題:
- 我能認出加法、減法和乘法的符號嗎?(+, -, *)
- 我知道實數除法 (/) 包含小數嗎?
- 我能解釋整數除法 (DIV) 只給出整數部分嗎?
- 我能解釋餘數/模運算 (MOD) 只給出餘數部分嗎?
- 我能計算簡單數字的 DIV 和 MOD 嗎?
如果剛開始覺得這些有點棘手,別擔心!只要你多練習使用這些運算子撰寫小程式,你會發現它們越來越順手。祝你編程愉快!