作者CKLee (嫩之使者)
看板Gossiping
標題Re: [問卦] 要如何向小朋友解釋”先乘除後加減”?
時間Thu Feb 8 16:02:26 2018
※ 引述《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://webptt.com/m.aspx?n=bbs/Gossiping/M.1518076948.A.972.html
1F:推 juyac11: 你數學系 02/08 16:03
2F:推 wife4D7: 推這篇 不然小二的姪子一直問都不知道怎麼回答 02/08 16:04
3F:→ roea68roea68: 推 淺顯易懂 拿去教幼稚園總算每個小朋友都了解了 02/08 16:05
4F:推 yyc210: 好懷念的東西.. 02/08 16:06
5F:噓 p25488148: 林北文組廢物 02/08 16:07
那你可以只看 Step 2
6F:→ mayjan: 不錯 所謂走火入魔 就是這樣子 02/08 16:08
7F:推 james114: 我怎麼覺得這幾篇完全沒解決到問題= = 02/08 16:08
8F:推 cubegaga: 我幼稚園時我爸就這麼教我 我小學數學都考一百呢!! 02/08 16:09
9F:推 hatephubbing: 太長@@ 02/08 16:09
10F:→ mayjan: 別人是問如何向小朋友解釋 不是叫你賣弄自說自話 02/08 16:09
Step 2 還不夠白話的話我也沒辦法囉(攤手
※ 編輯: CKLee (114.43.82.250), 02/08/2018 16:10:23
11F:→ mayjan: 自以為學了專業 結果....如何向小朋友解釋 哈 不會 02/08 16:10
12F:→ mayjan: 笑死人 把課本那套照說出來 誰不會? 是叫你向小朋友解釋 02/08 16:10
13F:→ mayjan: 對 攤手的好 這就對了! 02/08 16:11
蝦?你家小朋友聽不懂 Step 2 怪我囉?課本最好會這樣解釋...
※ 編輯: CKLee (114.43.82.250), 02/08/2018 16:12:09
14F:→ mayjan: 當自己有勇氣說 我不知道 就是一種勇氣! 02/08 16:11
15F:推 ckbdfrst: 重點一句即可:★"先加後加沒有差別,因此就省略括號了" 02/08 16:11
16F:推 y0707186: 糞 02/08 16:11
17F:→ mayjan: 這文剛好反映台灣的教育 02/08 16:13
18F:→ ckbdfrst: 要先加減後乖除也可以,加個括號就改變了 02/08 16:13
19F:→ mayjan: 講的頭頭是道 02/08 16:13
20F:→ ckbdfrst: 乘 哈 02/08 16:13
21F:推 james114: 推文好憤怒啊,系列文不是笑笑就好?還憂國憂民了起來 02/08 16:16
22F:→ wife4D7: 乘是怎麼打成乖的!? 02/08 16:19
23F:推 m0428: 直接End,碼的,我以後出門不敢說我讀理組的 02/08 16:23
24F:推 ujjgeok: 趕快推不然人家會以為我看不懂 02/08 16:49
25F:推 storyo11413: 簡單講就是省略跨號的錯 小朋友不能直接跳簡寫式子 02/08 16:50
26F:噓 novman: 講人話 02/08 16:54
27F:推 mqAUhz: 怎麼有人氣成這樣 02/08 16:55
28F:推 vvrr: 原來如此……多個+ 1個* 的情形的確會不知道是什麼意思(筆記 02/08 17:05
29F:推 muserFW: 這很白話了吧 怎麼有人那麼氣 02/08 17:09
30F:推 SunnycurryJr: end 小學生昏倒了 02/08 17:37
31F:噓 a2768387: 我兒子也這樣想 02/08 17:54
32F:推 jajypn: 我終於知道,大雄為甚麼,會考0分了.. 02/08 18:31
33F:推 shownlin: 我小二姪子問我為什麼0沒有乘法反元素 02/08 18:38
34F:→ ttff: 國小真的這樣教? 我是不是脫離國小太久了 02/08 19:09
35F:推 vovovolibear: 我以後就這樣教小朋友 如果有啦 02/08 20:13
36F:推 auraandy: 這篇比約定俗成那一篇更加的詳細解釋了為何是省略乘法的 02/09 00:40
37F:→ auraandy: 括號,而不是加法,解釋的算清楚,基本上就是比較省略2種括 02/09 00:41
38F:→ auraandy: 號所帶來的便利度,最後決定採用省略乘法的當作規定 02/09 00:41
39F:推 jie0903415: 好喔 02/11 16:43