有兩個非常簡單的數學問題請教各位。 1. 為什麼運算時要先乘除後加減? 2. 為什麼正正得正,正負得負,負正得負,負負得正?
是不是因為我們對那些符號(e.g. +-*/)的定義就是如此?
人們一般不會反思這個問題,因為習以為常。在人們習以為常處發現問題,是智慧的開端。
1 先乘除後加減完全是一種運算符號的約定,是為了減少使用括號。在邏輯學上也有類似的約定,例如規定「否定」必定是最先進行的運算,這樣當給定表達式~p ∧ q時,便可知這是~p與q的「合取」(而非對p ∧ q的否定),而無須寫成(~p) ∧ q。
2 從某個角度看,「正正得正,正負得負,負正得負,負負得正」是一種「單調性」推理的表現。「正運算」保留其後論元的方向,「負運算」使其後論元的方向變相反。因此把「正」作用於「負」時,它保留「負」的方向,故仍然是「負」;但把「負」作用於「負」時,它使「負」的方向變相反,故得「正」。我不知這樣算不算「解釋」這個現象,或者這只是從另一個角度「描寫」這個現象。
可真要回答的話卻不容易。
未看,先行謝謝兩位。
家發兄, 你答的是為什麼要有次序約定, 但他問的(或許是) 為什麼要選擇某個次序約定, 例如為什麼不是先加減後乘除呢?
有某些約定是有道理可言的, 例如把零次方(冪) 定為 1 是要保待運算上的一貫性.但有些約定有沒有道理可言就不得而知. 例如, 為什麼階乘(Factorial) 比冪 (Exponent) 優先?
Reading maketh a full man, conference a ready man, and writing an exact man. --- Francis Bacon
「正正得正」應不難理解。
「正負得負」可這樣理解:負數表示欠缺,欠缺的倍數依然是欠缺。假如我身無分文,還欠別人100元,我的財產就是 -100,後來我的欠債增加了5倍,我就欠別人500元,我的財產就是 -500,5x(-100)= -500. 即正負得負。
「負正得負」也可這樣理解,在乘法中先後次序不重要。
用歸謬法。
假設正負得正,即mx(-n)=mn 兩邊同消去m,得 -n=n 這自相矛盾,則原假設不成立, 所以,正負得負。
有了「正負得負」,就可以證明「負負得正」:
假設負負得負,即(-m)x(-n)= -(mn) 由於正負得負,即-mxn= -(mn) 則,(-m)x(-n)= -mxn 兩邊同消去-m,得 -n=n 這自相矛盾,則原假設不成立, 所以,負負得正。
[quote=張海澎]
[/quote]
如果假設正負得正,就算得出-n=n,也不是矛盾
因為-n含-( +n),跟據正負得正,-( +n)=n
即 -n=-( +n)=n
這樣好像有竊取論點?
且不理,張海澎的證明再推一步,兩邊約去n,-1=1為不合理應該可以了吧?
我猜,在古代人們發明除法時,常常出現P X Q+R的表達式,為了減少括號的使用(甚至還未發明括號?),便約定「先乘除後加減」。
又猜:古代市場出現「M個蘋果+N個橙」的次數比起「K個『蘋果加橙』套餐」多得多,自然約定了「先乘除後加減」。
阿牛, 你把家發的意思重新說一次吧; 這好比當人問你為什麼要買 iphone 4 時, 你就回答為什麼要買手機.
但我亦可說, 因此, "自然" 約定了先加減後乘除
正如我在前指出的,先乘除後加減是一種為了減少使用括號的約定,至於為何要約定「先乘除後加減」而非「先加減後乘除」,這是因為前一種運算較後一種運算常用。
中學時學到的「多項式」就是「先乘除後加減」運算的例子,2x2 + 3x就是(2 × x × x) + (3 × x),由於有「先乘除後加減」的約定,所以可以略去括號不寫(當然這裡還有把x × x寫成x2以及把3 × x寫成3x的約定)。把「多項式」擴展至無窮多項相加,我們便有「無窮級數」。
在高等代數中,也會研究「連乘積」,這就是「先加減後乘除」運算的例子,例如(a + a + c) × (a + b + c)就是一個「連乘積」。如果有「先加減後乘除」的約定,這裡的括號也可略去不寫。把「連乘積」擴展至無窮多項相乘,我們便有「無窮乘積」。
相信大家都不會不承認,「多項式」和「無窮級數」遠比「連乘積」和「無窮乘積」常用,由此可見「先乘除後加減」此一約定是出於一種實際考慮。
邏輯學上也有類似「多項式」和「連乘積」的例子,這就是「析取範式」和「合取範式」。前者的例子如(p ∧ q) ∨ (r ∧ q),後者的例子如(p ∨ q) ∧ (r ∨ q)。由於「析取範式」和「合取範式」幾乎同等常用,所以在邏輯學上一般沒有「∨」和「∧」哪一個算子更優先的約定。
如果乘除比加減次序優先是基於使用率較高的話, 那為什麼階乘(Factorial) 比冪 (Exponent) 次序優先? 階乘(Factorial) 的使用率不見得比次方 (Exponent) 高,加減法就更加不用說.
這是否意味著有另一些原則標準是沒有交待的 ?
即 -n=-( +n)=n //
這樣做是竊取論點,現在要證明的是"正負是否得正"?
不可以用未證明的結論來作支持.
那為什麼階乘(Factorial) 比冪 (Exponent) 次序優先?
http://mathworld.wolfram.com/Precedence.html
如果說-n=n是錯的話,就等於直接說正負得正是錯的.
正負得正可以這樣理解: 正負=正
正與負無論跟n還是跟1也不相干.
為何約了負不是負,是正?
在約減這一步就運用了負負得正,但這是違反了前提的假設
跟據假設,正負得正的話,負負得負,正正得負,負正得正.
即mx(-n)=mn 兩邊同消去m,正正得負,得 -n=-n 這不自相矛盾,假設成立, 所以,正負得正。
海彭兄正正用了未證明的結論 "負負得正"作推論.
不過撇開上述問題,有一點可以肯定的是,階乘的確優先於乘除,而階乘絕對不比乘除常用。由此我同意阿瑾的說法,這裡的確還有另一些原則標準。
我想階乘(以及冪)之所以優先於乘除,是因為階乘(以及冪)是使用「前/後置式記法」(即把運算符放在論元之前/之後)的一元運算,而乘除則是使用「中置式記法」(即把運算符放在論元中間)的二元運算。人們似乎習慣於以前/後置式記法優先於中置式記法,例如以下網頁 http://www.mcwdn.org/Algebra/MultPosNeg.html 便把-5 * 3理解成-5的3倍(而非5*3的負數),這裡5之前的"-"號是一元「負」運算,而不是二元「減」運算,所以優先於乘。請注意如要表達5*3的負數,必須用括號,寫成-(5*3)。
這種推理通常是推出「明顯矛盾」的部分,讓大家憑賦能判斷為錯的。看來還不夠明顯。
設正正得負,即m x n=-(m x n),其中m,n>0
m x n =-(m x n)
=> m x n=-1x m x n
=> 1=-1 (兩邊約去m、n)
=> 2=0 (兩邊加1──其實加別的數都可以)
明顯矛盾, 故前提「正正得負」錯誤。
這樣可以了吧^^
---------------------------------------------------------------------------------------------
又,由-n=n出發也可以。
-n=n
=> 2n=0(兩邊加n)
=> n=0,與前提n>0矛盾,故此前提「正負得負」錯誤。
P.S.「負負得負」等反證也是類似。
家發兄回應了,說得比我更清楚,我就不獻醜了。^^
//如果假設正負得正,就算得出-n=n,也不是矛盾 因為-n含-( +n),跟據正負得正,-( +n)=n 即 -n=-( +n)=n //
這恰恰表明正負得正隱含著矛盾,歸謬法就是將這個不明顯的矛盾揭示出來。
//海彭兄正正用了未證明的結論 "負負得正"作推論.//
不是這樣。 我要證明的是「正負得負」,因此我假設「正負得正」,並沒有用未證明的結論「負負得正」作推論。
我是用了「正負得正」作推論,但這並沒有問題,因為它正是我們所假設為真的。
如果我是用「正負得負」作推論,那就有問題,因為那正正是有待證明的。
階乘與冪次序同等之言論是錯的.
同等的先決條件是, 即使不規約運算次序, 即使不用括號, 也不會影響運算結果. 例如, (3 * 4 ) /2 等於 3* (4 / 2).
現舉一例, 3 的 2 次方是 9, 而9的階乘是362,880; 3 的階乘是6; 6 的 2 次方是 36.
我相信正反運算才是同等的, 例如開方與次方.
當我說階乘與冪同等優先時,並非指兩種運算可以調換次序,而只是說,當這兩種用後置式記法表達的運算並排出現而沒有括弧時,應先進行位置靠左的運算。例如,23!便代表先做冪3運算,後做階乘,而2!3則代表先做階乘,後做冪3運算。當然如果寫成23!,則由於「!」縮了上去,這相當於把3!置於括弧中,則另作別論。
其實如果採用波蘭邏輯學家Lukasiewicz發明的前置式記法,那麼四則運算式子便可以完全不用括弧而不致產生歧義。在這種記法下,應先做位置靠右的運算,例如+3,×2,6便代表先做乘法,後做加法,這相當於3 + (2 × 6);而×+3,2,6便代表先做加法,後做乘法,這相當於(3 + 2) × 6。
在Lukasiewicz的前置式記法下,加減乘除變成同等優先,即使加減與乘除不能調換位置。
你說的 「前 / 後/ 中 置式記法」 是按運算符位置作定準, 還是按 arity 數目作準? 還是其他呢?在波蘭前置式記法下, 二元和一元運算也是前置的. 那我推想你是以位置作定準, 而不是又沒有交待另一些標準吧.如此看來, 的次方是採用中置式記法.
按你的 "運算符位置說", 前(後)置 比 中置 優先. 所以, 是先做階乘, 才做次方 (冪).
可是, 按你剛剛提出的 "同等優先說", 階乘與冪是同等的. 理應從左至右解讀. 所以, 是先做次方(冪), 才做階乘.
或許你說, 在這裡, 階乘與冪都不是同時使用後置式記法, 或說它們不是"並排"等等, 根本不符合"同等優先說"的準則. 那麼, 是否意味著階乘與冪並非同等優先? 自相衝突?
或許你說, 是準則不適用的問題, 不是不符合的問題. 那麼, 是否意味著一開始這個 "同等優先說"的準則根本有問題, 不能作恰當的判定?
那麼你又如何分析cos2x!中,cos、二次冪和階乘的優先次序?
最近,我對第二條問題有一個新(或只是較為完整)的看法, 過幾天待我組織好,再提出來與各位討論。
人們一般不會反思這個問題,因為習以為常。在人們習以為常處發現問題,是智慧的開端。
1 先乘除後加減完全是一種運算符號的約定,是為了減少使用括號。在邏輯學上也有類似的約定,例如規定「否定」必定是最先進行的運算,這樣當給定表達式~p ∧ q時,便可知這是~p與q的「合取」(而非對p ∧ q的否定),而無須寫成(~p) ∧ q。
2 從某個角度看,「正正得正,正負得負,負正得負,負負得正」是一種「單調性」推理的表現。「正運算」保留其後論元的方向,「負運算」使其後論元的方向變相反。因此把「正」作用於「負」時,它保留「負」的方向,故仍然是「負」;但把「負」作用於「負」時,它使「負」的方向變相反,故得「正」。我不知這樣算不算「解釋」這個現象,或者這只是從另一個角度「描寫」這個現象。
可真要回答的話卻不容易。
未看,先行謝謝兩位。
家發兄, 你答的是為什麼要有次序約定, 但他問的(或許是) 為什麼要選擇某個次序約定, 例如為什麼不是先加減後乘除呢?
有某些約定是有道理可言的, 例如把零次方(冪) 定為 1 是要保待運算上的一貫性.但有些約定有沒有道理可言就不得而知. 例如, 為什麼階乘(Factorial) 比冪 (Exponent) 優先?
Reading maketh a full man, conference a ready man, and writing an exact man. --- Francis Bacon
「正正得正」應不難理解。
「正負得負」可這樣理解:負數表示欠缺,欠缺的倍數依然是欠缺。假如我身無分文,還欠別人100元,我的財產就是 -100,後來我的欠債增加了5倍,我就欠別人500元,我的財產就是 -500,5x(-100)= -500. 即正負得負。
「負正得負」也可這樣理解,在乘法中先後次序不重要。
用歸謬法。
假設正負得正,即mx(-n)=mn
兩邊同消去m,得
-n=n
這自相矛盾,則原假設不成立,
所以,正負得負。
有了「正負得負」,就可以證明「負負得正」:
假設負負得負,即(-m)x(-n)= -(mn)
由於正負得負,即-mxn= -(mn)
則,(-m)x(-n)= -mxn
兩邊同消去-m,得
-n=n
這自相矛盾,則原假設不成立,
所以,負負得正。
[quote=張海澎]
用歸謬法。
假設正負得正,即mx(-n)=mn
兩邊同消去m,得
-n=n
這自相矛盾,則原假設不成立,
所以,正負得負。
[/quote]
如果假設正負得正,就算得出-n=n,也不是矛盾
因為-n含-( +n),跟據正負得正,-( +n)=n
即 -n=-( +n)=n
用歸謬法。
假設正負得正,即mx(-n)=mn
兩邊同消去m,得
-n=n
這自相矛盾,則原假設不成立,
所以,正負得負。
如果假設正負得正,就算得出-n=n,也不是矛盾
因為-n含-( +n),跟據正負得正,-( +n)=n
即 -n=-( +n)=n
這樣好像有竊取論點?
且不理,張海澎的證明再推一步,兩邊約去n,-1=1為不合理應該可以了吧?
家發兄, 你答的是為什麼要有次序約定, 但他問的(或許是) 為什麼要選擇某個次序約定, 例如為什麼不是先加減後乘除呢?
我猜,在古代人們發明除法時,常常出現P X Q+R的表達式,為了減少括號的使用(甚至還未發明括號?),便約定「先乘除後加減」。
又猜:古代市場出現「M個蘋果+N個橙」的次數比起「K個『蘋果加橙』套餐」多得多,自然約定了「先乘除後加減」。
我猜,在古代人們發明除法時,常常出現P X Q+R的表達式,為了減少括號的使用(甚至還未發明括號?),便約定「先乘除後加減」。
阿牛, 你把家發的意思重新說一次吧; 這好比當人問你為什麼要買 iphone 4 時, 你就回答為什麼要買手機.
但我亦可說, 因此, "自然" 約定了先加減後乘除
Reading maketh a full man, conference a ready man, and writing an exact man. --- Francis Bacon
正如我在前指出的,先乘除後加減是一種為了減少使用括號的約定,至於為何要約定「先乘除後加減」而非「先加減後乘除」,這是因為前一種運算較後一種運算常用。
中學時學到的「多項式」就是「先乘除後加減」運算的例子,2x2 + 3x就是(2 × x × x) + (3 × x),由於有「先乘除後加減」的約定,所以可以略去括號不寫(當然這裡還有把x × x寫成x2以及把3 × x寫成3x的約定)。把「多項式」擴展至無窮多項相加,我們便有「無窮級數」。
在高等代數中,也會研究「連乘積」,這就是「先加減後乘除」運算的例子,例如(a + a + c) × (a + b + c)就是一個「連乘積」。如果有「先加減後乘除」的約定,這裡的括號也可略去不寫。把「連乘積」擴展至無窮多項相乘,我們便有「無窮乘積」。
相信大家都不會不承認,「多項式」和「無窮級數」遠比「連乘積」和「無窮乘積」常用,由此可見「先乘除後加減」此一約定是出於一種實際考慮。
邏輯學上也有類似「多項式」和「連乘積」的例子,這就是「析取範式」和「合取範式」。前者的例子如(p ∧ q) ∨ (r ∧ q),後者的例子如(p ∨ q) ∧ (r ∨ q)。由於「析取範式」和「合取範式」幾乎同等常用,所以在邏輯學上一般沒有「∨」和「∧」哪一個算子更優先的約定。
如果乘除比加減次序優先是基於使用率較高的話, 那為什麼階乘(Factorial) 比冪 (Exponent) 次序優先? 階乘(Factorial) 的使用率不見得比次方 (Exponent) 高,加減法就更加不用說.
這是否意味著有另一些原則標準是沒有交待的 ?
Reading maketh a full man, conference a ready man, and writing an exact man. --- Francis Bacon
因為-n含-( +n),跟據正負得正,-( +n)=n
即 -n=-( +n)=n //
這樣做是竊取論點,現在要證明的是"正負是否得正"?
不可以用未證明的結論來作支持.
那為什麼階乘(Factorial) 比冪 (Exponent) 次序優先?
我不清楚「階乘」是否比「冪」優先,可否舉個例子?
http://mathworld.wolfram.com/Precedence.html
Reading maketh a full man, conference a ready man, and writing an exact man. --- Francis Bacon
這樣好像有竊取論點?
且不理,張海澎的證明再推一步,兩邊約去n,-1=1為不合理應該可以了吧?
如果說-n=n是錯的話,就等於直接說正負得正是錯的.
正負得正可以這樣理解: 正負=正
正與負無論跟n還是跟1也不相干.
為何約了負不是負,是正?
在約減這一步就運用了負負得正,但這是違反了前提的假設
跟據假設,正負得正的話,負負得負,正正得負,負正得正.
即mx(-n)=mn
兩邊同消去m,正正得負,得
-n=-n
這不自相矛盾,假設成立,
所以,正負得正。
因為-n含-( +n),跟據正負得正,-( +n)=n
即 -n=-( +n)=n //
這樣做是竊取論點,現在要證明的是"正負是否得正"?
不可以用未證明的結論來作支持.
海彭兄正正用了未證明的結論 "負負得正"作推論.
http://mathworld.wolfram.com/Precedence.html
單從上面網頁看不到階乘優先於冪的實例,反倒是以下維基網頁
http://en.wikipedia.org/wiki/Order_of_operations
卻有一個實例說明階乘與冪同等。這個網頁說23! = (23)!,由此可見階乘並不優先於冪,而是與冪同等。
不過撇開上述問題,有一點可以肯定的是,階乘的確優先於乘除,而階乘絕對不比乘除常用。由此我同意阿瑾的說法,這裡的確還有另一些原則標準。
我想階乘(以及冪)之所以優先於乘除,是因為階乘(以及冪)是使用「前/後置式記法」(即把運算符放在論元之前/之後)的一元運算,而乘除則是使用「中置式記法」(即把運算符放在論元中間)的二元運算。人們似乎習慣於以前/後置式記法優先於中置式記法,例如以下網頁
http://www.mcwdn.org/Algebra/MultPosNeg.html
便把-5 * 3理解成-5的3倍(而非5*3的負數),這裡5之前的"-"號是一元「負」運算,而不是二元「減」運算,所以優先於乘。請注意如要表達5*3的負數,必須用括號,寫成-(5*3)。
這種推理通常是推出「明顯矛盾」的部分,讓大家憑賦能判斷為錯的。看來還不夠明顯。
設正正得負,即m x n=-(m x n),其中m,n>0
m x n =-(m x n)
=> m x n=-1x m x n
=> 1=-1 (兩邊約去m、n)
=> 2=0 (兩邊加1──其實加別的數都可以)
明顯矛盾, 故前提「正正得負」錯誤。
這樣可以了吧^^
---------------------------------------------------------------------------------------------
又,由-n=n出發也可以。
-n=n
=> 2n=0(兩邊加n)
=> n=0,與前提n>0矛盾,故此前提「正負得負」錯誤。
P.S.「負負得負」等反證也是類似。
家發兄回應了,說得比我更清楚,我就不獻醜了。^^
//如果假設正負得正,就算得出-n=n,也不是矛盾
因為-n含-( +n),跟據正負得正,-( +n)=n
即 -n=-( +n)=n //
這恰恰表明正負得正隱含著矛盾,歸謬法就是將這個不明顯的矛盾揭示出來。
//海彭兄正正用了未證明的結論 "負負得正"作推論.//
不是這樣。
我要證明的是「正負得負」,因此我假設「正負得正」,並沒有用未證明的結論「負負得正」作推論。
我是用了「正負得正」作推論,但這並沒有問題,因為它正是我們所假設為真的。
如果我是用「正負得負」作推論,那就有問題,因為那正正是有待證明的。
單從上面網頁看不到階乘優先於冪的實例,反倒是以下維基網頁
http://en.wikipedia.org/wiki/Order_of_operations
卻有一個實例說明階乘與冪同等。這個網頁說23! = (23)!,由此可見階乘並不優先於冪,而是與冪同等。
階乘與冪次序同等之言論是錯的.
同等的先決條件是, 即使不規約運算次序, 即使不用括號, 也不會影響運算結果. 例如, (3 * 4 ) /2 等於 3* (4 / 2).
現舉一例, 3 的 2 次方是 9, 而9的階乘是362,880;
3 的階乘是6; 6 的 2 次方是 36.
我相信正反運算才是同等的, 例如開方與次方.
Reading maketh a full man, conference a ready man, and writing an exact man. --- Francis Bacon
當我說階乘與冪同等優先時,並非指兩種運算可以調換次序,而只是說,當這兩種用後置式記法表達的運算並排出現而沒有括弧時,應先進行位置靠左的運算。例如,23!便代表先做冪3運算,後做階乘,而2!3則代表先做階乘,後做冪3運算。當然如果寫成23!,則由於「!」縮了上去,這相當於把3!置於括弧中,則另作別論。
其實如果採用波蘭邏輯學家Lukasiewicz發明的前置式記法,那麼四則運算式子便可以完全不用括弧而不致產生歧義。在這種記法下,應先做位置靠右的運算,例如+3,×2,6便代表先做乘法,後做加法,這相當於3 + (2 × 6);而×+3,2,6便代表先做加法,後做乘法,這相當於(3 + 2) × 6。
在Lukasiewicz的前置式記法下,加減乘除變成同等優先,即使加減與乘除不能調換位置。
你說的 「前 / 後/ 中 置式記法」 是按運算符位置作定準, 還是按 arity 數目作準? 還是其他呢?在波蘭前置式記法下, 二元和一元運算也是前置的. 那我推想你是以位置作定準, 而不是又沒有交待另一些標準吧.如此看來,
的次方是採用中置式記法.
按你的 "運算符位置說", 前(後)置 比 中置 優先.
是先做階乘, 才做次方 (冪).
所以,
可是, 按你剛剛提出的 "同等優先說", 階乘與冪是同等的. 理應從左至右解讀.
是先做次方(冪), 才做階乘.
所以,
或許你說, 在這裡, 階乘與冪都不是同時使用後置式記法, 或說它們不是"並排"等等, 根本不符合"同等優先說"的準則. 那麼, 是否意味著階乘與冪並非同等優先? 自相衝突?
或許你說, 是準則不適用的問題, 不是不符合的問題. 那麼, 是否意味著一開始這個 "同等優先說"的準則根本有問題, 不能作恰當的判定?
Reading maketh a full man, conference a ready man, and writing an exact man. --- Francis Bacon
那麼你又如何分析cos2x!中,cos、二次冪和階乘的優先次序?
最近,我對第二條問題有一個新(或只是較為完整)的看法,
過幾天待我組織好,再提出來與各位討論。