2010年5月1日 星期六

我還能為大家做點甚麼?

我還能為大家做點甚麼?


曾慶潭 Ching-Tang Tseng
ilikeforth@gmail.com
Hamilton, New Zealand
2 May 2010


春去秋來,歲月如流,已經步入了可以回憶的年齡,也有資格自問:『我還能為大家做點甚麼?』了。我只是一個非常平凡的人,一生過得平淡無奇,對一切事務永遠抱著希望,一直覺得書還沒讀完,識還沒學完,事還沒做完。該屬於自己的東西很足夠了,該享受的事物也很足夠了,該付出貢獻給大眾的則還不夠,所以,這幾天才有此自問。

民國 78 年,我才 38 歲就退休了,令眾人詫異,但沒有人會為我設想未來,從那時起,20 年後的事情必須自己打算,也就是今天要如何過日子?得自行安排,幸好這20年來沒有空白,努力的自謀生活。退休當年,曾親身經歷了兩件令我終身難忘的事情,兩個非常熟識的同學,表達了令人嘆為觀止的理念,我無言以對,並警戒自己絕對不能步入那種境地。

當時,兩個女兒都還在唸小學,學校裡辦運動會,家長都奉陪參加,難免就遇上了同學。一位剛從美國取得博士學位的同學,見了面就批評我,看到我退休解職的公文,問我怎麼那麼笨?他以堅定的口吻告訴我,基本上,他唸完博士之後,就把所有的書都丟掉了,因為不需要再讀書。他認為我笨,是因為我們都吃公家的飯,薪資永遠只會增加不會減少,那時,包括星期例假日,每天躺著幹、睡覺、鬼混都能賺到一台冰箱,往後還有將近27年才非退休不可,現在為什麼笨到想自謀生活? 27 乘上 365 等於 9855 ,將近一萬台冰箱,我都莫名其妙的放棄了。您認為呢?請不要認為我言過其實,去年,回台見到更親近、進取、曾經一起奮鬥過的好同學,他告訴我,有許多已經『妖化成形』的同學,實現了這樣的構想。

退休不久之後的一個晚上,另外一個剛從美國麻省理工學院,取得博士學位的同學來訪了,見了面也不介意有我內人在場,直接要求我必須告訴他,在我原工作單位內的升官發財之道,他自認為一直忙於唸到博士,此前無暇競爭官位,讓我這個已經當了幾年單位主管的人獲得好處,現在他是最高級歸國學人,應該要取得這些權力了。他的思考模式令我哭笑不得,實在對不上話,談到後來,口氣僵硬到直接指責我有私通管道,退休沒用了還不肯全盤交出透露給他,有違同學倫理,將來會愧對大家。見到這種光景,內人連茶水都懶得端上,最後不歡而散,女兒那時年紀還小,見過此事後,到現在都還印象深刻,實在糟糕。但是,今天我感到會愧對大家的一件事,就是自己始終沒有能力導正社會風氣,其他事情都不慚愧。

正確的人生觀很重要,影響一個人一生的作為,可是想言簡意賅的以話語描述,卻也並不容易。有一次在晚餐的飯桌上,我們關心的與女兒聊她們的交友情況,她們同時提到,幾個女同學對一個男同學有所非議,因為有人問這位男同學,為什麼大學要選讀電子工程系?他竟然回答,他爸爸說唸這個科系將來可以賺大錢,真是『何必曰利』,他不知道從此以後,女同學都對他的念頭感到噁心!

小女兒以聯想方式問我,想唸醫學院的人要經過入學口試,如果被問到為什麼想讀醫學系時,該如何回答?我告訴她不論唸那一個科系,該回答的都應該是『以天下興亡為己任』,不幸,兩個女兒所受中文教育都不足,一時聽不懂何謂『以天下興亡為己任』?我費了一番口舌,曉以大義。為人父母,該當如此,可是,我相信普天之下,已經有許多父母,忘了該教導子女如此了吧?我在這裡提醒大家,這句話並不是一個想唸醫學院入學口試時很好用的標準答案,而是一個終身都該牢記的觀念,不讀大學各司其職時也要如此,這才是正確的終身抱負。

我還記得15年前移民的前幾天,我將一台影印機贈送給女兒鋼琴老師的先生,讓他能繼續使用於自己開設的補習班內,他還年輕需要奮鬥,駕車搬運這台機器時,我們在車上聊了一些我個人對事業的看法。我先帶他前往一家切紙廠,直接購買整刀全開紙張,同時要求切妥適當尺寸,如此便能實現最低購紙費用。然後簡述我自己一生工作賺錢的三個階段供他參考。幾年後,我們再度見面,他直接提起記得我的印象,就是這人生三階段。

