看板 Gossiping 關於我們 聯絡資訊
※ 引述《Sidney0503 (Sidney0503)》之銘言: : ※ 引述《khfcgmbk (三毛兒)》之銘言: : : 剛剛我在交一個小朋友算數 : : 他覺得很奇怪為什麼要先乘除後加減 : : 我只能跟他解釋算出來答案會不一樣 : : 像是 : : 1+1x2=3 : : 而答案不是4 : : 但我也忘記當初老師怎麼解釋先乘除後加減了 : : 有沒有鄉民可以教我? : : ----- : : Sent from JPTT on my iPhone : 簡而言之 : 就跟他說因為自然數加法是abelian group的operator : 此operator存在加法單位元素0 即a+0=a 而且有交換性 即a+b = b+a : 乘法放進去是ring的第二operator : ring的定義是第二operator(*)對於第一operator(+)具有分配性 : 所以 a*(b+c)=a*b+a*c : 但是加法對乘法沒有分配律 因此如果加法沒有括號起來就沒有分配的另一個對象 : 所以a+(b*c) = a+ b*c : 也是一般所謂的乘法有優先權 : 很簡單吧 這篇回文寫得不錯,不過這次遇到的問題比較像是「為何定義這樣定?」 因此容敝魯再多補充一些,把細節講清楚,但略過部分的證明。 首先,因為 Ring 的定義本來就是從整數 Z 複製過來,然而 Z 又是從正整數 N 構造的, 因此本篇文主要回答在 N 上的「先乘(除)後加(減)」問題。 (知道 Z 是 N 的 quotient set 的,應該就知道敝魯的意思。 不知道的也沒關係,此非本篇重點) Step 1:正整數之定義與正整數上的運算 數學家當初發展集合論的時候,便想要把所有數學世界的物件都回歸集合,即使是最自然 存在的正整數也不例外。一般最耳熟能詳的正整數定義就是皮亞諾公理,在此用比較口語 化的方式來表述之。 Definition: (Peano Axioms) 正整數是一個集合 N,並且滿足以下五個條件。 a. N 裡面有一個數字 1 b. 存在一個「後繼函數」S: N → N,此時對每個 N 裡的數字 n,S(n) 稱作 n 的後繼者 c. 如果有兩個數滿足 S(m) = S(n),則 m = n (亦即 S 是 injective) d. 在 N 裡面,不存在任何數字 n 使得 S(n) = 1 (亦即 1 不落在 S(N) 裡面) e. 若有一個 N 的子集合 K 滿足以下兩點: (1) 1 在 K 裡面 (2) 如果數字 n 在 K 裡面,則 S(n) 也會在 K 裡面 則 K = N (亦即在 N 上可以作數學歸納法) 如果有鄉民現在看不懂,你可以先偷偷地把 S(n) 想成 n+1,這樣應該就全看懂了~ 上面的定義完全沒有觸及到正整數的運算,現在我們來定義加法。 Definition: (Addition on N) 我們定義一個二元運算 + 如下:給定一個正整數 n,定義 +: N x N → N (1,n) → S(n) (S(m),n) → S(+(m,n)) if +(m,n) is defined 根據皮亞諾公理的 e,此 + 的定義域成功擴展到 N x N,並將 + 稱作正整數上的加法 另外為了方便,我們將 +(m,n) 書寫成 m + n,因此 S(n) = 1 + n。 Theorem: (Properties of Addition) 以上定義的加法 + 滿足下列兩件事情。 a. 對任意的正整數 k, m, n,都有 (k + m) + n = k + (m + n) (亦即有結合率) b. 對任意的正整數 m, n,都有 m + n = n + m (亦即有交換率) 證明就是用數學歸納法來證就可以了,這留給有興趣的鄉民自己作作看。 我們定義的加法只有二元運算,也就是一次只能兩個數字加起來,遇到要加超過三個數字 就必須使用括號,告訴我們是誰先加誰後加。不過因為有結合率,先加後加沒有差別,因 此加法就省略括號了。 接著我們來定義乘法~ Definition: (Multiplication on N) 我們定義一個二元運算 * 如下:給定一個正整數 n,定義 *: N x N → N (1,n) → n (S(m),n) → *(m,n) + n if *(m,n) is defined 根據皮亞諾公理的 e,這個 * 的定義域擴展至 N x N,此時稱 * 為正整數上的乘法 為了方便,我們將 *(m,n) 書寫成 m*n,就是大家熟悉的乘法記號囉~ Theorem: (Properites of Multiplication) 以上定義的乘法 * 滿足下列三件事情。 a. 對任意的正整數 k, m, n,都有 (k*m)*n = k*(m*n) (亦即有結合率) b. 對任意的正整數 m, n,都有 m*n = n*m (亦即有交換率) c. 對任意的正整數 k, m, n,都有 (k+m)*n = (k*n)+(m*n) (亦即有乘法對加法 以及 k*(m+n) = (k*m)+(k*n) 的分配率) 這三條的證明同樣可以使用數學歸納法,此處省略之。 另因為乘法也是定義成二元運算,所以當我們要處理三個數字相乘時要使用括號告訴我們 誰先乘誰後乘。不過有了結合率後,我們也在這邊省略了括號了。 讀到這邊,各位應該可以發現其實上述定義其實也沒這麼神秘,因為加法就是照我們的常 識去定義的,乘法也是照我們所熟悉的「反覆累加」來定義,因此應該都算直觀 :) 記得有一位鄉民在原文有問「為何加法對乘法沒有分配率?」,相信這邊應該已經充分地 回答了他的問題了。(因為算一下就會發現沒有Q_Q) Step 2: 先乘(除)後加(減)?! 其實一切的根源都來自括號省略的問題,當一堆二元運算碰在一起的時候本來就要加上括 號來搞清楚操作的順序。目前我們知道加法連續操作跟乘法連續操作都可以分別省略括號 那問題當然就來自加法跟乘法的混合操作了,也就是 k+m*n 究竟應該代表 (k+m)*n 還是 k+(m*n) 呢? (能問出這種問題的小朋友蠻不錯的,有在動腦而不是死板的把知識吞下去) 我自己的認知也如同原文,是問題來自乘法對加法的分配率 首先,假設我們遇到下列這個算式 (x + y + z + w)*n 如果我們規定這種類型的算式(就是中間幾個加都可以)可以省略括號,變成 x + y + z + w*n 那究竟這個沒有括號的算式是代表下列哪一個算式呢? x + y + (z + w)*n x + (y + z + w)*n (x + y + z + w)*n 沒人知道,而且這三個答案很可能都完全不同,因為用分配率寫開來分別變成 x + y + (z*n) + (w*n) x + (y*n) + (z*n) + (w*n) (x*n) + (y*n) + (z*n) + (w*n) 這顯然是差多了,因此在這種情形下可以省略括號很容易帶來不必要的麻煩,所以此情形 我們約定不省略括號。 那麼,如果是下面這種算式 n + (x*y*z*w) 省略了括號會怎麼樣呢,變成 n + x*y*z*w 那會不會誤會成 (n + x)*y*z*w 呢?並不會,因為我們已經在前面約定好這種形狀我們是不省略括號的,如此一來 n + x*y*z*w 只會有一種意思了,就是 n + (x*y*z*w)。 那你可能會問說,其他的形狀呢?比如說 x*u + y*v + z*w 是從誰省略過來的呢?我們知道因為有分配率的緣故,因此如果原本算式長成 x*(u + y)*(v + z)*w or x*u + y*(v + z)*w 之類的,括號都不該省略。因此它只能是 (x*u) + (y*v) + (z*w),才不會造成岐義。 因此,這樣我們成功確立了「先乘(除)後加(減)」的合理性。 不過上面都沒講到減法跟除法呢,這是為何?因為在正整數 N 上沒辦法全域定義減法跟除 法,所以上面就先略過了。不過在有理數 Q 上就有全域的減法以及除法了,建構方法也是 從 Z 過去的,因此有分配率(詳情參考我快兩年前寫的一篇文,但那篇疑似消失了) 從這樣的觀點去看,就有「先乘除後加減」了~ 希望這篇文可以解決各個鄉民在前面討論的一些疑惑 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.43.82.250 ※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1518076948.A.972.html
juyac11: 你數學系 02/08 16:03
wife4D7: 推這篇 不然小二的姪子一直問都不知道怎麼回答 02/08 16:04
roea68roea68: 推 淺顯易懂 拿去教幼稚園總算每個小朋友都了解了 02/08 16:05
yyc210: 好懷念的東西.. 02/08 16:06
p25488148: 林北文組廢物 02/08 16:07
那你可以只看 Step 2
mayjan: 不錯 所謂走火入魔 就是這樣子 02/08 16:08
james114: 我怎麼覺得這幾篇完全沒解決到問題= = 02/08 16:08
cubegaga: 我幼稚園時我爸就這麼教我 我小學數學都考一百呢!! 02/08 16:09
hatephubbing: 太長@@ 02/08 16:09
mayjan: 別人是問如何向小朋友解釋 不是叫你賣弄自說自話 02/08 16:09
Step 2 還不夠白話的話我也沒辦法囉(攤手 ※ 編輯: CKLee (114.43.82.250), 02/08/2018 16:10:23
mayjan: 自以為學了專業 結果....如何向小朋友解釋 哈 不會 02/08 16:10
mayjan: 笑死人 把課本那套照說出來 誰不會? 是叫你向小朋友解釋 02/08 16:10
mayjan: 對 攤手的好 這就對了! 02/08 16:11
蝦?你家小朋友聽不懂 Step 2 怪我囉?課本最好會這樣解釋... ※ 編輯: CKLee (114.43.82.250), 02/08/2018 16:12:09
mayjan: 當自己有勇氣說 我不知道 就是一種勇氣! 02/08 16:11
ckbdfrst: 重點一句即可:★"先加後加沒有差別,因此就省略括號了" 02/08 16:11
y0707186: 糞 02/08 16:11
mayjan: 這文剛好反映台灣的教育 02/08 16:13
ckbdfrst: 要先加減後乖除也可以,加個括號就改變了 02/08 16:13
mayjan: 講的頭頭是道 02/08 16:13
ckbdfrst: 乘 哈 02/08 16:13
james114: 推文好憤怒啊,系列文不是笑笑就好?還憂國憂民了起來 02/08 16:16
wife4D7: 乘是怎麼打成乖的!? 02/08 16:19
m0428: 直接End,碼的,我以後出門不敢說我讀理組的 02/08 16:23
ujjgeok: 趕快推不然人家會以為我看不懂 02/08 16:49
storyo11413: 簡單講就是省略跨號的錯 小朋友不能直接跳簡寫式子 02/08 16:50
novman: 講人話 02/08 16:54
mqAUhz: 怎麼有人氣成這樣 02/08 16:55
vvrr: 原來如此……多個+ 1個* 的情形的確會不知道是什麼意思(筆記 02/08 17:05
muserFW: 這很白話了吧 怎麼有人那麼氣 02/08 17:09
SunnycurryJr: end 小學生昏倒了 02/08 17:37
a2768387: 我兒子也這樣想 02/08 17:54
jajypn: 我終於知道,大雄為甚麼,會考0分了.. 02/08 18:31
shownlin: 我小二姪子問我為什麼0沒有乘法反元素 02/08 18:38
ttff: 國小真的這樣教? 我是不是脫離國小太久了 02/08 19:09
vovovolibear: 我以後就這樣教小朋友 如果有啦 02/08 20:13
auraandy: 這篇比約定俗成那一篇更加的詳細解釋了為何是省略乘法的 02/09 00:40
auraandy: 括號,而不是加法,解釋的算清楚,基本上就是比較省略2種括 02/09 00:41
auraandy: 號所帶來的便利度,最後決定採用省略乘法的當作規定 02/09 00:41
jie0903415: 好喔 02/11 16:43