小的時候,社會上都是生活艱難的同胞,能工作賺錢的方式,都是憑『勞力』換來的微薄收入,但是賺來少花的人,後來的生活就會好些。憑勞力賺錢實在辛苦,所以要苦讀向上,期望將來不要再那麼辛苦,完成基礎教育後,就能憑『技術』賺錢,而且能賺得比較多一些,但是,仍然要記得,賺來少花,長久下來,自己才可以累積出一些微薄的資本。等到我壯年退休時,存下了一點本錢,這時就可以憑『錢』賺錢了,賺來還是要少花,資本才會越來越大,努力了六年,每年可以翻一番。賺錢都很辛苦,但不要貪得無厭,該適可而止時就該急流勇退,我們的一生除了賺錢,還有許多其他的事情可做,移民以後,我的生活真是如此,您看,我的一生是多麼的平淡無奇。

幾年前回台灣時,見到乾兒子學有所成大學畢業了,相見真是高興,關心的問他就業情形,他告知在等當兵,服役前學一點理財。我立刻鄭重其事的勸告他,暫時不要碰這些事情,寧可隨便找個零工事情做一做,他立刻明白了,隔天就去當參觀故宮博物院時的解說員,辛苦,但是,是一份健康的工作,能這樣受教,將來必有出息。我深知台灣所謂的『理財』指的是何種事情,那時,無非就是上網看一些網上各種基金經理人所謂的專家分析,吸引一些人將錢財投入,由他們代您操作,然後理出財來給您。

姑且不論能不能理出多少利益來,任何人直接見到錢就能賺錢時,以後就很難接受要吃苦才能賺錢的事實了。買賣股票就是一種用錢賺錢,或者是用錢虧錢的事情,共產主義對這個東西有一個非常惡毒的形容,稱它們是『資本主義的嗎啡』,只形容它壞的一面,好的一面則是『資本集中的威力』,發展社會整體經濟時非常需要。我們暫將爭論擺一邊,只強調為什麼不該讓剛受完基礎教育,準備踏入社會的青年人涉足其間。

踏入社會前,那來的資本?借錢、父母贈與、貸款、融資都不該碰,碰了就形同賭博,賭贏了也絕對不光彩,更何況因為涉世不深,賭輸的局面居多,這個時候學甚麼理財?也許很多有錢人的家庭,根本否定我的這種見解,硬要笑貧不笑娼,那麼,我仍然要規勸大家任由他笑,貧不可恥,努力就能翻身,為娼絕對不好,永無機會翻身了,不是嗎?又有些人可能會堅持要減少子女吃苦奮鬥的年限,用心誠良苦,據我所見,最後落得揠苗助長的情況居多,先吃過苦才獲得資助,情況就會不一樣,『苦其心志,勞其筋骨』,它的意義就在這裡。我個人一生工作賺錢的三個階段,也許不是很好的典範,但在觀念上確實健康,心路歷程的發展較為完整。

我還能為大家做點甚麼?轉贈這些健康的觀念,可能有點用處,上述事務都是一些人生的經驗見識,希望您能讀出正面的意義,並派上用場。然後也想一想,您還能為大家做點甚麼?


4月26日,本地懷卡托 Linux 組織(WLUG)在大學舉辦了一場活動,討論軟體專利對公益開放式系統的破壞問題(Patent Absurdity : How software patents broke the system),會前先行播放了一段美國最近熱烈討論,準備實施的軟體專利法影集,荒謬至極,看完了人見人怒,有種此後誰都別想再寫程式的感覺,可是已經在社會上掠奪了無數鈔票的所有大軟體公司,擁有足夠的錢財推動這項立法,並可能促其實現,這就是美國。

我是 WLUG 的會員,多少也得表示一點個人意見,我舉了個人經歷過的實例,響應全體反對的聲浪。前年,我尋找如何實現在兩點之間繪出一條直線的程式設計資料,讀完幾篇論文,了解了一項特殊的原理,但其他近旁網頁中顯示,此法已成了最新的美國軟體專利,專利擁有人卻沒發表過論文,我關起門來根據專利內容,純以 Forth 自行設計程式,依樣畫葫蘆,測試程式時才發現,若以平面座標的原點當作起點,想繪一直線時,只能朝第一象限內畫,其他三個象限都不行,我得自己想辦法回頭根據原理解決問題,這真是一個窩囊的專利,審核的人審不出問題,為什麼還這麼快就頒給了專利?我所設計的四個象限都行得通的軟體,才沒有騙人(前文 20081203 之『FORTH操作音效卡』顯示螢幕中用到這樣的設計),但沒專利,而那個已經取得專利的方法,我懂了也不能用,只有我才有能力使用 Forth 設計出程式也不行,因為侵犯了專利,讀那麼多論文學通原理有甚麼用?美國政府說我在浪費生命與時間,還犯了法。

20年前的『BYTE』電腦專業雜誌,人人愛看,而且大量引用其中許多軟體設計的特殊技術,我相信有許多人像我一樣,以這一本雜誌伴隨著自己的軟體生命共同成長。以前我本本看,仔細讀,實際跟著做的題目不知有多少,後來在一些軟體系統中,發現一些產品採用了雜誌內同樣的技術,這些技術卻被發行軟體的公司宣佈成是它們擁有的專利,例如:一些僅憑故意誤用單個組合語言指令,就能完成特殊系統切換功能的技術,調皮的人很快就也能自然的發現這種功能,可是已經被人搶先登記了專利,相同的程式您不能再寫,否則犯法,軟體專利法的存在,抹殺了一切這種技術的進一步發展?

大家討論時都表示,現行軟體動輒由上千人聯手完成,嚴格說來,一個審查委員畢其一生,都很難搞懂單套軟體之細節,如何能僅憑膚淺的認識頒給專利?大家也認為軟體公司已經掠奪了可怕的錢財,還用錢來辦事,以便綁死一般群眾,無法像它們一樣,可以更肆無忌憚地掠奪更多的錢,這種惡法施行辦法,也是它們花錢安排出來的,它們還有的是錢來遊說有權力立這種法的人,小老百姓只能任憑宰割,像我們一樣,在這裡開討論會。

會後的結論很消極,投影幕上打出了一個反對軟體專利的組織網頁,希望會員能夠一人一信支持這個組織,其他的事情聽天由命。

其實,今天我們的生活處境,這種情形實在是多的不得了,丁陳老師傳給我他所著作的一本『維他命 C 』的書,我有空時便在電腦中閱讀,第一章就開宗明義的說明了現今藥品被製藥業壟斷的情況,維他命C有價廉、方便、有效、具體的醫療功效,但絕對不能取得生產專利,於是製藥業無所不用其極,要花多少錢都無所謂,全面無情打擊維他命 C 有用的說法,讓正式的醫生也不敢使用,讓全人類平白無辜的失去許多維他命 C 可以帶來的好處,看了真是令人義憤填膺,任何人都很容易看得懂這本書,也絕對可以明白書中說明的道理,全都有論述根據,閱讀之後產生一種強烈的感覺,今天都甚麼時代了,為什麼這個世界還這麼黑暗?而且都是由美國政客主導,美國政客怎麼這麼壞?

美國政府運作的所謂『民主體制』存在嚴重的問題,他們一直強調老掉牙而且落後的民主、自由、平等。然而,『民主』展現的是掠奪全人類,包括我們的後代子孫。『自由』強調的是顛覆別國政制體系,不管別國的現實情況如何?都強迫別國變成胡亂的『自由』而無法收拾。不允許別國人與美國人『平等』,專門霸凌弱小國家,包括台灣。這一切成何體統?美國人需要革命, 21 世紀要革掉18世紀過時無效的舊口號,才能澈底杜絕美國繼續施行這些類似全球金融風暴似的醜陋罪行,我們應該灌輸美國新思想,協助他們免除被自殺式攻擊的恐懼,全世界需要新時代的有效新體制,但絕對不是舊有的民主、自由、平等,台灣已經自由民主過,跟著一塌糊塗,任何政客都不該再拿它來戲弄我們。可是,我若細問自己:『我還能為大家做點甚麼?』時,在這些事情上實在使不上力,因為我不能領導美國革命。

還有許多惱人的問題,我實在不想談論了,這一段網文我打完反省後,不斷的大量刪除,有好幾頁,我貼網文的目的不在這裡,絕對不希望自己寫譁眾取寵政治性批判文章,可是身為程式技術的知識份子,也不能永遠閉口到任人宰割吧?該提出來喚醒大家的事情仍然該做,該反美的時候就要反美,不能等待死到臨頭。這些與我們軟體發展相關的政治現勢,就點到為止的談論到此,我在設法約束自己的寫作修養,改談 Forth 。


矽谷 4 月份的 FORML 月會開過了,會中有人響應了丁陳老師的號召,使用 Forth 計算驗證『耶穌是何時死的?』討論題目,他們的答案都是西元 29 或 35 年。我的不是,為西元 29 或 32 年,因為我將望日的精確時刻取到分鐘,單純的只以台灣為基準,不管時差,查找中國農曆記錄則為西元 30 年。現在,我可以正式公佈解這個題目時的相關書信來往內容,以及我自己設計的計算程式,包括程式執行結果。最終的結果係由丁陳老師指導完成,另有許多零星的來往討論書信則不轉載入此文。

我在第一封傳給老師的信中寫道:

老師好:
我已查找出來有關 passover 的確切日期,然後才準備試寫程式換算,希望能有結果。根據的方法是:
(1)每年中國節氣中的春分為陽曆固定的日期,因為是觀察所得,所以這個規矩不會變,一定要在每年陽曆的 3 月 20 或 21 日,我暫時假設就是 3 月 20 日。
(2)接下來去換算出這一天是中國農曆的幾月幾日?通常是農曆 1 或 2 月的某日。
(3)接著推算此後出現的第一次農曆 2 或 3 月的 15 日,就是緊接著春分的第一個滿月之日。
(4)根據這個農曆的 15 日換算回陽曆的日期,並確定必須為星期四,就得到老師要的答案了。
我查找了從西元 28 年到西元 39 年間陽曆 3 月 20 日為假設春分日的所有陰曆日期,並比較全部此後所有的下一個滿月陰曆日日期,只有西元 30 年的陰曆 2 月 15 日為陽曆的 4 月 6 日才是星期四,其他幾年春分後的下一個滿月日都不是星期四。
所以可以確定西元 30 年陽曆 4 月 6 日星期四為老師所要的答案。這一天是中國東漢光武帝建武 6 年,庚寅年。
程式的算法則只用老師指定的日月運行數據來算。
先算地球繞太陽的座標與時間關係,並設定座標為今年春分之月、日、時、分為圓周的0度位置,推算出西元 30 年春分的月、日、時、分值。今年的春分精確時刻還須查資料確定,但我可以查得到。另外也需要今年下一個月球滿月望日的精確時刻。
然後根據月亮繞地球的數據,推算出西元 30 年春分精確時刻,月球應該在繞地運行座標上的幾度位置?最後再算出月球繞到與地球關係為0度的位置還要幾天?就能算出陽曆的正確日期了。
根據這樣的算法可以不用中國的農曆,因此對朔望的感受是幾何平面圖上的概念。
望日是太陽、地球、月亮連成一線,而地球在中間,使用兩組 360 度的圓周座標來表示三球之間的關係,可以簡化問題。
大前題是老師所給的日月運行數據絕對正確才行,就我所知,有太陽日、恆星日數據上的不同,還有行星間引力互相干擾的律動微弱影響,都得簡化掉,不予考慮。

老師在隨後的來信中告知:

慶潭,
很高興見到你查出來耶穌是公元 30 年死的.不知道你是根據那一本曆書查出來的?西方的曆書經過多次修改,陰陽曆的對應是有問題的.
現在的數據每年 365.256363 天,和每月 29.530689 天是非常準確的,用它們來算陰陽合曆,基本是正確的.人為的曆法牽涉到觀測的方法和觀測的地點,都有一定的誤差.
我算出來的結果是公元 33 年.計算的方法就是你列出的程序.我把詳細的計算寫下,請你檢查研究:
從今年的春分 3/21/2010 往回算,到公元 X 年的春分共有
Y=X 乘 65.256363天
今年的逾越節 3/29/2010 到公元 X 年的春分共有
Y+8天
其中有(Y+8)/29.530689個月,餘下Z天.
今年的逾越節到公元X年的逾越節共有
Y+8-Z 天
今年的逾越節是星期一,所以公元X年的逾越節的星期是
Y+8-Z-1 除 7 之後的餘數.
計算是用 32 位元整數法,年月的天數都用双整數,整數部分 32 位元,分數部分也是 32 位元,但要除 1000000 ,調整為分數.這樣乘法容易做,除法很難.所以除法就用連續減法來做,慢一點沒關係,精密度一定要保持.
檔案都附上.用 F# 在選了 PASSOVER.FEX 之後執行 dddd ,就可以看到公元 20-40 年間逾越節的星期數.
公元 33 年 Y=704318.829651天
(Y+8)/29.530689=24739月+Z(23.114480)天
Y+8-Z-1=704302.715171天
(704302 MOD 7)=4
再談.
丁陳.

svfig公佈答案後,老師的來信如下:

Chingtang,
At the SVFIG meeting, one other member did the Passover calculation, and he got years 29 and 35 AD, just like mine. I think these are the correct answers.
However, according to the Chinese and Jewish calendars, it should be year 33.
We can leave the numbers there. It is an interesting exercise anyway.
Regards,
Ting.

上述來信中,中國的曆書查找結果,應修正為西元30而非33年。

丁陳老師數次指導,並修正我所設計之程式,最後可以落定的程式,及其計算後印出的結果,詳述如下:

程式計算完全以台灣可以正式取得的數據為主,且僅以台灣為基準。算法係以今年的春分計算到某一年(THATYEAR)的春分共有幾日?再加上今年春分至下一個滿月日的破年零星日數(AFEW),得到計算基礎所需要的總日數(TOTALDAYS)。根據這些總日數,再以今年的滿月日為基準,回推至某一年的相對滿月日應該有多少個陰曆月數(IMONTHS)?計算時取得的精確浮點月份數量(FMONTHS),必須捨棄小數點後的數值,才代表全部的月份數量,也就是 imonths 。這個數值還得轉換成浮點數格式 fmonths2 ,才能用來計算出今年滿月日至某一年滿月日的總日數(FDAYS),同理,捨棄掉小數點後面的數值,得到總的整數日數(IDAYS)。最後,根據今年滿月日為星期 2 ,回算出某一年滿月日應該是星期幾(WHATDAY)?這就是正確的最後結果。再次提醒您,全是台灣基準,如果將基準日改為西方日期 3 月 29 日星期 1,而不是台灣的 3 月 30 日星期 2,而且只以日計,不用精確時刻算到分鐘,那麼計算結果是西元 28 或 35 年,與 svfig 公佈純用整數系統計算後得到的答案 29 或 35 年略有出入,顯然是浮點數字計算系統中的捨位處理所造成的,我未予以詳細追究。

歷史上,人類不可能把近 2000 年的年數搞錯,一年只能有一個春分,是大自然的天文現象。這 2000 年來的曆法,無論被任何人強行修正成任何型式,某日為星期幾的規矩,則是連續、不曾改變、不曾中斷、不會算錯的唯一計日方式。所以我們才可以設計出這樣的計算程式。
這個程式另有功效,可以供給使用 ABC Forth 數學計算系統的人當作範例參考,程式顯示:計算輸出結果使用傳統的 Forth 程式設計方式比較方便,可以避免 BASIC 式的印出方式太過粗略,也可以避免 FORTRAN 式的印出方式要仔細宣告而太過麻煩。對談式的設計則延用 BASIC 式的方式比較直接與方便。如果對計算過程中數字被處理後的格式有所懷疑時,您就可以像這個範例程式中的規劃方式,大方使用 BASIC 式的 PRINT 指令,插入程式中的各個關鍵位置,執行後的結果可以令人一目了然,我就是用這種方式與丁陳老師書信溝通的,我不用擔心老師會看不懂我所寫的程式。當然,主要還是現行網路有好的功能才有這樣的結果。

\ Passover

INTEGER L INTEGER M INTEGER N
INTEGER IDAYS INTEGER IMONTHS INTEGER WHATDAY
REAL D/Y REAL D/M
REAL FDAYS REAL FMONTHS
REAL AFEW REAL TOTALDAYS
REAL THATYEAR

: INTERACTIVE BASIC
10 PRINT " Please type in FROM and TO integer years: "
20 INPUTI M , N
30 END
;

: RESETALL
[[ L = 0 ]] [[ M = 0 ]] [[ N = 0 ]]
[[ IDAYS = 0 ]] [[ IMONTHS = 0 ]] [[ WHATDAY = 0 ]]
{{ FDAYS = 0 }} {{ FMONTHS = 0 }} {{ AFEW = 0 }}
{{ TOTALDAYS = 0 }} {{ THATYEAR = 0 }}
{{ D/Y = 365.256363 }} {{ D/M = 29.530689 }}
;

: PRINTRESULT
CR
." 西元" L .
." 年,春分後的第一個滿月日為星期" WHATDAY .
;

: PASSOVER-1 BASIC
10 LET { AFEW = ( 30 - 21 ) + ( ( 625 - 92 ) / 1440 ) }
15 print " "
20 FOR L = M TO N
30 LET { THATYEAR = I>R ( L ) }
40 LET { TOTALDAYS = ( D/Y * ( 2010 - THATYEAR ) ) + AFEW }
45 print { " totaldays= " ; TOTALDAYS }
50 LET { FMONTHS = TOTALDAYS / D/M }
55 print { " fmonths1= " ; FMONTHS }
60 LET IMONTHS = INT ( FMONTHS )
65 print " imonths= " ; IMONTHS
70 LET { FMONTHS = I>R ( IMONTHS ) }
75 print { " fmonths2= " ; FMONTHS }
80 LET { FDAYS = FMONTHS * D/M }
85 print { " fdays= " ; FDAYS }
90 LET IDAYS = INT ( FDAYS )
95 print " idays= " ; IDAYS
100 LET WHATDAY = ( ( 7 - ( IDAYS MOD 7 ) ) + 2 ) MOD 7
110 RUN PRINTRESULT
115 print " "
120 NEXT L
130 END
;

: TELLME
RESETALL INTERACTIVE PASSOVER-1 ;

fload passover
tellme
Please type in FROM and TO integer years: ? 25 35

totaldays= 725043.250693888889
fmonths1= 24552.1955377976074
imonths= 24552
fmonths2= 24552.0000000000000
fdays= 725037.476328000000
idays= 725037
西元25 年,春分後的第一個滿月日為星期4

totaldays= 724677.994330888889
fmonths1= 24539.8268333965689
imonths= 24539
fmonths2= 24539.0000000000000
fdays= 724653.577371000000
idays= 724653
西元26 年,春分後的第一個滿月日為星期3

totaldays= 724312.737967888889
fmonths1= 24527.4581289955303
imonths= 24527
fmonths2= 24527.0000000000000
fdays= 724299.209103000000
idays= 724299
西元27 年,春分後的第一個滿月日為星期0

totaldays= 723947.481604888889
fmonths1= 24515.0894245944918
imonths= 24515
fmonths2= 24515.0000000000000
fdays= 723944.840835000000
idays= 723944
西元28 年,春分後的第一個滿月日為星期5

totaldays= 723582.225241888889
fmonths1= 24502.7207201934533
imonths= 24502
fmonths2= 24502.0000000000000
fdays= 723560.941878000000
idays= 723560
西元29 年,春分後的第一個滿月日為星期4 \ *****這是我的答案*****

totaldays= 723216.968878888889
fmonths1= 24490.3520157924148
imonths= 24490
fmonths2= 24490.0000000000000
fdays= 723206.573610000000
idays= 723206
西元30 年,春分後的第一個滿月日為星期1

totaldays= 722851.712515888889
fmonths1= 24477.9833113913762
imonths= 24477
fmonths2= 24477.0000000000000
fdays= 722822.674653000000
idays= 722822
西元31 年,春分後的第一個滿月日為星期0

totaldays= 722486.456152888889
fmonths1= 24465.6146069903377
imonths= 24465
fmonths2= 24465.0000000000000
fdays= 722468.306385000000
idays= 722468
西元32 年,春分後的第一個滿月日為星期4 \ *****或者這個答案*****

totaldays= 722121.199789888889
fmonths1= 24453.2459025892992
imonths= 24453
fmonths2= 24453.0000000000000
fdays= 722113.938117000000
idays= 722113
西元33 年,春分後的第一個滿月日為星期2

totaldays= 721755.943426888889
fmonths1= 24440.8771981882607
imonths= 24440
fmonths2= 24440.0000000000000
fdays= 721730.039160000000
idays= 721730
西元34 年,春分後的第一個滿月日為星期0

totaldays= 721390.687063888889
fmonths1= 24428.5084937872221
imonths= 24428
fmonths2= 24428.0000000000000
fdays= 721375.670892000000
idays= 721375
西元35 年,春分後的第一個滿月日為星期5
ok
您若有興趣將這個程式黏到 ABC Forth 系統中去執行,也可以驗證最近十年的日曆記錄,您會發現只有近三年的才正確,我們現今所使用的日曆,原本就不是根據上述物理計算方式來訂定的,所以當然不同。
這樣的結果告訴我們,曆法是很重要的東西,中國的曆法更為可貴,它的可靠歷史記錄最長,而耶穌到底是何時死的?現在確實是一件很難再搞得清楚的事情了。

我不是任何宗教的教徒,但我尊重所有的宗教,也尊重任何人的宗教信仰,以上所述,純粹只是一個就事論事的科學驗證計算,結論僅供參考。


附註 : 20241014 重新整理後貼出。

沒有留言: