<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1097161848825759583</id><updated>2012-02-03T02:42:58.205-08:00</updated><title type='text'>FORTH  :  慶的世界</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://forthfortnight.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://forthfortnight.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Chings World</name><uri>http://www.blogger.com/profile/15191167870271612229</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_AchTsJsrvZw/STdFzdxFJaI/AAAAAAAAAAM/ZR_kphZVVHQ/S220/PC040006.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>39</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1097161848825759583.post-650183276685962982</id><published>2012-02-01T13:15:00.000-08:00</published><updated>2012-02-03T02:42:58.243-08:00</updated><title type='text'>Advanced BASIC in Charming FORTH</title><content type='html'>曾慶潭2012-02-02於紐西蘭&lt;br /&gt;Ching-Tang Tseng&lt;br /&gt;ilikeforth@gmail.com&lt;br /&gt;http://forthfortnight.blogspot.com&lt;br /&gt;&lt;br /&gt;在迷人的FORTH (Charming FORTH)系統中，安裝先進的BASIC (Advanced BASIC)式程式功能，就稱為ABC FORTH。它能清楚的表達求解高深數學問題的程式意義，本文以ABC FORTH系統展示高深的Mandelbrot圖形。&lt;br /&gt;Mandelbrot繪圖，以非傳統數學方式，表達自然現象，它能精簡顯示『碎形幾何』(Fractal geometry)表達複雜自然現象的意義。&lt;br /&gt;碎形幾何強調自然結構存在著不平滑(Roughness)現象，但無論從宏觀或微觀的領域觀察自然結構，卻都呈現出自我相似的性質。碎形幾何對解決許多艱深的自然科學問題，如天文問題或流體力學問題，有過實質上的貢獻。&lt;br /&gt;電腦性能不夠發達以前，想隨心所欲的完成Mandelbrot繪圖，有點困難。電腦性能大肆改善後的今天，如果程式語言性能不夠優秀，想迅速確實的繪製出Mandelbrot圖形，仍然不易完成。&lt;br /&gt;我創作了ABC FORTH系統，必須能夠解決這種困擾，還得辦到別人所無法辦到的特性，性能才算得上優越。這一次，我把問題精簡到最簡程度，也把程式簡化到能讓高中生看懂、會用的程度，這是ABC FORTH系統的性能。&lt;br /&gt;&lt;br /&gt;Mandelbrot繪圖的基本原理，網上已有無數的資料可供參考，想要找出一份能夠執行出結果，而又如同本文內如此精簡表達的程式，就不容易了。&lt;br /&gt;簡而言之，Mandelbrot繪圖，就是在一個指定的平面空間內，根據下列複數運算的式子，進行遞迴巡環計算：&lt;br /&gt;&lt;br /&gt;Z ( n+1 ) = Z ( 0 ) + Z ( n ) * Z ( n )&lt;br /&gt;&lt;br /&gt;Z(0)按照與座標相關的固定規則，賦予起始值後，開始計算。當複數Z( n+1 )之絕對值，大於某一指定數值時，便取用已經遞迴巡環的次數，作為選擇顏色的代表值，然後彩繪出一點，如此繪出的全圖，就稱為Mandelbrot圖形。&lt;br /&gt;以ABC FORTH來設計程式，上述怎麼講，我就怎麼設計程式，我可以僅用一個螢幕畫面份量的程式，將問題解釋完畢，隨後，我們才進行討論。程式列示如下：&lt;br /&gt;&lt;br /&gt;10 FOR Y = 0 TO 600&lt;br /&gt;20 FOR X = 0 TO 600&lt;br /&gt;30 LET { A = I&gt;R ( X ) }&lt;br /&gt;40 LET { B = I&gt;R ( Y ) }&lt;br /&gt;50 LET [ Z(0) = R&gt;ZR ( A ) + R&gt;ZI ( B ) ]&lt;br /&gt;60 LET [ Z(0) = R&gt;ZR ( SCALE ) * ( Z(0) - ( 300 + 300 i ) ) + Z(CENTER) ]&lt;br /&gt;70 LET [ Z(N) = Z(0) ]&lt;br /&gt;80 LET #COLOR = 0&lt;br /&gt;90 IF { ( ZABS ( Z(N) ) &amp;lt;= 16 ) AND ( I&gt;R ( #COLOR ) &amp;lt; 18 ) } THEN 110&lt;br /&gt;100 GOTO 140&lt;br /&gt;110 LET [ Z(N) = Z(0) + Z(N) * Z(N) ]&lt;br /&gt;120 LET #COLOR = #COLOR + 1&lt;br /&gt;130 GOTO -90&lt;br /&gt;140 LET YY = ( 600 - Y )&lt;br /&gt;150 LET #COLOR = ( #COLOR SELECT-COLOR )&lt;br /&gt;160 RUN X YY #COLOR SETPIXEL: DC&lt;br /&gt;170 NEXT X&lt;br /&gt;180 NEXT Y&lt;br /&gt;190 END    &lt;br /&gt;&lt;br /&gt;這是一個在600*600的平面上，繪出Mandelbrot最基本圖形的程式，所顯示的圖形如圖一所示：&lt;br /&gt;&lt;br /&gt;圖一、&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-DCsEtUotjco/Tymp6oQXRXI/AAAAAAAAAoQ/nChG0eZa6Ck/s1600/%25E5%259C%2596%25E4%25B8%2580.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="400" width="385" src="http://1.bp.blogspot.com/-DCsEtUotjco/Tymp6oQXRXI/AAAAAAAAAoQ/nChG0eZa6Ck/s400/%25E5%259C%2596%25E4%25B8%2580.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;以下是關於Mandelbrot繪圖的詳細說明，如果您看不懂，就請欣賞彩色藝術圖檔，快速看完本文，不必勉強。&lt;br /&gt;我有許多研究題目，就知識需求而言，都離大眾甚遠，但研究成果不吐不快。我是一名退休的老人，不為名利，心中完全沒有負擔，方能如此。因此，我也不期望大家耗費太多時間，都來了解詳情。更不希望大家都頹廢於退休式的研究，影響了自己的人生，看不懂，就跳過去吧。&lt;br /&gt;大約是20幾年前，剛從台灣大學農業機械系碩士班畢業的吳英明先生，私下為我單獨表演過這套繪圖技術。那時的個人電腦很落後，單色螢幕，解析度大約只適合繪出200*200點的圖形，僅宜使用FORTH中的組合語言，設計快速繪圖程式。能表達的現象，只能用來強調，可以模擬出與樹狀分枝或雪花結晶的細分再細分之自然現象相關。因為程式是組合語言寫成的，我放棄深入研究的機會。&lt;br /&gt;1993年1月份出版的『FORTH DIMENSONS 』V14 N5 P16中，有一篇Dr. Mark Smiley所著的『Graphics and Floating Point in Real-Time Action』文章，裡面就詳述了Mandelbrot繪圖，文內附了黑白表示之圖，也有FORTH程式。該文仍然大量依靠組合語言完成程式，我繼續放棄深入研究的機會。&lt;br /&gt;兩年前(2010年)的春節期間，收到丁陳老師寄來的自製賀年卡，是一份老師憑自己的本事，繪製出來的精緻Mandelbrot彩圖。我嘆為觀止，冒然去信向老師請教繪圖方法，得到過老師以F#FORTH系統之組合語言設計而成的程式。當時，我曾在2010-03-02刊出的網文『必然處置』一文中說道：&lt;br /&gt;&lt;br /&gt;『可惜老師用F#FORTH系統執行出來的結果，還不能在我的電腦上重現，我不能仿造出圖案。如此更好，我只應看程式設計的原理，還有不懂的地方，就該上網詳細研究，如果我不能融會貫通，重新在ABC FORTH系統上自行設計出同樣功能的程式，我就不夠格自稱是丁陳老師的好學生。』&lt;br /&gt;&lt;br /&gt;那時的困擾，是根本不知道Win32ForthV4.2版系統中繪出彩色一點的指令，勉強以繪線來代表繪點，老電腦的速度又慢到難以忍受，非常委屈，最後顯示性能不佳，我又放棄了研究。&lt;br /&gt;去年年底，我回台灣，買了64位元的電腦，沒有繼續抗拒實現這個程式設計的理由了，於是選在農曆春節期間，再度發展Mandelbrot繪圖程式。&lt;br /&gt;事前當然繼續參考各方面的資料，其中一份最為精簡扼要的文章，值得推荐給大家參考，係香港道教聯合會青松中學的梁子傑老師，在『Mathematical Excalibur』Vol..8 No.4期刊中，發表的『利用 GW-BASIC 繪畫曼德勃羅集的方法』一文，文中附帶實際程式，也有很好的中文說明。&lt;br /&gt;由於沒有忘記繪製該圖的基本觀念，我只耗費了除夕一晚，就完成了程式，年初一將完成圖寄給丁陳老師，並貼上Face book向親朋好友拜年。&lt;br /&gt;我寫成的程式，當然必須與上述所有資料來源的程式有所不同，我想表達的意念，當然也必須與上述資料來源的方式有所不同，寫成這篇文章才有意義。現在，我們就利用我的設計，探討Mandelbrot繪圖。&lt;br /&gt;我的程式故意設定成：在600*600的視窗內繪圖。那麼，程式中的雙層600次定量迴路，就必須執行三十六萬次，為了繪完全圖，雙層迴路內複數的計算量，肯定不下百萬次。因此，這個程式是一份可以用來評鑑電腦硬體執行速度的理想工具，測試結果顯示，我的ABC FORTH系統要耗3秒以上，才能完成一張圖，性能已經差強人意了，尚可接受。軟體執行速度，並非我想要求的重點，否則抄襲丁陳老師的組合語言設計，也能達到目的，但那就不具有表達我個人意念的意義。&lt;br /&gt;不幸，同時測出了在W7或XP作業系統中執行的速度幾乎相同，單就此事表示，買W7的64位元電腦是多餘的，將來大概只剩安裝了大量的記憶體可以使用，尚表示具有一點價值，硬體執行速度，完全沒有改善，全世界的消費者都受了微軟公司的騙，買了已不能退貨，微軟在這件事情上，進一步大肆污染這個世界，我必須在網文上明確標記微軟的又一樁惡行，他們賺了非常不道德的錢。&lt;br /&gt;這一段時日，我不再受寫文章出書之事約束，可以隨心所欲的享受自己設計出來的系統，設計對象當然仍是以數值分析方面的程式為主。回顧這些另行完成的設計，它們都顯示出一些特色，FORTH的可交談性(Interactive)天生本質，利於設計別種程式語言所不容易辦到的互動式程式執行功能，於是，我便試圖將所有的數值分析程式，積極設計成互動式的運轉方式，以便產生動態執行效果。&lt;br /&gt;這一個Mandelbrot繪圖程式亦然，為了達到能夠牽一髮而動全身的目的，必須簡化可變動參數的個數，此事就成了分析整個問題的重要因素。這次完成的繪圖程式，是像丁陳老師所設計出來的成果一樣，可以互動式調整繪圖顯示。調整Z(CENTER)之值，就能夠上下左右移動，增減SCALE之值，就能逐步放大縮小，讓圖形凸顯碎形幾何強調的結構特質，於宏觀或微觀領域，顯示圖都呈現出自我相似的特點。&lt;br /&gt;直讀上述程式，與口述數學原理幾無差別，我就能夠很容易並快速的透過稍微調變程式之內容，來獲得顯示圖形的變化趨勢。&lt;br /&gt;我也很容易經由書籍資料中的解說要點，找出對應的可修改函數位置，直接代入程式，執行後立即顯示效果，驗證書本中所敘述的意義是否正確？這是對碎形幾何最直接的體認。&lt;br /&gt;我不是數學家，沒有滿德伯(Mandelbrot)老前輩那樣的數學頭腦，需要實質的圖形，才能建立碎形幾何的觀念。但我是一名FORTH程式語言的使用老手，有能力藉由自己設計的電腦程式，彌補與偉人相較時的能力差距。&lt;br /&gt;圖形產品的第一份功能，用來向親朋好友拜年，而今年屬龍年，所以乾脆畫出一顆『龍年金龍蛋』，作為賀年卡。產生設計這個賀年卡的靈感，一半來自機遇上的碰巧，另一半來自機械工程方面的投影概念，年除夕夜晚，才能輕易的完成調變出來的程式。&lt;br /&gt;所謂的機遇，源自選色的要求上，我對Win32Forth系統顏色的命名，本來毫無概念，而且每次按顏色名稱用色時，直覺上就覺得顯示顏色根本不對，我又不是色盲，心中一直納悶。後來，乾脆自己選定顏色與數字間的對應關係，就採用我從小玩弄電子零件時的色碼對應關係，『0123456789』對應到『黑棕紅橙黃綠藍紫灰白』，至於10以上的另外9個顏色，就不管對應關係了，只把最後一個18，留給深灰色(DKGRAY)使用，以便確定它是最高數字所代表的色碼。&lt;br /&gt;選色時，發現了懷疑自己是色盲的原因了，原來是系統將本名都命成了深色之名，而正常的顏色色名則是淺色，例如：紅色是LTRED而不是RED，其他類同。解決了這個問題，就有把握在程式中用對顏色。不幸，找不到對應的橙色，一怒之下，乾脆改用電阻零件色碼中代表誤差量的金色當橙色來用，後來就繪出了圖一。&lt;br /&gt;圖一乍看之下，確實有點像個金蛋，但上下稍寬了一點，於是修改了第140列的指令成：&lt;br /&gt;&lt;br /&gt;140 LET YY = ( 600 – Y ) * 5 / 6&lt;br /&gt;&lt;br /&gt;重新執行一遍，就獲得了我向大家拜年的龍年金龍蛋。如圖二所示：&lt;br /&gt;&lt;br /&gt;圖二、&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-flGCcuiLoG0/TymqIxWeq0I/AAAAAAAAAoc/fnt9hljowFk/s1600/%25E5%259C%2596%25E4%25BA%258C.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="350" width="400" src="http://1.bp.blogspot.com/-flGCcuiLoG0/TymqIxWeq0I/AAAAAAAAAoc/fnt9hljowFk/s400/%25E5%259C%2596%25E4%25BA%258C.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;互動式的程式，能夠調整出自己想要的圖形，先調整出一張縮小的圖形，如圖三所示，讀者能夠根據色碼由小到大，判斷出Mandelbrot複數運算後到達預設絕對值條件時的遞迴巡環次數是：由圖邊到圖中央，為由小到大的趨勢，中央的暗灰色區域，遞迴巡環的次數為18次，那裡的邊界，才顯現不平滑的結構現象，而且自我相似，宏觀或微觀狀況皆然。&lt;br /&gt;使用我所設計的程式，進行縮小圖形的操作，可以將圖縮成單一個點，現象就如同宇宙之能納萬物於一點，一個點內竟然有著這麼複雜的東西！碎形幾何因此能幫助解決天文學上的問題。&lt;br /&gt;&lt;br /&gt;圖三、&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-tblHOC-GGMQ/TymqSsbvINI/AAAAAAAAAoo/s_EpLJLwSeQ/s1600/%25E5%259C%2596%25E4%25B8%2589.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="400" width="385" src="http://1.bp.blogspot.com/-tblHOC-GGMQ/TymqSsbvINI/AAAAAAAAAoo/s_EpLJLwSeQ/s400/%25E5%259C%2596%25E4%25B8%2589.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;選擇圖形中的一小塊區域，放大顯示，展示如圖四所示。&lt;br /&gt;從圖示中，我們仍然看到微觀顯示與宏觀顯示上的『自我相似性』。另外，此微觀圖示，是不是與流體力學中常想表達的邊界流線高度相關了？此圖純用手繪(Free hand)是繪不出來的，此處卻僅只花了幾分鐘時間，就能令其明確的躍然紙上，碎形幾何也因為這樣，而能幫助流體力學解決問題。&lt;br /&gt;以傳統數學表達流體力學問題時，常須求解非常複雜的微分方程式，再以求解獲得的數學表示式，描述邊界流線的分佈形狀，解釋流體力學問題。&lt;br /&gt;碎形幾何的數學式子，多麼簡明扼要，就能以圖四的形式，描述流線的分佈了，描述問題所需要的答案，卻只在調整出對應的參數而已。我所設計的這個程式，已經可以透過互動式的操作，立即獲得這些答案。可是，您若缺乏滿德伯老伯伯的頭腦，就很難建立起簡單數學與複雜自然現象的對應關係。不要氣餒，ABC FORTH能適當的填補這樣的差距。 &lt;br /&gt;&lt;br /&gt;圖四、&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-D7SlXDg94w4/Tymqda_eQ1I/AAAAAAAAAo0/EziZmlUeek4/s1600/%25E5%259C%2596%25E5%259B%259B.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="400" width="385" src="http://3.bp.blogspot.com/-D7SlXDg94w4/Tymqda_eQ1I/AAAAAAAAAo0/EziZmlUeek4/s400/%25E5%259C%2596%25E5%259B%259B.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;程式易讀，圖形如何能隨著易讀而容易調變呢？&lt;br /&gt;&lt;br /&gt;我從書本上讀到，函數乘上一個單位虛數，也就是乘以 (  0  +  1  i  ) ，就能讓圖形轉變90度，那麼我想獲得轉變45度的圖形，豈不是就應該乘上 ( 1  +  1  i  ) ？ 於是將程式第110列修改為：&lt;br /&gt;&lt;br /&gt;110 LET [ Z(N) = Z(0) + ( 1 + 1 i ) * Z(N) * Z(N) ]&lt;br /&gt;&lt;br /&gt;執行結果，如圖五所示。&lt;br /&gt;&lt;br /&gt;因此，我若想增加程式功能，以便能夠隨意操作出旋轉至任意角度的對應圖形，就成為很容易辦到的事情了，這項功能以後想玩時再來設計。&lt;br /&gt;&lt;br /&gt;圖五、&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-Su1a12UMN90/TymqpWeJGdI/AAAAAAAAApA/D2jt3FsV9yA/s1600/%25E5%259C%2596%25E4%25BA%2594.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="400" width="385" src="http://2.bp.blogspot.com/-Su1a12UMN90/TymqpWeJGdI/AAAAAAAAApA/D2jt3FsV9yA/s400/%25E5%259C%2596%25E4%25BA%2594.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;依次類推，我想要獲得雙黃或三黃金龍蛋也有可能了，繼續改變第110列，例如改成：&lt;br /&gt;&lt;br /&gt;110 LET [ Z(N) = Z(0) + Z(N) * Z(N) * Z(N) * Z(N) ]&lt;br /&gt;&lt;br /&gt;執行結果獲得了圖六，『自我相似性』依然健在。&lt;br /&gt;&lt;br /&gt;圖六、&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-gQO6p6eOil4/Tymq0NioBtI/AAAAAAAAApM/vQwdJO3Pu74/s1600/%25E5%259C%2596%25E5%2585%25AD.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="400" width="385" src="http://4.bp.blogspot.com/-gQO6p6eOil4/Tymq0NioBtI/AAAAAAAAApM/vQwdJO3Pu74/s400/%25E5%259C%2596%25E5%2585%25AD.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;圖形展示結束前，我們簡介憑著取用數學函數，也能產生扭曲圖形的方法，圖形就像受力而扭曲了，這也代表了人類知識的力量。&lt;br /&gt;&lt;br /&gt;如圖七所示，程式調變如下：&lt;br /&gt;&lt;br /&gt;110 LET [  Z(N)  =  Z(0)  +  ( sin ( Z(N) ) )  *  Z(N)  -  exp ( Z(N) )  ]&lt;br /&gt;&lt;br /&gt;圖形顯示看來跟一隻熱帶魚的體內結構與視覺外觀有點類似了，碎形幾何也因此能用來解釋自然界生物進化演變之後，生長出來的各種外貌花樣，雖然都千變萬化，其中卻仍然保有碎形幾何強調的自我相似性。&lt;br /&gt;&lt;br /&gt;圖七&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-NM4oGqvZYXM/Tymq9bpz-WI/AAAAAAAAApY/2Jrrnt99NK8/s1600/%25E5%259C%2596%25E4%25B8%2583.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="400" width="385" src="http://4.bp.blogspot.com/-NM4oGqvZYXM/Tymq9bpz-WI/AAAAAAAAApY/2Jrrnt99NK8/s400/%25E5%259C%2596%25E4%25B8%2583.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;再作些微變化，另得圖八，『自我相似性』仍在。&lt;br /&gt;&lt;br /&gt;110 LET [ Z(N) = Z(0) + sin ( Z(N) * Z(N) ) – exp ( Z(N) ) ]&lt;br /&gt;&lt;br /&gt;觀賞此圖，可以感覺到，未來發展核融合(Fusion)反應裝置的高強約束磁場，需要扭曲出來的磁力線，可以藉由碎形幾何的幫助，以精簡數學表現出來。暗灰色的區域，就形同是磁場能約束得住的空間，那裡才能進行被約束住的核融合反應，區域邊緣有一些不平滑處的間隙弱點，可能引致能融合反應前高能燃料的逸出現象，裝置一旦開始進行了核融合反應，反應也會擾亂原有的磁場，被研究的磁場磁力線分佈問題，就會變得非常複雜。可是，請看上式，式子這麼精簡扼要！函數格式還跟熱帶魚的外觀魚紋如此接近，這就是碎形幾何特別的地方。&lt;br /&gt;人類需要取之不盡、用之不完的能源，才能解決永久性的能源問題，已知可行的解決辦法，就是研究發展出能受控的核融合裝置，免不了必須深入接觸高強約束磁場磁力線的分佈問題。&lt;br /&gt;以傳統數學來表達磁場磁力線的分佈，相當複雜，很多人都拿這種題目，取得核融合研究方面的博士學位。以碎形幾何研究核融合裝置內高強磁場磁力線分佈的對應關係，可以更為簡明扼要。寫出明確的表達式子，透過圖形顯示，取得對應的絕對參數，代表求解問題的答案，就更容易抓到受控裝置的設計要點。&lt;br /&gt;碎形幾何是對自然科學現象的另一種高雅數學表述方式，為了貢獻人類，不要在乎博士學位，要在乎具體成果，大胆採用碎形幾何研究問題，會有益處，碎形幾何可以在核融合研究方面派上用場。&lt;br /&gt;&lt;br /&gt;圖八、&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-du8uX9uSiDQ/TymrIBdVG9I/AAAAAAAAApk/6-Ilfaxceng/s1600/%25E5%259C%2596%25E5%2585%25AB.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="400" width="385" src="http://1.bp.blogspot.com/-du8uX9uSiDQ/TymrIBdVG9I/AAAAAAAAApk/6-Ilfaxceng/s400/%25E5%259C%2596%25E5%2585%25AB.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;如此推演下去，可以調變出無限種圖，自我相似性恆在。程式中能隨意調整設計的地方有許多處，都會得到變化多端的圖形，自我相似性也恆存在。&lt;br /&gt;例如：更改選色上限非18而為100，再插入一列新程式如下：&lt;br /&gt;&lt;br /&gt;145  LET  #COLOR  =  #COLOR  MOD  18&lt;br /&gt;&lt;br /&gt;那麼，圖形宏觀結構不變，微觀層次就可以出現100層的色彩，每18色循環一遍，繪出圖形之邊界層次，便非常細膩，且深入放大之後，圖形更為複雜，但也大量增加運算次數。不進行放大調整的基本圖形，如圖九所示：&lt;br /&gt;&lt;br /&gt;圖九、&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-OenqUT0n1N4/TymrRzrGRYI/AAAAAAAAApw/Yjz080NNT2Y/s1600/%25E5%259C%2596%25E4%25B9%259D.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="400" width="385" src="http://1.bp.blogspot.com/-OenqUT0n1N4/TymrRzrGRYI/AAAAAAAAApw/Yjz080NNT2Y/s400/%25E5%259C%2596%25E4%25B9%259D.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;在本文中，我只採用18色展示，是為了簡化問題，便於解釋一般人不太容易弄懂的Mandelbrot繪圖技術。為了舉例方便，本文也僅只在第110列程式上進行變化。程式就已可有舉不完的例子，每一種簡單調整，都不必花費太大的力氣，就能演變出一大堆結果，研究到達這個地步，讓我一時也搞不清楚，到底是FORTH迷人？還是繪圖迷人？&lt;br /&gt;我們的頭腦都不如滿德伯老伯伯，他也已經去世，我用ABC FORTH系統當工具，補我笨拙，就能師法於他。這個系統是我自己設計的，它能直接執行所有老師在課堂黑板上寫成的數學計算式子，而且，它還在發展，永不停息。&lt;br /&gt;&lt;br /&gt;三年以前，我不太管FORTH的事情，在閱讀網上台灣FORTH同好所發表的意見時，經常見到大家表示：不想去開月會的原因，是長期以來，FORTH都只能老談那幾個很有限的應用範例，實在搞不懂，到底FORTH能幹甚麼？&lt;br /&gt;我以中文網文重新推廣FORTH三年之後，已經舉出無數個FORTH幹出來的實例了，後續還擺著更多的發展對象有待開發，不乏實例可舉。那怕您提出現行電腦幾乎無法直接執行記憶體存取式的自動控制問題，我的意念中依然很容易解決，端賴於我們自己願不願意這樣做而已？&lt;br /&gt;您想過嗎？就算Intel與微軟聯合起來，搞得我們的FORTH，不能直接執行P@、P!來控制電腦以外的物品了，我們還是有可能進行突破。您有心硬是想搞直接輸出輸入，絕對可以辦到。例如：就拿繪圖卡內的一小段記憶體區段來設計記憶圖譜式的輸出輸入(Memory map I/O)，而非隔離式的輸出輸入(Isolated I/O)，這樣的硬體界面當然能夠突破限制，搞成了，還可能大賣，賺點錢，FORTH的理念，就是這樣，沒有能難得倒FORTH的電腦問題。&lt;br /&gt;微軟的作業系統，將記憶體的前640個64k(十六進制的40,0000h以下的位址)，強行設定成他們的永久殖民地，以解決他們三十幾年來發展自掘墳墓式的作業系統歷史包袱安置問題。該區域以上的記憶體內容，都是使用者依然可以自由存取的地方。您看，我已經將圖形畫出這麼多花樣了，想找到純棕色的RGB三個對應色碼，也不是辦不到，只須花時間於圖形顯示之記憶體區域，測試其內容與顯示現象而已，沒畫出棕色，不是問題。&lt;br /&gt;最近，在試用新購買的64位元電腦時，發現微軟的W7作業系統，想摔掉一點歷史包袱，而不再讓使用者在64位元作業系統中，能夠繼續直接執行原在DOS內的16位元程式，原來的XP作業系統則可以如此。我已警覺到許多有價值的16位元程式，必須切換電腦的作業系統模式後才能執行，感受到它們似乎有著從此之後不能再被使用的危機。積極發展將Mandelbrot繪圖程式，轉置入現行作業系統，直接執行出結果，便成為一項很有意義的工作。&lt;br /&gt;我確實是能搞許多古怪的研究，比常人多一點耐心，有時候想到，如果我能對某些事物，例如：核災預防或地震監測，提前研究出一些有意義的結果，對人類可以有很大的貢獻。然而，一直不能貢獻，錯不在我，是社會不肯接受，所以我也不必遺憾，那怕是貢獻可以防治天災，天災卻真的發生了，又奈我何？我又奈何？&lt;br /&gt;能夠仔細讀完本文的讀者，不妨回頭重新品味文首刊載的Mandelbrot繪圖原理說明與程式內容，然後竭盡所能，到網路上去查找相關資料，包括維基百科中的中英文資料，我相信截至目前為止，您還難以找出這麼精簡的說明與實例。我能為社會進行的貢獻，就像這篇文章一樣，都很渺小，但很實際。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1097161848825759583-650183276685962982?l=forthfortnight.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://forthfortnight.blogspot.com/feeds/650183276685962982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1097161848825759583&amp;postID=650183276685962982' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/650183276685962982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/650183276685962982'/><link rel='alternate' type='text/html' href='http://forthfortnight.blogspot.com/2012/02/advanced-basic-in-charming-forth.html' title='Advanced BASIC in Charming FORTH'/><author><name>Chings World</name><uri>http://www.blogger.com/profile/15191167870271612229</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_AchTsJsrvZw/STdFzdxFJaI/AAAAAAAAAAM/ZR_kphZVVHQ/S220/PC040006.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-DCsEtUotjco/Tymp6oQXRXI/AAAAAAAAAoQ/nChG0eZa6Ck/s72-c/%25E5%259C%2596%25E4%25B8%2580.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1097161848825759583.post-5842121426497874772</id><published>2012-01-15T15:11:00.000-08:00</published><updated>2012-01-17T19:45:26.735-08:00</updated><title type='text'>產前迎生慶祝活動(Baby shower)</title><content type='html'>曾慶潭2012-01-16於紐西蘭&lt;br /&gt;Ching-Tang Tseng&lt;br /&gt;ilikeforth@gmail.com&lt;br /&gt;http://forthfortnight.blogspot.com&lt;br /&gt;&lt;br /&gt;中國人迎接新生命的到來，以初生嬰兒滿月來慶祝。西方文化不同，以預計嬰兒出生前的一個月左右，舉辦產前迎生慶祝活動來慶祝。創造宇宙繼起的生命，絕對是一件偉大的事情，所以應該慶祝，事前、事後慶祝，都是慶祝。&lt;br /&gt;大女兒預計下個月生產，於是小女兒就為此事，協助大女兒張羅了這麼一次的慶祝活動，忙了幾天，愉快的辦好了一次迎生慶祝活動。習慣上，那是女人家的活動，而且以女婿家的來人為主，我這個老男人只好退居一旁，忙我自己的事情。&lt;br /&gt;現代人挑選的黃道吉日，不是去看黃曆，放假期間最為吉祥，大部份人都方便參加活動的日子，就是黃道吉日。一月十四日就是這麼一個日子，家中一次來訪將近二十個婦人，熱鬧非凡。&lt;br /&gt;我對一些事務，看法與做法常與一般人不同，但只要理由正確，就大可不必在乎別人的觀點如何？儘管放心去做。女兒結婚時，放任她一切自己作主，婚宴她自辦，不必邀請我們為人父母這方面的客人。理由是我們移民在外，沒有必須向親屬長輩交待事務的問題，因此而不必欠下與親朋好友來往時的傳統人情。女兒自行料理一切事情，終身都能為自己的自主成果，留下得意的回憶。這次的迎生慶祝活動亦然，她自己作主。&lt;br /&gt;&lt;br /&gt;藉著這麼一個迎生慶祝活動的主題，我也可以引申出幾個迎接新狀況的題材，寫進這篇文章。&lt;br /&gt;迎生慶祝活動當然留下了許多照片，照的都是她們得意的傑作，女兒會貼進她自己的臉書與網頁，各位親朋好友若有興趣，就請自行前往觀賞。我這裡則在其他方面，也來迎接一些新生事物，與介紹剛開發出來的FORTH新氣象。&lt;br /&gt;&lt;br /&gt;首先一個最大的主題，是我這星期才完成的『3D函數繪圖程式』。它不容易完成，我詳細讀完手頭所擁有的論文資料，參考古聖先賢所寫的程式後，足足花了三天，才完成使用ABC FORTH數學計算系統寫成的程式。&lt;br /&gt;接下來又花費了幾天的時間，測試程式執行效果，並發現了幾個出問題的地方，必須進行除錯修正。迎生慶祝活動當天，落定了所有的設計，『3D函數繪圖程式』就將誕生。剩下來的程式設計工作，只是為了美化輸出，選用適當比例的設定參數，用於開啟視窗，並在其中按指定比例繪圖。此事只宜在親眼目睹輸出效果後，採用回饋設計的方式來完成，需要再花一點時間。&lt;br /&gt;以前，從事於科學研究工作時，對科研程序有點認識。從事科研工作者，在準備開始進行一項新的研究主題時，千萬不要自以為馬上就可以成為諾貝爾獎的得主，而直接搞些前人從未搞過的爆炸性研發，否則失敗的居多。我這次發展『3D函數繪圖程式』，也是抱持著正常心情而發展，最後，才能成功。&lt;br /&gt;寫研究論文時，都要引用參考文獻，它表示了從事研究者，已經搞清楚了前人的技術，也有能力重新再現同樣的研究，然後才有這篇論文裡更上一層樓式的創新報告。這篇文章雖然不是論文，但能夠進行類似的描述，寫出結果，表示程式的發展經過，與寫論文之進行方式，是完全相同的。&lt;br /&gt;三年前，第一個用來試用ABC FORTH數學計算系統的測試程式，就是平面上的2D函數繪圖程式，它曾以寫成單篇獨立網文的方式，刊載於此網頁。這三年來，網文中已有不少刊出的圖形，是使用該程式完成的。&lt;br /&gt;圖形最能表示函數變化的趨勢，卻不強調絕對精確的數值。同理，3D的函數圖形，也是一樣，以表現函數變化趨勢為主，不強調精確數值。&lt;br /&gt;三十幾年前，我就設計過函數繪圖程式，那時的電腦軟硬體性能都不太好，有時，單純只為繪出一幕3D函數圖形，就得耗費一個小時以上，因為程式中難免帶有大量的投影座標換算計算。為了讓顯示圖形較為清晰，都希望將位於圖形後面的隱藏線處理掉，那麼，就得再度進行一大堆、一長串的比較與計算，然後再以程式執行一點一點的反白繪圖消除工作，去除背後的隱藏線，繪完一張全圖的時間，就會更長。&lt;br /&gt;那個年代，繪完一圖，因難能可貴，都必須立即將結果存成圖形檔案，再用印表機印出一張圖來留念。說實在的，對顯示圖的趨勢感，有時仍然難以建立，圖的品質也不太好。&lt;br /&gt;今天，我重新完成一套設計，感覺已經完全不一樣了。以前用的是買來的軟體系統，今天，使用的是自己設計出來的ABC FORTH系統。&lt;br /&gt;以前的顯示性能較差，解析度很低，現在的顯示性能則改善了許多，色彩與解析度都更好了。&lt;br /&gt;以前每次執行程式，只能得到一張圖，現在，我粗略的測試，繪出一張一般性圖形，使用XP作業系統中ABC FORTH設計出來的程式，耗時僅約0.078秒，神速無比。這樣的新環境，引誘我來設計出動態顯示新程式了。 &lt;br /&gt;從設計出來的顯示效果中，可以很容易的體會出3D圖形所能表現的景觀，趨勢感就非常強烈，使用者就能快速調整出最適當的鳥瞰角度，將圖形固定下來，存檔留參。&lt;br /&gt;以這一套工具來繪製三度空間的函數圖形，速度之快，幾乎可以說是立即就能獲得結果，因此有著無限的應用潛力。&lt;br /&gt;輸入的函數，只需按照教室課堂上，老師寫在黑板上的數學式子輸入，而且只需寫成一列便可，這種函數有無限多種。&lt;br /&gt;這套工具可以用於教學，是動態顯示式的教學工具，能為學生建立強烈的函數圖形實際觀念，是萬用的程式。&lt;br /&gt;如果某人很有藝術眼光，喜歡設計，那麼，這一套工具能夠協助他，快速產生大量的藝術圖形，供作藝術設計之用。&lt;br /&gt;許多科學研究以三度空間來表示時，就能快速找到關鍵數據。我已將程式除錯到運作起來沒有問題的地步了，當然就適合用於實際的科學研究。&lt;br /&gt;&lt;br /&gt;我所設計的ABC FORTH數學計算系統，並不能普及性的被大家使用，我也不想浪費時間去搞推廣，中華民國台灣，想不想利用這個免費的資源來教育我們的下一代？非我所能主使，但我也不在乎。從網文的敘述中，讀者應該很容易體會，我自己已經可以享受各種設計成果的樂趣了，這才是樂觀的實際人生。&lt;br /&gt;我始終想搞地震早期警報監測系統的偵測研究，但沒錢買硬體，這幾天有個念頭，想要自己製造超低聲頻的探頭，這沒甚麼大不了的，以前曾參與國防方面的研究，美國人不賣關鍵性偵測元件給我們的時候，我們不也都是這樣子自立自強嗎？後來反而更能走出自己的一片天地。&lt;br /&gt;家兄是個外交官，這幾天也開始利用我所設計的語音輸出系統，作為講稿評鑑工具，或用來聽取自動讀出的訊息。我的同胞不重視這些發展成果，又有什麼關係呢？我有一本待出版的新書，書中記錄了不少有意義、有價值的技術，我不能確定書商是否誠心誠意的想為國人而出版？我想，這也不很重要，這幾個月，我在設計程式時，就已經不斷的必須回頭參考我自己寫成的這一本新書，它已經成為有用的工具。如果這本書不能以實體書與大家見面，我就將其收歸己有，絕不考慮以電子書的方式出版，以免糟蹋這種技術產品。&lt;br /&gt;同胞們，有骨氣一點，自己的事務要靠自己打點，我在樂於回報自己的國家與社會時，請不要輕忽這些微小的貢獻，如果國人事事都仍輕忽看待，長此以往，國家也只好走向滅亡一途。&lt;br /&gt;&lt;br /&gt;此處就以由簡入繁的方式，刊載幾張顯示不同效果的3D函數圖。我喜歡設計出有用的萬用工具，卻不喜歡沉迷於五彩繽紛的花樣結果中，因此，只展示黑白圖形，以表示對數學函數的尊重。&lt;br /&gt;&lt;br /&gt;第一組兩張圖，表現一個精簡函數：&lt;br /&gt;&lt;br /&gt;40 LET { Z = -2 * exp ( sin ( X * Y ) ) + 4 }&lt;br /&gt;&lt;br /&gt;經由3D繪圖程式繪出函數圖形後，如果不能進行快速的旋轉動態顯示，那麼，輸入下列數據後，只能得到圖一的結果。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;如果您想更為仔細的審視本網文中所刊載的任一圖示或照片，請用滑鼠就在圖面上點選一次，另一個以全黑為背景，正中央顯示更清晰圖樣的畫面，就可以呈現在您眼前。不想再看時，以滑鼠點選全黑畫面右上角的打叉圖示，就能自動恢復成現行畫面。&lt;br /&gt;&lt;br /&gt;不離開此畫面，直接操作control+或control-，則能就地放大或縮小整篇內容的顯示，包括所有的圖示。&lt;br /&gt;&lt;br /&gt;歡迎來訪讀者試用。&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;main &lt;br /&gt;Enter X range ... Minimum Maximum(seperated by a blank):? -2 2&lt;br /&gt;Enter Y range ... Minimum Maximum(seperated by a blank):? -2 2&lt;br /&gt;Enter Z range ... Minimum Maximum(seperated by a blank):? -2 2&lt;br /&gt;Enter tilt angle(degrees):? 45&lt;br /&gt;Enter rotation angle(degrees):? 45&lt;br /&gt;Enter number of x lines to plot:? 50&lt;br /&gt;Enter number of y lines to plot:? 50&lt;br /&gt;Want hidden line removal(y/n)?&lt;br /&gt;Yes Elapsed time: 21:08:57.484Elapsed time: 21:08:57.562 ok&lt;br /&gt;&lt;br /&gt;圖一&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-ZKdNnVv98gQ/TxNcKJKFsZI/AAAAAAAAAmk/57dkeeGu0jU/s1600/test1.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="271" width="400" src="http://3.bp.blogspot.com/-ZKdNnVv98gQ/TxNcKJKFsZI/AAAAAAAAAmk/57dkeeGu0jU/s400/test1.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;我所設計的系統，可以快速動態的處理出，由各種不同鳥瞰角度顯示之結果。立即進行快速的操作，便能得到自覺比較滿意的顯示圖形。圖二顯示了由原始設定為旋轉45度及仰角亦為45度的角度，變換到旋轉為19度而仰角為312度時，看起來比較美觀的圖示。&lt;br /&gt;最後被固定繪出之圖，有點像海中的大魟魚(Stingray)，在前曾貼出的網文：『開懷大笑』文末，有這種魚的實際照片，讀者不妨再去那裡觀賞一次，牠生的蛋有點特別，是方蛋。&lt;br /&gt;&lt;br /&gt;output-data &lt;br /&gt;XMIN, XMAX = -2.000000000 , 2.000000000 &lt;br /&gt;YMIN, YMAX = -2.000000000 , 2.000000000 &lt;br /&gt;ZMIN, ZMAZ = -2.000000000 , 2.000000000 &lt;br /&gt;TILT, ROTA = 312.0000000 , 19.00000000 &lt;br /&gt;XLINES, YLINES = 50 , 50 &lt;br /&gt;REMOVE = 1  ok&lt;br /&gt;&lt;br /&gt;圖二&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-IHQ8Eu5mnEU/TxNcT4wwL-I/AAAAAAAAAmw/ZJEueFxKdiE/s1600/test2.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="271" width="400" src="http://1.bp.blogspot.com/-IHQ8Eu5mnEU/TxNcT4wwL-I/AAAAAAAAAmw/ZJEueFxKdiE/s400/test2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;第二組展示圖，是一組經常被用來展示3D繪圖性能的精簡函數：&lt;br /&gt;&lt;br /&gt;40 let { z = 10 * sin ( x ) * cos ( y ) }&lt;br /&gt;&lt;br /&gt;它顯示的形狀類似一個波浪面。我們仍然採用上述方式，來顯示快速動態操作出結果的不同，以便讓大家體會程式性能上的差異。圖三已經繪出了3D曲面的圖形，而且上視面與下視面的線條有明顯的不同，所有背後的隱藏線，都被澈底的處理掉了。但是由旋轉與仰角均為45度的鳥瞰角度來顯示，效果依然不太好。&lt;br /&gt;&lt;br /&gt;main &lt;br /&gt;Enter X range ... Minimum Maximum(seperated by a blank):? -5 5&lt;br /&gt;Enter Y range ... Minimum Maximum(seperated by a blank):? -5 5&lt;br /&gt;Enter Z range ... Minimum Maximum(seperated by a blank):? -5 5&lt;br /&gt;Enter tilt angle(degrees):? 45&lt;br /&gt;Enter rotation angle(degrees):? 45&lt;br /&gt;Enter number of x lines to plot:? 50&lt;br /&gt;Enter number of y lines to plot:? 50&lt;br /&gt;Want hidden line removal(y/n)?&lt;br /&gt;Yes Elapsed time: 21:18:42.828Elapsed time: 21:18:42.906 ok&lt;br /&gt;&lt;br /&gt;圖三&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/--F4uei2O9to/TxNccAhpkJI/AAAAAAAAAm8/F0qzue4dLQ0/s1600/test3.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="271" width="400" src="http://3.bp.blogspot.com/--F4uei2O9to/TxNccAhpkJI/AAAAAAAAAm8/F0qzue4dLQ0/s400/test3.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;設計完成的程式，可以快速動態操作出理想的結果，操作最終之數據與圖示如下：&lt;br /&gt;&lt;br /&gt;output-data &lt;br /&gt;XMIN, XMAX = -5.000000000 , 5.000000000 &lt;br /&gt;YMIN, YMAX = -5.000000000 , 5.000000000 &lt;br /&gt;ZMIN, ZMAZ = -5.000000000 , 5.000000000 &lt;br /&gt;TILT, ROTA = 297.0000000 , 39.00000000 &lt;br /&gt;XLINES, YLINES = 50 , 50 &lt;br /&gt;REMOVE = 1  ok&lt;br /&gt;&lt;br /&gt;圖四&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-EWRq2nlOJpU/TxNcjxA1daI/AAAAAAAAAnI/SGdF1a2zFaI/s1600/test4.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="271" width="400" src="http://2.bp.blogspot.com/-EWRq2nlOJpU/TxNcjxA1daI/AAAAAAAAAnI/SGdF1a2zFaI/s400/test4.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;為了能夠更為明顯的區分出處理隱藏線後的效果，我刻意再將無此功能的3D繪圖方式展示如下：圖五是只能直接繪線，不能處理隱藏線的顯示圖，品質確實差多了。就算能夠快速動態操作出適當的鳥瞰角度後，改善的情況則仍然有限，如圖六所示。&lt;br /&gt;&lt;br /&gt;將圖五、圖六這一組圖，與圖三、圖四那一組圖直接比對，讀者應該能夠體會，處不處理隱藏線？效果上的明顯差異了。&lt;br /&gt;&lt;br /&gt;main &lt;br /&gt;Enter X range ... Minimum Maximum(seperated by a blank):? -5 5&lt;br /&gt;Enter Y range ... Minimum Maximum(seperated by a blank):? -5 5&lt;br /&gt;Enter Z range ... Minimum Maximum(seperated by a blank):? -5 5&lt;br /&gt;Enter tilt angle(degrees):? 45&lt;br /&gt;Enter rotation angle(degrees):? 45&lt;br /&gt;Enter number of x lines to plot:? 50&lt;br /&gt;Enter number of y lines to plot:? 50&lt;br /&gt;Want hidden line removal(y/n)?&lt;br /&gt;No Elapsed time: 21:26:08.171Elapsed time: 21:26:08.203 ok&lt;br /&gt;&lt;br /&gt;圖五&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-XV-FiTPBn5M/TxNcrJ2jl7I/AAAAAAAAAnU/1I4rG9maSyc/s1600/test5.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="271" width="400" src="http://1.bp.blogspot.com/-XV-FiTPBn5M/TxNcrJ2jl7I/AAAAAAAAAnU/1I4rG9maSyc/s400/test5.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;調整角度後的數據輸出報表及圖六，如下所示：&lt;br /&gt;&lt;br /&gt;output-data &lt;br /&gt;XMIN, XMAX = -5.000000000 , 5.000000000 &lt;br /&gt;YMIN, YMAX = -5.000000000 , 5.000000000 &lt;br /&gt;ZMIN, ZMAZ = -5.000000000 , 5.000000000 &lt;br /&gt;TILT, ROTA = 307.0000000 , 33.00000000 &lt;br /&gt;XLINES, YLINES = 50 , 50 &lt;br /&gt;REMOVE = 0  ok &lt;br /&gt;&lt;br /&gt;圖六&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-RUr6oYh_pMU/TxNcyGyj40I/AAAAAAAAAng/d_CGNNrm1Ao/s1600/test6.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="271" width="400" src="http://1.bp.blogspot.com/-RUr6oYh_pMU/TxNcyGyj40I/AAAAAAAAAng/d_CGNNrm1Ao/s400/test6.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;我僅只在本文中舉出兩個非常簡單的函數來繪圖，而這個程式卻是萬用的，只要是合理能計算的函數，都能使用這個程式繪出圖形。&lt;br /&gt;我在試用程式性能期間，深深的體會出若想獲得好圖，關鍵決定於輸入選擇範圍的參數上。&lt;br /&gt;執行這些程式時，會形同吃了嗎啡似的，一直沉迷於欣賞自己創作出來的顯示結果，因而浪費掉許多時間。&lt;br /&gt;&lt;br /&gt;圖一與圖二，是從一個較為複雜圖形中，選定一小區域範圍後，所繪製出來的3D單純圖形，它的大範圍圖示表現欠佳，就如圖七所示，調整出圖八，則尚差強人意。讀者可藉第三組這兩張特別的圖示，體會如何從複雜圖形中選定範圍？以切割出一小片區域，來獲得理想顯示圖形的方法。&lt;br /&gt;&lt;br /&gt;main &lt;br /&gt;Enter X range ... Minimum Maximum(seperated by a blank):? -10 10&lt;br /&gt;Enter Y range ... Minimum Maximum(seperated by a blank):? -10 10&lt;br /&gt;Enter Z range ... Minimum Maximum(seperated by a blank):? -2 2&lt;br /&gt;Enter tilt angle(degrees):? 45&lt;br /&gt;Enter rotation angle(degrees):? 45&lt;br /&gt;Enter number of x lines to plot:? 50&lt;br /&gt;Enter number of y lines to plot:? 50&lt;br /&gt;Want hidden line removal(y/n)?&lt;br /&gt;Yes Elapsed time: 07:29:10.000Elapsed time: 07:29:10.062 ok&lt;br /&gt;&lt;br /&gt;圖七&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-5R3TBp8iyCY/TxNc4qgp5sI/AAAAAAAAAns/xiAFHa3F2NE/s1600/test7.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="271" width="400" src="http://1.bp.blogspot.com/-5R3TBp8iyCY/TxNc4qgp5sI/AAAAAAAAAns/xiAFHa3F2NE/s400/test7.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;快速操作調整鳥瞰角度成下列數據後，得到了比較能顯示全盤趨勢的3D曲面顯示圖形，如圖八所示。&lt;br /&gt;&lt;br /&gt;進行整個操作，將結果黏貼進這篇文章，僅只是幾分鐘的事情。&lt;br /&gt;&lt;br /&gt;output-data &lt;br /&gt;XMIN, XMAX = -10.00000000 , 10.00000000 &lt;br /&gt;YMIN, YMAX = -10.00000000 , 10.00000000 &lt;br /&gt;ZMIN, ZMAZ = -2.000000000 , 2.000000000 &lt;br /&gt;TILT, ROTA = 88.00000000 , 41.00000000 &lt;br /&gt;XLINES, YLINES = 50 , 50 &lt;br /&gt;REMOVE = 1  ok&lt;br /&gt;&lt;br /&gt;圖八&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-UEPY6sN0WRw/TxNdB1SdfcI/AAAAAAAAAn4/LbYzn4QA_OQ/s1600/test8.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="271" width="400" src="http://2.bp.blogspot.com/-UEPY6sN0WRw/TxNdB1SdfcI/AAAAAAAAAn4/LbYzn4QA_OQ/s400/test8.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;實際上，這一套程式是在W7ABC635Win32for.exe中發展而成，我已開始適應64位元電腦的使用環境，並進行程式發展，後續還有許多的新性能，等著我去體會，例如：以多CPU執行FORTH程式的效果。&lt;br /&gt;我還有新的數學計算程式發展計劃，『3D函數繪圖程式』的發展必須早點結束，成果則留待將來必要時使用，這是一套新誕生的工具程式，這篇網文記述了這個程式在產前迎生慶祝活動過程中所繪出之圖形。&lt;br /&gt;&lt;br /&gt;第二個主題，不必那麼約束，改談其他話題。&lt;br /&gt;&lt;br /&gt;幾個月前才剛栽種的蘋果樹，高度還不及一公尺，卻開了花，結了果。曾在此網頁於2011-11-02刊出的『忙著搞生產』一文中，顯示這棵剛種的蘋果樹開滿了鮮花。後來，小樹無法負荷那麼多的果子，只好大量落花，最後，竟然還是結成了一顆果子，我為這顆即將到來的新蘋果，命名為『蘋太郎』，也特別寫進網文，刊列圖九照片，刻意慶祝。&lt;br /&gt;產前迎生慶祝活動，大部份只在第一胎嬰兒到來之前，母親才比較有興趣舉辦慶祝活動，這顆蘋果與這棵蘋果樹，又何嘗不是如此？明年的『蘋次郎』、『蘋三郎』，甚或是『蘋五十六』，我大概就不會有興趣再這樣介紹給大家了。&lt;br /&gt;蘋果樹旁的小藍莓，果子也成熟了，我每天見牠發藍時，摘了就吃，享受最自然的人生。&lt;br /&gt;&lt;br /&gt;圖九&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-WO1h5KeT8Ac/TxNdG8dVOEI/AAAAAAAAAoE/-ooA2ypzqJI/s1600/test9.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://2.bp.blogspot.com/-WO1h5KeT8Ac/TxNdG8dVOEI/AAAAAAAAAoE/-ooA2ypzqJI/s400/test9.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1097161848825759583-5842121426497874772?l=forthfortnight.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://forthfortnight.blogspot.com/feeds/5842121426497874772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1097161848825759583&amp;postID=5842121426497874772' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/5842121426497874772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/5842121426497874772'/><link rel='alternate' type='text/html' href='http://forthfortnight.blogspot.com/2012/01/baby-shower.html' title='產前迎生慶祝活動(Baby shower)'/><author><name>Chings World</name><uri>http://www.blogger.com/profile/15191167870271612229</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_AchTsJsrvZw/STdFzdxFJaI/AAAAAAAAAAM/ZR_kphZVVHQ/S220/PC040006.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-ZKdNnVv98gQ/TxNcKJKFsZI/AAAAAAAAAmk/57dkeeGu0jU/s72-c/test1.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1097161848825759583.post-1611799554240625853</id><published>2012-01-01T12:23:00.000-08:00</published><updated>2012-02-01T23:32:16.855-08:00</updated><title type='text'>ABC FORTH系統通告彙編(11-20)</title><content type='html'>&lt;b&gt;&lt;br /&gt;( 一 )  ABC FORTH系統通告之十一  2012-01-02&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;敬告ABC FORTH系統的使用者：&lt;br /&gt;&lt;br /&gt;為避免通告彙編累積得越來越大，以及利於詳細說明系統發展沿革，今後將以每十篇通告彙整成單篇的方式，保留通告於此一網頁，提供大家參考。&lt;br /&gt;&lt;br /&gt;有很長一段時日沒有再發表ABC FORTH系統的新通告了。此期間，我集中精力發展Win32ForthV6.14版系統的中文語音輸出，直到最近，才能夠告一段落，因此，相關於ABC FORTH系統的發展，只好暫時中止。&lt;br /&gt;&lt;br /&gt;專搞中文語音輸出，也對ABC FORTH系統很有助益，實作才能體會助益在那裡？也才能將發展中文語音輸出所帶來的好處，轉用在ABC FORTH系統上。我也等待發展能告一段落後，才來實現這些益處，發佈出更好的ABC FORTH系統。&lt;br /&gt;&lt;br /&gt;前年2010年年底，國際網站才發佈的Win32ForthV6.14版系統，不利於中文操作，我們以自己的修正辦法解決問題，但那套辦法全以高階指令完成設計，而且無法全面顧及全系統的中文狀況，因此，雖然可用於程式的設計，卻仍然沒有解決操作載入程式時，檔案路徑還會顯示不正確中文名稱的問題。&lt;br /&gt;&lt;br /&gt;這一次發展中文語音輸出時，刺痛了大師兄陳爽的心，因為他的名字老是被顯示成陳淇，我又特別喜歡將他傳來的程式以他的姓名作為檔案命名，操作載入程式時，出問題的部份確實礙眼。於是，他親自動手找出問題，以重新設計TR這個低階指令，修正了整個系統的問題。這份通告特將原始的TR指令，與陳爽修改後的TR指令，並列此處。&lt;br /&gt;&lt;br /&gt;原始的設計為：&lt;br /&gt;&lt;br /&gt;CODE   TR  ( addr len table -- )    \ translate a buffer&lt;br /&gt;pop    ecx            \ length to translate&lt;br /&gt;pop    edi            \ address of string&lt;br /&gt;push    edx            \ save edx&lt;br /&gt;add     ecx, edi        \ point ecx at last char&lt;br /&gt;xor     eax, eax          \ zero eax&lt;br /&gt;jmp    short @@2      \ start&lt;br /&gt;@@1:    mov    al, 0 [edi]       \ get the char&lt;br /&gt;mov    dl, [ebx] [eax]    \ translate it&lt;br /&gt;mov    0 [edi], dl        \ and store it back&lt;br /&gt;inc     edi           \ point at next character&lt;br /&gt;@@2:    cmp    edi, ecx       \ past end of string?&lt;br /&gt;jb     short @@1     \ no, back round&lt;br /&gt;xor     edi, edi         \ zero edi&lt;br /&gt;pop    edx            \ restore edx&lt;br /&gt;pop    ebx             \ adjust stack&lt;br /&gt;@@9:    next    c;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;陳爽的修正設計為：&lt;br /&gt;&lt;br /&gt;CODE   TR    ( addr len table -- )  \ ebx = table&lt;br /&gt;pop    edi     \ edi = len&lt;br /&gt;pop    ecx     \ ecx = addr&lt;br /&gt;push   edx     \ save edx&lt;br /&gt;add    edi, ecx    \ edi = addr + len&lt;br /&gt;xor    eax, eax    \ eax = 0&lt;br /&gt;@@1:    cmp   edi, ecx    \ goto @@4, if edi &gt;= ecx&lt;br /&gt;jb     short @@4 &lt;br /&gt;mov   al, [ecx]    \ al = [ecx]&lt;br /&gt;cmp   al, # $80    \ goto @@2, if eax &gt;= # $80&lt;br /&gt;jae    short @@2 &lt;br /&gt;mov   dl, [ebx] [eax]  \ dl = uppercase of al&lt;br /&gt;mov   [ecx], dl    \ [ecx] = dl \ 原字母換成大寫&lt;br /&gt;jmp   short @@3   \ goto @@3&lt;br /&gt;@@2:    inc    ecx     \ ecx = ecx + 1 \ 跳過中文字&lt;br /&gt;@@3:    inc    ecx     \ ecx = ecx + 1&lt;br /&gt;jmp    short @@1  \ back to @@1&lt;br /&gt;@@4:    xor     edi, edi    \ edi = 0&lt;br /&gt;pop    edx     \ restore edx&lt;br /&gt;pop    ebx     \ tos&lt;br /&gt;next    c;&lt;br /&gt;&lt;br /&gt;由於FigTaiwan網頁論壇大批資料被無故破壞，失去了保留資料的信用，將重要資料轉貼於此處，便能供作永久紀念，永不消失，也記錄了這一段發展歷史。&lt;br /&gt;&lt;br /&gt;別處也有網頁，取用此份不勞而獲的資料轉貼，網頁邊緣卻供作不雅廣告，以收取廣告費，感覺上實在是對有價值資料極度的不敬，此處重新整理出切要部份，永久留參，排版不良，但直接能用。我的網頁內容從不拒絕複製後轉貼的操作，引用的人請給予尊重。&lt;br /&gt;&lt;br /&gt;現今，並不是每個FORTH的愛用者，均能輕易的測試系統，以確定僅憑此項修改，便能解決中文顯示的問題。憑著長期使用這個系統的熟悉度，我則可以實際驗證，多方測試，給予肯定，未再發現新問題。&lt;br /&gt;&lt;br /&gt;另外，大部份使用者，也不熟悉如何將修改指令永久固定於系統？我代勞後公佈了一份於FigTaiwan的網頁，允許大家自由下載使用，那一份是只適用於XP作業系統下的產品，不適用於W7環境。&lt;br /&gt;&lt;br /&gt;同樣的，我的ABC FORTH系統也必須進行此項修改後固定下來，才能全面解決中文使用上的問題。&lt;br /&gt;&lt;br /&gt;發展中文語音輸出工作的後期，我們又遭遇到另外一項問題，就是原始系統用於程式設計，作業所需的記憶體容量，不夠使用的問題，為此，我仍然要重設系統。&lt;br /&gt;&lt;br /&gt;原始系統的作業規劃，係以大約527KB的系統容量，操作於1.5MB左右的作業空間，我則將此設定改成2MB左右。我將系統增加設計成ABC635系統後，只增加了25KB的記憶體耗用量，為552KB左右，可見我所增加的設計，有多精簡，為其他任何FORTH系統增建此一功能，記憶體的耗用量，就是25KB。&lt;br /&gt;&lt;br /&gt;只要硬體實體記憶體確實夠用，重設成多大的記憶體耗用量，都不是問題，問題是大家也不太熟悉如何修改？藉此次要修正系統的機會，我就順便代勞，但只改成夠用的2MB而已。因為，通告的系統是大眾通用性的系統，改得太大了，使用時便影響作業系統執行其他系統的記憶體用量。&lt;br /&gt;&lt;br /&gt;我的網文中，教過進行這項工作的操作原理與方法，是屬於使用FORTH四級程度的技術。我絕不重寫已經寫過的東西，也絕不重貼已經貼過的網文，錯失閱讀者，請等著買我寫的新書吧。以後，此處張貼的網文，將進行類似的處理，重要的技術網文，有些會是大眾不想閱讀的東西，可能只需刊載一天便可逕行下架，以免耗用太多的資料儲存容量限制。基本上，我的網文並不歡迎被任意轉載它處，卻無法限制，但若取用者不說明出處，給予尊重，我當然有權在此直接公佈您的大名，給您難堪。很多僅只刊載一天的文章，就不會被劫走。 &lt;br /&gt;&lt;br /&gt;除此之外，Win32ForthV6.14系統，想直接在W7作業系統中執行時，不能以從XP環境發展完成後的系統，複製到W7環境中去的方式達到目的，必須是直接在W7作業系統中自行發展出來的系統，才能複製使用。而我所設計的ABC FORTH系統，另有必須特別修正的問題，我也藉此次機會一併完成修改，現在正式公佈，但不談細節。&lt;br /&gt;&lt;br /&gt;雖然改了不少地方，系統仍有欠缺完美之處，在我未找到修正辦法前，僅能以通告告訴大家這個問題：在W7作業系統中，凡程式中使用了NEEDS指令來載入其他前置性相關檔案的程式，以滑鼠操作載入程式時，系統會出問題，而且立即中止Win32ForthV6.14主系統的執行，讓視窗消失掉，錯誤無法追蹤。但若直接以指令FLOAD &lt;filename.f&gt;載入程式時，則無此問題。因此，問題出在滑鼠的對應操作程式中，而非出在系統執行載入功能的程式內，以後有空我再試行解決。&lt;br /&gt;&lt;br /&gt;此一問題係我在W7中實際使用這個系統許久之後，才發現的狀況。凡程式中恆不使用NEEDS指令者，使用滑鼠操作載入程式則全無問題。在W7作業系統中以模擬XP環境的方式使用這個系統也不會有此問題，但我不喜歡這樣使用系統，因此，我積極解決在W7中直接使用這個系統的所有問題，截至目前為止，問題只剩這一個。&lt;br /&gt;&lt;br /&gt;NEEDS指令並不是標準指令，可以不必勉強使用它。如若強要解釋它的功能，簡而言之，它就是在純粹的FORTH環境中，用來模擬『動態連結』之用的FORTH指令，執行它時，它會從系統紀錄中檢查後續檔案是否曾被載入過了？已有了就跳過而不再載入，否則就執行載入，如此而已。&lt;br /&gt;&lt;br /&gt;FORTH系統強調『靜態連結』，它不希望發展完成的東西，還得視情況才連進系統。所以，所有與動態連結相關的設計，都有所欠缺，NEEDS就是此方面眾多問題中的另一個問題。國際網站上對此問題進行過大量的討論，暫時的結論是動態連結觀念不會永續存在，不值得為它再傷腦筋。此前曾經公告過之我所設計的程式，都不曾使用NEEDS這個指令。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;此次通告，一次公佈三個修改完成的系統：&lt;br /&gt;&lt;br /&gt;(1). 在W7環境中可以正常使用中文的普通Win32forW7.exe系統。&lt;br /&gt;(2). 在XP環境中可以正常使用中文的 XPABC635Win32for.exe系統。&lt;br /&gt;(3). 在W7環境中可以正常使用中文的W7ABC635Win32for.exe系統。(注意：改為不用637命名，因系統性能仍然只是635的規格)&lt;br /&gt;&lt;br /&gt;系統容量均設定成2MB左右。&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;為了尊重原始系統的公益性，今後，所有的小圖示(Icon)，也一律恢復使用原來的圓圖規格，而不再使用我自創的方圖圖示，系統名稱內，版本的編號，已經足以供作識別之用，不須另外進行畫蛇添足之設計。&lt;br /&gt;&lt;br /&gt;上述系統(1)允許任何人來信索取使用，包括大陸同胞，但我並不想將程式放到任何地方，任人自由下載。&lt;br /&gt;&lt;br /&gt;系統(2)及(3)，則僅供購買過『ABC FORTH數學計算系統使用說明』者來信索取使用。來信索取時，請言明想要那一個系統？&lt;br /&gt;&lt;br /&gt;再次強調，我所提供的系統，雖是免費，但嚴禁在網上任意傳播，一旦發現這種行為，我將立刻中斷以後更高性能系統的免費供應。&lt;br /&gt;&lt;br /&gt;我是被迫過度消費而買64位元的電腦，只買了三個月。如果不需要為社會服務，我自己根本就不需要此物，但已經買了，就得好好使用。今後將視社會現象而調整對大家的服務，如果64位元的電腦已經普及，我便轉為單用64位元電腦發展ABC FORTH，然後放棄掉所有32位元方面的原有服務，能簡化服務項目。&lt;br /&gt;&lt;br /&gt;每逢十月十日中華民國國慶日，就提醒了我，已經又為ABC FORTH系統多服務了一年，換句話說，服務於這個系統已經超過三年了。&lt;br /&gt;&lt;br /&gt;現在普及型的64位元W7作業系統，依然能夠非常順利的執行出Win32Forth系統所擁有的各種功能，而且功能只增不減。因此，我仍不考慮轉換其他基底系統，作為設計ABC FORTH系統的新基礎，這樣的應用，估計還能繼續延用好幾年，由此可見，Win32Forth系統的性能，確實非凡，不用它的人，當然不懂得這些特性，它也並不在乎外行人的攻擊。&lt;br /&gt;&lt;br /&gt;此前，我未買64位元電腦前，見過網頁上有不少隨便宣告64位元系統不能執行Win32Forth系統的論述文章，現在，可以撤文，那是外行人的說法。&lt;br /&gt;&lt;br /&gt;只要我有實體電腦，我都能及時設計出跟得上時代的ABC FORTH數學計算系統。我買了64位元電腦之後，只花了兩個月時間，就能證明出台灣許多外行人長期誤導群眾的錯誤論斷在危害社會。因方法可貴，所以今後更不應該隨便為其他系統加設計ABC FORTH系統功能，這樣才能加速淘汰掉不健康的FORTH系統，以免它們藉此以污染社會，也因此能杜絕謠言式的論述，ABC FORTH能用來作為各種FORTH系統的品質過濾器使用。&lt;br /&gt;&lt;br /&gt;您想不想用這個系統？悉聽尊便，我不在乎。您若不喜歡我的態度，而有骨氣到決心另謀他途，極力挑選一個殘障FORTH來發展出健康FORTH，那就再好不過。但我只為ABC FORTH系統服務，也打算永遠以其創作產物，您認為我還能為這個系統服務幾年？&lt;br /&gt;&lt;br /&gt;今後，ABC FORTH系統通告，將僅刊載於這個網頁，使用者請自己留意，我只願將自己該做的事情，處理成完全能夠掌握在自己的手裡，不能信任的處理方法就不再使用。真金不怕火煉，我能設計永遠可以使用的ABC FORTH系統，想不想用？您請自己決定，也請不必勉強。我沒有利用它來賺錢，所以可以無慾而鋼。&lt;br /&gt;&lt;br /&gt;我在專心設計程式時，根本沒有閒情逸緻打網文。如果每天還去網上空談，我就無法設計能夠實際執行出結果的程式，所以，這一段時日，我都忙著許多事情。我已擁有大量根據ABC FORTH設計出來的產品，卻不必要多說，只需朝著理想繼續勇往直前，寫出我想設計的數值分析程式。我能讀通的書本知識，比網頁上胡說八道的材料有意義太多了，因此，更不該浪費時間去回應網路言論，讓自己墮落在那種世俗漩渦之中。換句話說，願意與我交換FORTH技術的朋友，今後也只宜透過這個網頁與我溝通，也可以全然不必理我，這是不情之請。&lt;br /&gt;&lt;br /&gt;以我個人的FORTH使用經驗，現今還找不到比Win32Forth系統更適合作為普及性推廣使用的其他FORTH系統，包括Swift FORTH也沒這個系統好，因為它不提供中文視窗的設計。FORTH Inc,推出該系統，並公開宣佈它是一個完全不用C式語言發展出來的系統，竟然也成為一項賣點，大概就是如此，才能被全世界許多FORTH專家接受。&lt;br /&gt;&lt;br /&gt;因此，所有以C設計的FORTH系統，現在，大部份只剩設計者自己，或不明事理的FORTH新手，還願意隨便用一用，難有大作為。還在吹噓的系統作者，偶爾也會推出應用範例，我下載過不少這種程式仔細研究，覺得如果該作者直接就用C語言完成設計，可能比那麼勉強的使用他自己設計的殘障FORTH來表現還要好，我也看不出來，他到底想在實際會用FORTH的人面前吹噓什麼？&lt;br /&gt;&lt;br /&gt;那些浪費掉的時間，還不如用來仔細研究：如何在C中完全不使用虛擬機(Virtual Machine)，而直接使用實體機(Real Machine)的方法，實現FORTH，克服不能讓使用者直接玩透FORTH核心的問題，也許更有意義。C中可以直接使用組合語言，當然能寫得出這種程式，怕轉置性變差，不要又懶又呆，何不就像eForth那樣進行因子化研究，如何將其精簡到最簡程度？無論研究結果如何，也比用C來亂搞 (Mess up) FORTH要好。&lt;br /&gt;&lt;br /&gt;我在網文中宣告過，今後拒絕使用C設計的FORTH系統，任何願意共同研究FORTH者，請勿與我談C式FORTH，我甚至於不喜歡教任何人利用FORTH技術到C中去，這種討論我不參與也不回應，因C為害FORTH甚烈，我又何必飼老鼠咬布袋？&lt;br /&gt;&lt;br /&gt;用C設計產品供FORTH叫用，則非常歡迎，C只夠格做此種事情。&lt;br /&gt;&lt;br /&gt;C有C的適用領域，產品已經很多了，但絕對不在FORTH這裡。喜歡搞C的人，應該先搞清楚這一重要觀念。這裡也絕對沒錢可賺，不是老想談賺錢者可以貪婪投機的地方。台灣過去曾經這樣做過，結果萎縮了FORTH的發展，演變到後來，只剩下想賺FORTH錢的人，自己勉強使用那種賺不了錢的FORTH，天天搞夢想，整個社會卻對這些東西避之唯恐不及。為了避免自己的錢被這種FORTH產品無辜賺走，只好去別處忙別種賺錢營生的事情，乾脆什麼FORTH都不碰了，也不再與FORTH同好接觸。這樣發展FORTH，破壞了FORTH的名聲，也破壞了FORTH的純真，從此之後，發展FORTH的優勢，久久無法挽回，太不值得，以後別再搞了。&lt;br /&gt;&lt;br /&gt;我有很多用FORTH賺到錢的朋友，但請注意，是他們的產品賺到了錢，不是FORTH。他們直接用FORTH，但絕不高談闊論，我樂於支持他們如此而發財，他們就樂於與我交朋友，每次他們出面想幫我搞研究時，我依然是很含蓄的回應，他們所有的錢財都是辛苦打拼得來的，沒有理由一定就得出錢幫我搞研究，這是我自己這一方面應該持有的重要觀念。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;台灣專用FORTH搞教育，不談賺錢的事情，則不曾中止，這才是FORTH真正的價值所在！！！&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;過去這三十幾年，有那一種程式語言能像FORTH這樣？它能單一發展到此，就能單一發展到永遠，C能嗎？過些時日再來檢討，就會像現今的FORTH，相對於當年流行的許多其他程式語言一樣，他們都不見了，FORTH依然健在，FORTH一向是：千山我獨行，都不必相送。&lt;br /&gt;&lt;br /&gt;不幸世風日下，師道殘存無幾，這幾年，我體會出社會風氣促成了許多老師跟著只顧圖利，圖利圖到了自己的學生身上，無利可圖的教材不用，結果不需我來解釋，學生當然不再尊敬老師。很能導正電腦觀念的FORTH哲理，老師因覺得它無利可圖，不會教也不會用，上進的學生要求之於野才有所得，這是現今普及性的事實。&lt;br /&gt;&lt;br /&gt;失去被尊敬資格的老師，不必來與我爭論，我只認為您是活該，我也不尊敬您，您大可繼續終身拒用FORTH教學生，繼續只顧圖利，反正早就沒人再尊敬您，不再把您當老師，現在才後悔，想教也教不成了。&lt;br /&gt;&lt;br /&gt;推出ABC FORTH數學計算系統初期，我就找過台灣曾經教過FORTH的幾位老師，他們都告訴我這種教育界的情況，而且他們也都自覺難以扭轉情勢，我試了幾年，更能體會這些現象，不想再試了。以後，想學FORTH者，只能求諸於產、官、學界之外的第四在野集團，就是我們這一群永不消失的FORTH同好，但不必是我。&lt;br /&gt;&lt;br /&gt;反過來說，不能尊師重道的學生，我根本不教，那怕您公開在網上甜言蜜語，我一次接觸就能看穿，想學真技術？那就慢慢來，先磨出正常的品德與好品性再說，FORTH界沒有敢出言不遜還學得到東西的學生。&lt;br /&gt;&lt;br /&gt;國際網站上，有個渾小子，狂妄的提問：FORTH距離發展到什麼…什麼程度，還有多遠？上來回應的第一個說：大約還有幾千幾百公里。隔天上來第二個說：沒那麼遠啦，大約只剩幾十公里而已了。然後，就沒下文了。我希望任何人都別像這個渾小子一樣，太可悲了，被專家這樣子嘲笑，只因他先前經常出言不遜，後來確實該死，最後只好消聲匿跡了。&lt;br /&gt;&lt;br /&gt;我也抗拒商售產品，販賣FORTH系統者，應該自己負責服務，不應該是我。如果硬要洽談如何為那種系統加設計ABC FORTH？那麼我們就先談價碼，我會要得很離譜，是懲罰性價格，懲罰懶到不肯規規矩矩學FORTH的人。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;( 二 ) 雲端FORTH之我見&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;以後的雲端式FORTH系統，現在就能指出它的問題，我也不願涉入太深。因為FORTH打從發明之日起，就強調它能被使用者完全自我掌握，不需要雲端。將來雲端普及之後，凡人必須心甘情願的被奴役於那種付費環境中使用電腦，到那時，個人電腦很可能會只剩下FORTH單一種程式語言可用，因FORTH可以不需要花錢購買，沒有供應來源，就自己安裝，已經四十幾年如一日，再過百年，還是一樣，自裝辦法，只會越來越好，越來越快，越來越容易。&lt;br /&gt;&lt;br /&gt;我堅決反對政府以人民的血汗錢協助任何私人搞雲端發展，它只宜在國家的正式體制內接受監督而發展。體制外想搞的人，就算號稱將來發展完成的雲端資源，打算免費提供人民使用，政府也不應該涉入。有人高喊『文創』、『雲端』、『數位』蠱惑民眾，吃定人民搞不清楚狀況，骨子裡卻想搞『文革』、『霧端』、『卡位』，動輒要求政府配合投資，一搞就是多少『億』！實在令我看不下去。有真本事、真意義的雲端發展，應由想賺錢的人自己搞，否則實行這樣的政策，豈不就是搶劫人民的財產，轉交給已經是有錢人的資本家，用來發展能夠剝削更多世世代代人民資產的雲端應用？全民應該及早認清這樣的事實，如果這樣的政府老講不聽，人民就應該團結起來，直接打倒這樣的政府，然後必須瓜分被資本家劫走的財產，省、縣、市的地方政府，以及中華民國的中央政府都不例外。&lt;br /&gt;&lt;br /&gt;雲端有雲端的適用領域，例如：我這個網頁就在雲端，已經累積了可觀的資料。提供服務的公司，不限制想要申請建網使用的人數，來訪的觀眾更不受限制，算是雲端應用的典型方式。它不用拿人民的血汗錢來支持發展，照樣賺錢過活。 &lt;br /&gt;&lt;br /&gt;FORTH絕對不需要雲端，雲端有再好的FORTH，也絕對比不上我能完全掌握的FORTH，否則我早就會像傳統FORTH的專家一樣，不用再搞FORTH，也不用再搞電腦技術發展的事情。&lt;br /&gt;&lt;br /&gt;不搞FORTH的人，就算只想隨意使用一下FORTH，都相當困難了，不會去碰雲端FORTH。&lt;br /&gt;&lt;br /&gt;現行FORTH已經這麼方便了，都沒人用，何況是必須侷限到雲端去用？&lt;br /&gt;&lt;br /&gt;單以手機上網，只願意單指觸控，再用FORTH的情況，那就更不用談了。&lt;br /&gt;&lt;br /&gt;雲端上搞這種FORTH，就好比是在山頂上挖了一個養魚池，然後就窩在池旁工寮裡面規劃航空母艦，是差不多的意思。但不要認為航母搬不下山就不規劃，台灣就有很多造船、航空的大學科系或研究單位，就建在山頂上。&lt;br /&gt;&lt;br /&gt;硬要舉出正面實用的例子，不是沒有，如果FORTH教育已經普及於社會，在您網我也網，大家都願意網到雲端FORTH網頁之堆裡面去的時候，進行一些整理群眾資源(Crowd source)的運用，研究問題，彙整出全盤結果，就是很有意義的事情，史丹佛大學有過這樣的應用實例，可以參考，在台灣，可以跟中央研究院合作發展。&lt;br /&gt;&lt;br /&gt;發展雲端FORTH，是不是又再度陷入了人人都想設計殘缺FORTH的窘境？然後自己都不用，卻希望別人都來用，都只想賺別人才來用的錢。這種錯誤的想法，已經錯得太久了，起因就是長期以來，大家都不用FORTH設計程式，就沒能力使用FORTH直接設計出『產品』，才老是賺不到錢，卻誤用它容易自建的便利性，到處去設計殘缺的FORTH『系統』，包括雲端FORTH系統，形同想將已所不欲施與別人，結果，最後還是賺不到錢。喜歡搞雲端FORTH的人，在涉入之前，也應該先行徹底了解這一點。 &lt;br /&gt;&lt;br /&gt;三年多前，我就在網上跑過以JavaScript設計而成的雲端FORTH系統，不是下載設計來跑，它只能在網頁上跑。2009-1-11就在這裡刊出過的網文：『關於FORTH與其他軟體共容的問題』一文中，曾經介紹過。那時之前，就已經有人寫成了這個系統，放在網頁上供人自由使用。但是，一跑死就難繼續，玩不到核心，更別談自己修改。我在該文中的敘述，是這麼說的：&lt;br /&gt;&lt;br /&gt;『也有人用JavaScript寫成它，今天在網上還存在，可以去跑跑看，痛苦的很，沒兩下就當機了，有人認為它有用，來玩的人就請忍耐它在發展初期的不太好用，只要它能活下去，以後會改善，今天能用的FORTH都是這樣產生的。』&lt;br /&gt;&lt;br /&gt;三年後的今天，已不能再稱為『初期』了，透過與爽兄的接觸及介紹，再跑jsFORTH，發現它根本就是以前跑過的同一雲端FORTH，當初性能不好，我才不留網頁地址，現在它只不過是多了幾個指令，依然是一跑死就難繼續，仍然玩不到核心，情況不變。這樣搞下去的產品，很難成為真會使用FORTH者願意接受的東西，不會FORTH的人也玩不出名堂，所以是很難引起使用興趣的產品，過去這三年已經是這樣，台灣人現在才玩它，它不是新鮮東西。&lt;br /&gt;&lt;br /&gt;也沒有任何台灣人的雲端FORTH觀念或技術，比jsFORTH的設計人早幾年。&lt;br /&gt;&lt;br /&gt;設計者總不能強詞奪理，硬是說：別管我能否設計得出健康系統？反正也沒人會用吧！使用者的需求，就是市場導向，不能任性設計東西。我現在就是最好的試用者，可以講出別人講不出來的核心問題。能用的雲端FORTH，必須設計成一跑死就顯示訊息回到原點，要讓使用者能夠純粹就用FORTH直接玩到核心，雲端式的FORTH也不能限制使用者不能這樣或不能那樣，使用者要用這個FORTH來控制雲端時，系統也不得限制，否則使用者就不用這種FORTH。這些要求，必須突破網頁瀏覽器( Web Browser )的安管設計，辦得到嗎？辦不到這樣的設計，就難令人產生使用興趣。我們不需要一再設計類似8 bits一個byte，8 Kbytes就能具有一般功能的FORTH系統，那是40幾年前的產品。那一種需求？才是須要依靠雲端以設計大於幾個T(Tera,10^12)bytes系統似的應用呢？少之又少，幾近於零，不採用FORTH也能解決那種問題，所以FORTH實在不需要雲端。&lt;br /&gt;&lt;br /&gt;我認為沒有必要為這種FORTH系統，加設計ABC FORTH系統性的功能。網頁上同樣性質的VBS系統，是微軟自行發展出來的新產品，那個尾綴的S，就代表Script，與最近大家想玩的JavaScript相當，都是用來設計網頁的工具，它早就能夠直接利用主機作業系統的現成功能，就在網頁上直接跑精簡BASIC式的數學計算程式了。為了配合大家突然興起的雲端FORTH熱，我花了不少時間，回頭仔細試用過雲端VBS跑法的性能，研究過所有現成指令，自己動手設計了幾個VBS的典型程式。最後發現，其現行功能也是礙手礙腳，關鍵缺點就是輸出太不自由，經常得考慮隔閡思想的另外一個物件(Object)，這是當初Visual BASIC全面失敗，無法再像傳統BASIC，能被全面接受的根本原因。因此，它必然再度失敗，網上早就公佈了可以免費使用的系統，許久之後，也沒有人喜歡用，所以FORTH何必跟進？我曾經為C式FORTH浪費過不少時間加設計ABC FORTH系統，知道問題所在，以後不再上當了，希望將來以JavaScript繼續發展的FORTH系統，不會落得同樣下場。&lt;br /&gt;&lt;br /&gt;那種雲端式的設計，現在暫時只配稱為噱頭。就像當初電話線上的BBS網站，市內電話三分鐘一塊錢，長途電話費更是貴得不得了的用法，用了就如同『花錢如流水』，我根本不可能去使用。我年輕時掌握了時機，曾經及時辦到過幾次『賺錢如洪水』的理財安排，而且終身嚴格遵守『花錢如滴水』的永恆規矩，老來才有老本，搞FORTH閒渡日子，不怕任何世界金融危機。我並沒有可以吃『終身俸』的資格，一切生活費用，全靠自己賺取，現在能擁有處之態然過日子的良好環境，可能跟當初就認清了BBS，與現在就認清了雲端FORTH的事情有關。因為，這兩樣產品都違背了『開源節流以渡人生』的優良人生基本哲理。&lt;br /&gt;&lt;br /&gt;當初，一開始有人推廣BBS網站，我就宣佈了它的死期，不願意支持那樣的網站，我認識好幾個曾經設立過BBS網站想賺錢的人，七早八早就垮掉了，以後的雲端FORTH，必然也是如此。更何況台灣能夠花錢如流水的能力，越來越薄弱，以後更難以『不當一回事』的錯誤生活態度過日子，社會消費方式必須回歸正常，經濟活動才能永續。將來的個人電腦，若迫不得已只能連到雲端，我也絕不會糊塗到隨便去點用FORTH，讓人賺走這種錢。&lt;br /&gt;&lt;br /&gt;現在，大家若想認識一下雲端FORTH，淺嚐即可，切莫虛渡光陰而太慢下車。我不反對任何新形態的FORTH應用研究，包括JavaScript設計的雲端FORTH，所以自己也曾親身體會實際使用。但永遠不會改變的基本原則，都可以事先就想得很清楚，大家別因想賺錢想昏了頭，陷入太深，甚至於虧光了應該用來養老的老本，包括可貴的人生，到時走不下去，就不能再說是無知才造成無意義的損失，因為，我現在就能說清楚的問題，就不是無法預知的問題。&lt;br /&gt;&lt;br /&gt;這一段話就算是建議性的FORTH經驗通告。要驗證我的建議對或不對？也很簡單，這篇通告是不必撤文的，幾個月後再回頭比對此文，看看雲端FORTH能耐多久？會不會比C式FORTH更為短命？不需要多久，就能知曉。&lt;br /&gt;&lt;br /&gt;若不談三年以前的事情，就談最近這三年，來一次年終總檢討。我在積極承襲Win32Forth系統，使用FORTH實做出許多產品的這三年同一期間，大家曾經搞過了多少個走岔了方向的FORTH系統而沒有結果？請捫心自問，不要拒絕承認，或鐵齒硬說一個都沒有。您不可能一夜之間，就能產生今天這種想用FORTH來發展各種東西的念頭。如若有過這些教訓，還不能徹底覺悟，這將會是老來一大把年紀，卻仍然一事無成的關鍵因素，到那時才後悔，就來不及了。此事不用舉證，至少此前三年，沒有人有事有成，三年不是個短時間啊！乖乖用FORTH寫程式，設計產品吧。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;( 三 ) 空談FORTH是個笑話&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;對於不寫程式只會空談的人，我也有些話該說，這三年期間，就我所知，丁陳老師獨自使用F#FORTH系統，已經寫成不知多少個都有執行結果的實際程式了。丁陳老師所用的系統比我用的還要辛苦，他比我年長12歲，還能如此，各位呢？該不會是學生當家作主的說：當老師的才應該習作，必須寫程式給學生改吧？台灣有這些反過來的現象，難怪令FORTH無法進步。三年天天空談，搞不出任何一個名堂，還想再空談三年？成為空談專家？是不是想憑空談談死FORTH？這必然就是個笑話，大家都一定會比FORTH先死，不是嗎？ &lt;br /&gt;&lt;br /&gt;再說，只要能上網，就沒有只有某人能看，而別人看不到的資訊，就算綠壩阻擋，翻個牆也都辦得到。我當然也常上網，閱讀某些領域的技術資料，速度比常人快，從網上，確實可以看到，全世界已有無數個由FORTH設計出來的『產品』，但FORTH『系統』很少，性能優良的，更少。有產品的人都不空談，空談的人都沒有產品。&lt;br /&gt;&lt;br /&gt;好像只有台灣人才老是為FORTH系統空談規格，而且可能是根本沒有用的規格，更過份的是，可能還是空談者自己根本也不會用的規格，因為自己根本沒用過，所以也根本不知道為何不能用？網上空談都留了記錄，自己讀一讀醒醒吧！&lt;br /&gt;&lt;br /&gt;文末這一小節，就學大家也空談空談，講一些烏欸某欸(有的沒有的之台語)，把空談當笑話過個新年，大家新年快樂。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;( 四 ) 再度鼓吹『櫻花革命』&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;結束本文前，我在小真為教堂活動練習彈奏聖歌的鋼琴聲中，得到了平和愉快的心情。也瀏覽到網路上一則報導日本今年四月，可能全面停止五十四處核能電廠發電運轉的新聞。&lt;br /&gt;&lt;br /&gt;某些事情，我與一般人的看法不同，我也早就提出過鼓勵日本全國國民進行『櫻花革命』的個人見解，它還刊載在『地震專文之三』一文中，這裡再度為了強調而轉載一次。&lt;br /&gt;&lt;br /&gt;我並非一個唯恐天下不亂的無知者，卻比任何人都更期待與盼望世界和平，如果日本人的『櫻花革命』能夠成功，我會實現我的諾言，反過來鼓吹全世界『善待你們』，鼓吹大家接納日本人。&lt;br /&gt;&lt;br /&gt;福島核災之後，日本人的生活空間再度被自己的惡劣行為壓縮得更為窄小了，還繼續搞下去，以後怎麼辦？&lt;br /&gt;&lt;br /&gt;決定不搞而『無核、無兵』了，我就會全力協助你們，鼓吹世界各國『善待你們』。&lt;br /&gt;&lt;br /&gt;澳洲、加拿大、俄羅斯…等國，都還有廣大空曠的領土，可以多接受一點願意和平過生活的日本人。&lt;br /&gt;&lt;br /&gt;美國對著你們實際丟過兩顆原子彈，瞬間就殺死了那麼多日本人！弄得炸過的空間永遠受害，那種世世代代永遠忘不掉的痛苦與仇恨，只有日本人自己最知曉，你有核、有兵，我就絕不相信你不回敬美國。所以就算美國的生活空間再擠，擠了三億多的人口，美國在道義上還是應該騰出一點空間，來協助日本疏散核子災區的人口，但不能指定在內華達州，那裡搞過太多核子試爆。&lt;br /&gt;&lt;br /&gt;中國雖擠，必然也願意善待『無核、無兵』的近鄰日本災民，至少北大荒還有空地，可以接納一點災民，可以表示一點仁慈。&lt;br /&gt;&lt;br /&gt;『櫻花革命』不一定要殺人、見血。&lt;br /&gt;&lt;br /&gt;就像真誠研究四書、論語，建立孔子講求的『博愛』、『道德』思想，靠的是筆桿不是槍桿。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;轉載地震專文之三中鼓吹的『櫻花革命』&lt;br /&gt;&lt;br /&gt;曾慶潭2011-04-02於紐西蘭&lt;br /&gt;Ching-Tang Tseng&lt;br /&gt;ilikeforth@gmail.com&lt;br /&gt;http://forthfortnight.blogspot.com&lt;br /&gt;&lt;br /&gt;&lt;b&gt;我對日本政府的作風確實憤怒，我支持日本全國國民立刻進行『櫻花革命』，支持他們『無核、無兵』的民意主張，完成了革命，繼續維新，才能得天之助，才能無『大津波』(日語的大海嘯)。全世界的日本人必須永遠記住！有格有方的中國人不會想去欺負日本人，但是，只要你們有核、有兵，中國人就不可能善待你們，這是目前全世界最有道德修養、博愛世人之中國人，所能教導你們治理國家的最正確方法，它的精神來自四書，是孔子的思想。維新只學西方資本主義國家的投機、貪婪，只不過是維了半新，健全的道德思想只有中國才有，學了才能維成全新，我勸你們不要因為只維了半新而自取滅亡，所以全力支持你們進行『櫻花革命』。&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;台灣同胞則請不要光看文章而忘了深自反省。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1097161848825759583-1611799554240625853?l=forthfortnight.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://forthfortnight.blogspot.com/feeds/1611799554240625853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1097161848825759583&amp;postID=1611799554240625853' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/1611799554240625853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/1611799554240625853'/><link rel='alternate' type='text/html' href='http://forthfortnight.blogspot.com/2012/01/abc-dorth11-20.html' title='ABC FORTH系統通告彙編(11-20)'/><author><name>Chings World</name><uri>http://www.blogger.com/profile/15191167870271612229</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_AchTsJsrvZw/STdFzdxFJaI/AAAAAAAAAAM/ZR_kphZVVHQ/S220/PC040006.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1097161848825759583.post-7556487700676094157</id><published>2011-12-15T11:40:00.000-08:00</published><updated>2011-12-15T12:38:59.139-08:00</updated><title type='text'>一套會講中文的程式語言</title><content type='html'>&lt;b&gt;(獻給全體中國視障同胞)&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;曾慶潭2011-12-16於紐西蘭&lt;br /&gt;Ching-Tang Tseng&lt;br /&gt;ilikeforth@gmail.com&lt;br /&gt;http://forthfortnight.blogspot.com&lt;br /&gt;&lt;br /&gt;我就拿文章的標題上網搜尋資料，確定截至目前為止，沒有人設計出這樣的程式語言系統。FORTH是天生能夠使用中文文字的程式語言，沒什麼好強調的。&lt;br /&gt;&lt;br /&gt;兩年前，我令FORTH系統『會講英文』之後，雖然可令FORTH系統的性能，大為領先其他程式語言，也沒什麼好強調的，因為，那是講英文之世界裡的問題，與中國人無關。&lt;br /&gt;&lt;br /&gt;今天，我令FORTH系統『會講中文』，則不同凡響。此前，電腦軟、硬體的性能，未發展到足夠配合的程度之前，也難以設計。現在，能否設計出這樣的系統？只是存乎一心而已，我只寫了不到半頁的程式，就以Win32Forth V6.14系統實現了這樣的設計。總共只設計了兩個指令，『發音』與『朗誦』，就足夠用來讓這個程式語言『講中文』。&lt;br /&gt;&lt;br /&gt;八個精簡範例應用程式，列示如下：&lt;br /&gt;&lt;br /&gt;: test1&lt;br /&gt;龍 發音 飛 發音 鳳 發音 舞 發音 ;&lt;br /&gt;: test2&lt;br /&gt;s" 龍飛鳳舞，龍吟虎嘯。" 朗誦 ;&lt;br /&gt;: test3&lt;br /&gt;s" 勸君莫惜金縷衣，勸君惜取卲年時。" 朗誦&lt;br /&gt;s" 花開堪折直須折，莫待無花空折枝。" 朗誦 ;&lt;br /&gt;: test4&lt;br /&gt;s" 這是宜套會講中文的程式語言。" 朗誦&lt;br /&gt;s" 所有相關設計，敬獻給全體中國視障同胞，非份者，請勿取用。" 朗誦 ;&lt;br /&gt;: test5&lt;br /&gt;s" 爽兄，我已實現了能夠完全自動語音輸出中文的程式設計，從現在起。" 朗誦&lt;br /&gt;s" 隨便打中文，系統就能自動輸出了，不再需要人工作業。" 朗誦&lt;br /&gt;s" 辛苦的發展有了基本成果，也沒有辜負戚老的苦心。" 朗誦&lt;br /&gt;s" 我將繼續發展把愛心獻給視障同胞的工作，我要讓視障同胞能用它來聽世界名住。" 朗誦&lt;br /&gt;s" 用它來寫作。目前的成果僅送給您與戚老，是為了報答您的協助與戚老的貢獻。" 朗誦&lt;br /&gt;s" 但拒絕把這個系統公開，或送給不是視障的人，我說過我要防止別人藉機斂財。" 朗誦&lt;br /&gt;s" 系統的品質雖然不是最好，但面對一般中文而言，使用起來已無問題。" 朗誦&lt;br /&gt;s" 以後有更好的發音辦法後，我就也能實現品質更好的設計。" 朗誦 ;&lt;br /&gt;: test6&lt;br /&gt;s" 花間亦壺酒，獨酌無相親，舉杯邀明月，對影成三人。" 朗誦&lt;br /&gt;s" 月既不解飲，影徒隨我身，暫伴月將影，形樂需及春。" 朗誦&lt;br /&gt;s" 我歌月徘徊，我舞影零亂，醒時同交歡，最後各分散。" 朗誦&lt;br /&gt;s" 永結無情遊，相期邈雲漢。" 朗誦  ;&lt;br /&gt;: test7&lt;br /&gt;s" 生命的意義在創造宇宙繼起的生命" 朗誦&lt;br /&gt;s" 生活的目地在增進人類全體的生活" 朗誦  ;&lt;br /&gt;: test8&lt;br /&gt;s" 實行三民主義統一中國" 朗誦  ;&lt;br /&gt;&lt;br /&gt;執行從test1到test8的這幾個指令，就都能讓這個系統立即、自動、唸出程式內所安排的指定中文。&lt;br /&gt;&lt;br /&gt;搞非FORTH程式語言的程式設計者，您見到這樣的表白方式，請不要嫉妒到想從上述的雞蛋裡挑骨頭，有幾個字不是您才能發現的錯誤，是故意的安排，是為視障同胞刻意的安排，不是為您而安排。而且，短期內我就能自行解決中文『破音字』的發音問題，不用您煩心，假設文中夾雜英文、見不到的格式碼、見得到的圖形資料，都不用您煩心，我有本領解決。該您煩心的事情，是您若還設計不出這樣的系統，應該趕緊跟進，羨慕有理，嫉妒無用。&lt;br /&gt;&lt;br /&gt;有朋友介紹我去參觀能唸中文文字的個人網頁，我看過了，嗤之以鼻。因其語音輸出能力，也還停留在逐字輸出的水準上，它不是程式語言，只是一個簡陋的視窗應用軟體，您想用，就只能用它以單字方式唸出中文，不能做其他任何事情，您自己能唸出的中文，都比這種產品高明太多了，何須用它？還有，買到的這種東西，根本不給音源，您要另行發展中文語音輸出於其他應用時，依然是得自行設法，買的結果，就是白花了錢。&lt;br /&gt;&lt;br /&gt;這篇網文就來仔細談一談『會講中文之程式語言』的發展。&lt;br /&gt;&lt;br /&gt;一般而言，中華民國的國民，基礎中文教育，主要被安排在高中國文課程的教育之中，唸完高中，大學是專業分科教育，國文教育便不再是要求重點。但良好的高中國文基礎，足夠讓您自行繼續充實這方面的知識，可以讓您自己終身全面使用中文。我接受過中華民國政府提供過的完整基礎教育，能使用中文。&lt;br /&gt;&lt;br /&gt;我從武陵中學高中畢業，從這個學校畢業的學生，程度如何？要由社會評鑑，我說了不算。但是，我知道那裡有很好的國文老師，當年，曾有老師教了幾年國文，竟然被聘為中國文化大學的講師，只好離職去教大學了。&lt;br /&gt;&lt;br /&gt;我38歲就被國軍淘汰，只好從公職退休了，打算另謀高就時，曾經試著應徵台灣玻璃關係企業的子公司：固相公司的廠長職務，該公司老板澈底調查我是否真的從『武陵高中』畢業？經查屬實後，積極爭取我協助該公司完成從汐止搬遷到南崗工業區的工作。他與他的特別助理，對我的大學學歷及核子工程專長沒有興趣，卻問我高中時代的校長是誰？我立刻回答說是馮堯春先生與宋金印先生，兩人同時眼睛一亮，當時，我對這種反應，確實是不明就裡，現在則引以為榮。我離開公職後，曾為幾家私營企業公司服務過，自覺，為任何一種企業幹總經理，我都能幹，包括我自己開的公司，也能幹，我只幹過總經理，沒幹過不是總經理的工作。&lt;br /&gt;&lt;br /&gt;我終身記得我的國文老師吳祥熊老師，教我如何讀古文，一輩子都記得『上文不懂看下文』、『音同則意通』的讀書技巧。他要求我們寫文章時，不要以濫用古文來自鳴得意，文章要寫得人人都能看懂、讀了通順才是好文。可用的中文好字這麼多，專寫怪字，並不代表高尚，寫正確了才重要。&lt;br /&gt;&lt;br /&gt;他曾介紹我們英翻中講求信、達、雅技巧的重點，也稱讚過商務印書館出版的一本世界名著：『飄』(Gone with the wind)小說中，譯者將人名全譯成標準三個字的高明譯法，如白瑞德、郝思嘉，衛希禮……等。&lt;br /&gt;&lt;br /&gt;他說詩、詞、賦都可以自己看書後學寫，但學來寫酸溜溜的東西就沒有意義，至少代表它沒有傳頌價值。寫文章要避免掺入武俠小說式的江湖氣，那會貶低自己，反不如不要為文。文章中講求道德，能夠代表為了自己，講求愛心，就能代表為了別人。&lt;br /&gt;&lt;br /&gt;國文老師他不只講解國學常識、教我們讀書技巧，還教書中、文中的精神，經常要求我們多多理解紙底下的東西，以及作人處事的道理，我終身受益，感激不盡。&lt;br /&gt;&lt;br /&gt;現在的國文老師，教不教這些教國文時應該附帶卻非常重要的東西？或者是只教如何去中國化？積極培養社會小忿青。碰到這種老師，您就可以終身嗤之以鼻，也代表了您真的非常不幸，國家跟著不幸。&lt;br /&gt;&lt;br /&gt;上述這些國文教育資歷的簡介，能夠讓我進行中文語音輸出發展時，不會走得太離譜。我所發展完成的系統內容，澈底採用中華民國固有的正體中文資源，完全刻意排斥大陸的拼音或文字顯示格式。&lt;br /&gt;&lt;br /&gt;我當然能協助大陸完成同樣的設計，但那絕不是我該做的事情，尤其是我根本不恥於使用英文字母來拼中國文字的音，我是道道地地的中國人，是一個比大陸同胞還要中國的中國人。&lt;br /&gt;&lt;br /&gt;今年九月十七日，我們在中原大學開FORTH月會，在蔡育秀博士的號召下，來了不少人與會。我結束演講後，已從海洋大學退休許久的戚桐欣老前輩，親自走上前來，要求買一本我寫的『ABC FORTH數學計算系統使用說明』以示支持我的發展。&lt;br /&gt;&lt;br /&gt;此前，我沒跟戚老講過話，只知他與朱邦復、丁陳漢蓀老師都熟，我立刻回答戚老：『您都八十幾歲了，別買我的書了，您要，我就送您一本，看不看都沒關係，留著晚輩的拙著當紀念。我賣的書都不能賺到錢，但不買的人，就難以使用我所設計的系統，或者是難以與我交流技術。』&lt;br /&gt;&lt;br /&gt;戚老邀請我去基隆他家，準備將他長期搞出來的中文發展資料，全盤轉贈給我。不幸，半個月的重感冒，耗去了我能留台辦事的時間，離台前，因為多次的應酬，飲食失控，痛風發作，若再去找戚老，肯定必須再度大吃一場，那就完了。因此，我爽了約，只能電話答謝後離台返紐。&lt;br /&gt;&lt;br /&gt;我知道戚老多年來的中文研究心血結晶，傳贈給過不少人，但不太有人理會，或繼續進行延伸性的發展。戚老過去也未見過我有什麼本事？能幹甚麼事情？這次聽我講過一場怪裡怪氣的演講，特來關心一下。&lt;br /&gt;&lt;br /&gt;我在『獨特的語言經驗』文末說過，我想把MIDI硬體拿來當講人話的裝備使用，仁愛一下，為視障同胞發展一些東西。我試用了戚老的資源，感覺可以派得上用場，但要耗些時間與勞力修改後才能發揮作用。因此，發動了一次『FORTH活動』，試做『語音輸出百家姓與千字文』，希望能集眾人之力完成此事。&lt;br /&gt;&lt;br /&gt;活動初期，對參與活動者是否真誠的參與？缺乏感覺，於是出了習題強迫參與者答覆，以便了解狀況，結果發現了嚴重問題。如果活動了一個多月，參與者只想白拿傳給他的技術資料，連拼幾個百家姓來找出對應音檔的簡單分擔工作都不肯貢獻，或者敷衍了事，甚至於連安裝起Win32ForthV6.14系統的最基本要求都不肯做，而成天去網頁上『打屁』抱怨，任何人都能明白這是一種什麼狀況？絕對代表了白搞了這樣的活動，那就應該毅然決然的中止活動，我這裡絕不提供白吃的午餐。&lt;br /&gt;&lt;br /&gt;以後，我也搞清楚了，別再舉辦這種活動，後續發展只宜自己搞。大多數的參與活動者，都很合作的完成了百家姓的程式編寫工作，但對他們的日常生活，產生了不少影響。因此，千字文的程式設計，改由我個人獨自完成。&lt;br /&gt;&lt;br /&gt;發展了兩個半月，遭遇過不知多少次的失敗，挖空了心思，想盡辦法解決問題，連我太太都加入了提供意見的行列，我們每天散步時，都討論為視障同胞設計中文語音輸出程式語言的問題。&lt;br /&gt;&lt;br /&gt;大師兄陳爽成為這次活動的最後支撐者，有許多大型的苦工，都是由他親手完成的，與他連絡卻無法及時得到答覆時，我開始動家人的腦筋，請小女兒小真幫忙，用她寫論文時慣用的軟體工具，幫忙我編製那種一萬多筆資料的大型檔案。女婿得知了，乾脆來為我安裝適合解決這類問題的現代軟體，為了達到目的，幾乎是全家總動員，所有材料彙整交到我手裡時，難免還有一些問題，我就得進行零星測試後修改。我不是一個肯輕易低頭的人，晚上可以少睡一點，就是要把工作完成，正常的飲食與健康的生活，就交由我太太強制干涉來維持。&lt;br /&gt;&lt;br /&gt;昨晚趕出了結果，讓程式只剩半頁，雛型立刻傳請陳爽幫忙驗證，代表以後靠網路傳輸後依然能用，在紐西蘭，我無法隨時說走就走，趕回台灣，只能靠網路傳送。後續當然還有許多發展工作得做，系統功能不是僅只這樣而已。&lt;br /&gt;&lt;br /&gt;能講中文的程式語言有甚麼用？對大多數人而言，根本沒用。那麼，發展這種系統的過程中，就會令發展者經常感到相當痛苦。我是為視障同胞而發展，抱持著這種心態，才能安慰自己，忍受痛苦繼續發展。&lt;br /&gt;&lt;br /&gt;發展數學計算系統時，我為自己找到發展的目標與理由，才能發展成功。同樣的，發展中文語音輸出程式語言時，我也需要健全且有意義的理由來驅動發展，那就是為視障同胞服務，我說過我想設計出『啟明FORTH』，提供給視障同胞使用，這就是理由。&lt;br /&gt;&lt;br /&gt;學習語言的過程是聽、說、讀、寫，視障者不能讀，怎麼辦？我代勞。&lt;br /&gt;&lt;br /&gt;我唸高中的時候，見到聯合報上刊登廣告，徵求義工，為視障小幼苗錄製朗誦世界名著的錄音帶，心中就深受感動，但那時，我連買張車票去當義工的錢都沒有，能幹什麼？因此，一輩子記得這件事情，希望有一天能夠為他們澈底解決讀、寫的問題。&lt;br /&gt;&lt;br /&gt;我們的社會，大多數人都不理會視障同胞的事情，讓他們大都躲在暗處，靠色情按摩維生。我也不斷的聽說，管視障同胞事務的某些人，藉機向政府、社會要錢，是既得利益者，不容外人涉入其事、以免被斷了財源。其他的惡劣行徑，就別在這裡繼續寫下去了。&lt;br /&gt;&lt;br /&gt;我只是個小人物，管不了這麼多骯髒的社會現象，但懂得一點FORTH，自知能設計得出視障同胞可以終身使用的工具來。昨晚，我完成的設計，就能用來發展自動朗誦世界名著的程式。&lt;br /&gt;&lt;br /&gt;現在市面上已經有人販賣軟體，讓正常人操作電腦，黏貼一段中文短文，讓電腦讀出來，但除了讀出來，不能做其他任何事情。&lt;br /&gt;&lt;br /&gt;我設計的是程式語言，它能叫出一本世界名著，自動朗誦出來，還能操控電腦，同時進行其他事情，包括設計程式，以便解決視障同胞才有需求的操控設計，這是一套中、英文都會講的程式語言。&lt;br /&gt;&lt;br /&gt;視障同胞的電腦寫作工具，也能根據這樣的程式語言設計出來，自動發出中文語音，可以作為響應操作後的結果，既然是FORTH程式語言，當然能夠用它設計出編輯軟體，視障同胞就能用來寫作，寫出他們的心聲，當個偉大的作家，像海倫凱樂(Helen Keller)那樣，不必只靠按摩維生。&lt;br /&gt;&lt;br /&gt;啟明學校裡的視障小幼苗，可以使用這樣的系統來學習與寫作業，解決讀、寫困難的問題。也能用來寫信與我聯繫，告訴我，還需要什麼操作功能？我能聽到小幼苗的心聲，也能傳達我的鼓勵。寂寞時，也能打幾句話來嘉勉自己。&lt;br /&gt;&lt;br /&gt;我發展系統所採用的方法，是車庫軟體式的發展技術，所以品質還不太好，是戚老提供的免費資源，陳爽提供的編輯資料，沒有任何人提供經費。若公開設計內容，肯定會斷掉許多人的既得利益，或者是被拿去藉機斂財。這是一套會得罪人的設計，但不必強調要讓視障同胞知道此事，反而應該要讓既得利益者明確的知道此事。網文留在這裡，全世界每天都有人來觀賞，其意義是告訴大家，不要再利用視障同胞掘利，要重視能讓他們正常生活的基本人權問題。&lt;br /&gt;&lt;br /&gt;只要取得更好的音源，我就有本事進行同樣的設計，這篇網文公佈這個第一套系統的基本功能，形同正式的宣告：一套『會講中文的程式語言』已經誕生。&lt;br /&gt;&lt;br /&gt;文末，我講一個最近才親眼目睹，令人難過的故事。&lt;br /&gt;&lt;br /&gt;紐西蘭是一個注重社會福利的國家，所有視障國民，可以獲得政府無條件的妥善照顧，包括終身可以獲得完成訓練的拉不拉多導盲犬，協助他們外出活動。大眾也都同情視障同胞，主動對他們表示友善，並給予應有的禮讓。所以，我們居住的區域，經常能夠見到一位瘦弱的視障女士，牽著導盲犬上街來購物，我們散步時，偶爾會碰面，也互相打招呼，我們會主動先行繞到不牽狗的這一邊行走。&lt;br /&gt;&lt;br /&gt;有一天，我們散步時，又與這位視障女士碰面了，她笑臉回應我們的問候。突然，我們的身後發出了另外一隻狗的狂吠，是另外一位溜狗人士，帶著一隻大狗溜過此地，我毫不猶豫的以身體擋在兩隻狗間，避免發生事情，卻不敢向後挑釁那隻想要攻擊導盲犬的沒教養狗，緊張的觀察視障女士的表情，她面露恐怖之色，只能以兩手抓緊了狗的頸項鍊，強壓著導盲犬坐下。我太太則示意溜狗人走別處的路，趕快離開這裡。我也第一次看到紐西蘭人，因為憤怒而踢他自己養的那隻沒教養的狗，事後，大家都捏了一把冷汗。&lt;br /&gt;&lt;br /&gt;若想檢討避免讓這種事件再度發生，那就是溜狗人士根本不該溜狗到此，或者是遠遠見到導盲犬時，溜狗者就該主動改道。那天，我沒被狗咬到，算我幸運。&lt;br /&gt;&lt;br /&gt;回顧台灣，許多人都養狗，並且整天縱放於外，導盲犬能用嗎？&lt;br /&gt;&lt;br /&gt;很多人發展與設計語音處理軟體，都想賺錢，視障同胞能用嗎？&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1097161848825759583-7556487700676094157?l=forthfortnight.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://forthfortnight.blogspot.com/feeds/7556487700676094157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1097161848825759583&amp;postID=7556487700676094157' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/7556487700676094157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/7556487700676094157'/><link rel='alternate' type='text/html' href='http://forthfortnight.blogspot.com/2011/12/blog-post_15.html' title='一套會講中文的程式語言'/><author><name>Chings World</name><uri>http://www.blogger.com/profile/15191167870271612229</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_AchTsJsrvZw/STdFzdxFJaI/AAAAAAAAAAM/ZR_kphZVVHQ/S220/PC040006.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1097161848825759583.post-2768973145563994457</id><published>2011-12-01T03:33:00.001-08:00</published><updated>2011-12-01T03:33:41.596-08:00</updated><title type='text'>人助自助者</title><content type='html'>曾慶潭2011-12-02於紐西蘭&lt;br /&gt;Ching-Tang Tseng&lt;br /&gt;ilikeforth@gmail.com&lt;br /&gt;http://forthfortnight.blogspot.com&lt;br /&gt;&lt;br /&gt;    嚴格說來，這一個月我根本沒有時間打網文，每天也只有零星的時間上網或發展程式，休息時就感到肌肉酸痛，想解程式問題時，也只能產生斷斷續續的思考。&lt;br /&gt;因為我要自己修車，拆換兩輛車子的避震器，屬於車底盤重型危險工作。另外還得互換兩輛車子駕駛座旁，車門的兩個活葉支撐配件，門很重，也不能全拆下來，工作不好做。&lt;br /&gt;    自用車子遇到這種問題，換成一般大眾，只好花錢請修車廠代勞了。我則有能力完全自行修理後，讓車子通過紐西蘭公定的車輛制式定期檢查(WOF, Warrant Of Fitness)。為什麼一次要做兩輛車子？因為我要憑本事節省到完全不用花錢的程度修好車子，取用崔保忠學長贈送的廢棄車子料件，轉用到自己的車子上，做完工作後，必須讓廢棄車子保持仍然堪用狀態。&lt;br /&gt;    打這篇文章時，已經完成了避震器的拆換，車門活葉稍後再做，紐西蘭的制度是驗車未能通過時，車主保有一個月的維修期，足夠寬鬆，因此，我能選擇晴天、不忙時才工作。&lt;br /&gt;    自己修車就跟現今自己搞許多新的FORTH系統一樣，沒書可讀，一切只能看著辦。您若只想花錢省事，那就不用談這些情況，如果不肯低頭、不肯認命，怎麼辦？確實難辦。不幸，現今整個世界，人生確實就得經常面對這些問題，由不得您。&lt;br /&gt;    但是，解決問題的辦法，並不是一切無跡可尋，要有耕耘才會有收穫，天助自助者，人也只助自助者。光是怨歎，不會有結果，現在就讀一讀這篇網文，也許能夠獲得一點啟示、一點助益，這篇文章就談一談這方面的事情。&lt;br /&gt;    現代公開的大型FORTH系統，確實都大到創作者也難以全面寫出整個系統的使用說明文件。有具體文件的系統當然很貴，使用者請自己選用，完全合情合理。那麼，這種情況是不是等同於宣告了FORTH推廣工作的死期？完全不是的，否則，我怎麼可能自己修車？兩者情況是相類似的。&lt;br /&gt;    記憶體容量很大、也不貴，所以現今的FORTH系統，完全透通的源程式，可以大方使用全名而不用縮寫字當指令名稱，這一點與古時候的FORTH系統資源澈底不同，系統無書可讀的問題幾乎降低了一半。&lt;br /&gt;好系統中的源程式，指令說明也都寫得清清楚楚，另外為指令寫成的書，遠離了真實的程式，反而表達得更不清楚了。&lt;br /&gt;好的創作者，通常伴隨系統附贈了精彩的範例應用程式，簡明扼要的表達了整個系統的使用方法，許多只能會意不可言傳的東西，文字書本都難以表達，不這樣做，還真不知道要如何傳承創作技術呢？&lt;br /&gt;其實，上述的不正常現象，對推廣FORTH所產生的打擊並不嚴重，問題的嚴重性，起自於整個社會的學習心態。忠言都是逆耳的，這樣的網文看起來就令人心生不滿，因為本文在批評學習者的心態。&lt;br /&gt;很多人不讀書卻說沒書可讀，不用FORTH卻說FORTH不好用，自己都不用的FORTH，卻介紹給大家使用。我講了實話，聽起來卻非常逆耳，是吧？&lt;br /&gt;如果只想讀一本書就能搞通FORTH，有！這本書就是Forth, Inc出版發行，由薄利歐(Leo Brodie)先生所著的『Starting FORTH』。看不懂英文，也有台灣鄒靖寧老師翻譯，儒林圖書公司出版的『FORTH入門』可讀。中國大陸也有黃勝先生所譯，海潮出版社印行的另一本『FORTH入門』可讀。買不到書，設法去借，或乾脆網上下載全英文的資料，逐字逐句的啃到底，我就不相信您還搞不懂FORTH！怎麼會沒書，是您不肯讀書！這些書都是紙本實體書，不是雲端虛擬書，書中若有不合時宜的部份，略去無傷大雅，不影響澈底了解FORTH。&lt;br /&gt;還有，其他書我就不覺得有建議給大家的絕對必要性了，包括薄利歐先生後來另寫的一本『THINKING FORTH』亦然。面對現今大家都只看那『幾把刀』的心態，我就迎合您們，簡單告訴您我的經驗，可以不必浪費時間去讀任何其他FORTH相關書籍了。如果嫌我講得太苛刻了，那麼，丁陳老師、金城老師的書也都還存在現今的世界上，為什麼不去找來讀通它們？怎麼沒書？？？&lt;br /&gt;其他的書或網上的譯文，就寫得像普通的使用手冊，浪費時間去讀，就真的划不來。硬要搞一本手冊，莊哲維譯成的全套ANS FORTH，可以網上免費下載，是他的熱心貢獻，我都讀了，您為什麼不仔細的讀？任何人都不該再公開講沒有FORTH書可讀了！！！&lt;br /&gt;為了避嫌，我自己寫過的書或文章，此處一本、一篇都不介紹，可以吧？想全盤了解系統或結構，eForth的源程式散佈得到處都是，找丁陳老師買一本小冊子仔細啃，啃完還搞不清楚FORTH基本精神，從此之後終身別再搞FORTH。&lt;br /&gt;有經驗的老手，推介Win32Forth系統，作為台灣推廣標準，公佈為推廣標準當初，與我完全無關，但我尊敬老手的決定。此系統健全好用，兩本免費的書，由諾裘利(Julian V. Noble)先生與貝知默(J. L Bezemer)先生著作，幾乎做到了隨系統附贈的程度了。有人不讀、不學、不用，對群眾沒有影響，也就罷了。若來批評這個系統的不是！卻介紹一個連自己也不用的系統給大眾，那就心態可議了。已所不欲，快施與人，是『幾把刀』教您這樣做？那就讓大家看看，您將來還想往身上自插幾把刀？&lt;br /&gt;老手未必是高手，但老手努力用過系統之後，提出來的嚴重問題，就是真正的嚴重問題，老手希望反對看法的人努力克服問題造福人群，但是直到今天為止，那些嚴重問題沒有人解決過。&lt;br /&gt;您自己也無能解決，又不肯聽逆耳忠言，卻繼續誤導群眾，讓大家浪費時間陪您鬼混您想混的那個系統，我會跳出來講話。更有甚者，這幾天還看到認為自己也是FORTH老手者，只顧表現自己也設計了自己的FORTH系統，就來反對Win32Forth，請問您設計的系統對社會進行過多少貢獻？能比Win32Forth系統好？努力貢獻過再來介紹吧，不想貢獻也沒關係，您請自用，既然自認為是老手了，就更不應該對推廣標準進行破壞，否則，我直說，您是別有心機。&lt;br /&gt;我的網文內早已說過那種系統不能用的原因，您不讀也不學，卻引用一大堆程式語言來狡辯，語言『懂』得多了代表甚麼？不代表甚麼，只顯得有點輕浮不穩，貢獻幾百個程式教育社會才有意義，列出幾百種程式語言的名稱沒有意義。我則絕不重寫寫過的東西，為此，我反不覺得您還是FORTH老手，卻認為您只愛現別種程式語言。&lt;br /&gt;您自己或自願附和者享受自己的系統，我絕無異議，要不然您就耗費上萬個小時，寫它幾百個程式，證明您想介紹的系統不是老手講的那樣：『具有嚴重問題，將來會搞不下去』，我就慎重其事的跟你學。網頁上推廣自己設計的系統，推不下去者，都因吹噓所致，使用Win32Forth系統作為推廣標準，就沒有這些問題，多少年來，它恆只忍受大家的攻擊，包括現在台灣的不用之客。&lt;br /&gt;有人不願合群共襄盛舉，卻老批評FORTH系統都只能獨搞，這樣的批評又誤導群眾了。Win32Forth系統的程式貢獻者何止幾十人？包括我們台灣的白日東醫師在內，總數可能超過百人，國家遍及全世界，年代超過十八年，截至目前為止，那一個系統能像它一樣？我用FORTH三十幾年，從未見過。就算發現後來的版本，越來越不像話，我卻仍然忍受問題，繼續共襄盛舉，超過百人貢獻出來的系統，每個程式我都看得下去，能稱這個系統為獨搞嗎？我看批評者才真孤獨，來合群吧，合群才得歡心，孤獨當然鬱卒。&lt;br /&gt;截至目前為止，無論什麼層次的人，從十歲到八十歲(我已試推廣過)，無論什麼時候，只要您真心誠意的想學FORTH，就請直接開始接觸Win32Forth系統，它完全不要錢，資源多到您看不完，我曾使用它超過上萬小時，寫成過上百個程式，這個網頁內曾經刊載過的程式，幾乎都是為Win32Forth系統而寫。此前，任何其他FORTH系統，都不值得我這樣子下功夫無條件奉獻，那些基本作法上就出問題的殘障系統，我終身都不想再碰。如果您公開談論批評FORTH幾個月，卻連Win32Forth系統都裝不起來，省省吧，免得到了後來，大家都發現您根本不貢獻，努力貢獻過的人，出一個小問題，要求展示您自己設計之系統的真程式，就能令您難堪。&lt;br /&gt;任何程式語言都可以搞，但別說FORTH的不是。任何FORTH系統也都可以搞，但不要來破壞FORTH社群可以用來溝通的推廣標準，我能證明在64位元系統上跑Win32Forth系統還好用得很，新時代會自然產生適合用來溝通的新標準，值得使用的新標準還沒有出現，以後會有，現在倒是可以確定，不會是您設計的那種殘障系統，您想獨挑大樑自己推廣，那就很好，我們早就願意退休了，過去這幾年FORTH的沒落時期，您為什麼不做？要不然，我設計系統時，早就會從您想搞的系統開始，不會是Win32Forth系統。在我之前的人，辛苦推廣Win32Forth系統時，您躲在那裡？這是不是台灣目前普遍的心態？&lt;br /&gt;習慣使用非FORTH程式語言的人，容易以它種語言的方式，誤解FORTH的基本觀念。我發動一次FORTH活動，從大家來往的過程中就能體會出來，活動主旨要介紹Win32Forth系統的使用方法，目標只唸百家姓，大部份人都沒興趣參與，因為百家姓有什麼好唸的？搞編譯式程式語言者，確實可以這樣想，搞FORTH程式語言尤其是Win32Forth就不能這樣想。&lt;br /&gt;別種程式語言設計完唸百家姓的程式後，產品真的就只能唸百家姓，不作它想。FORTH系統作完了，唸百家姓的功能成為系統中的一個增用指令，後面可發揮的空間無限，彼此狀況完全不同。您不想參與，就失去與我交換使用FORTH系統經驗的機會，我也失去向您學習的機會。活動不容易舉辦，我則學到了不少東西，很值得。我帶頭活動後，參與者能得到什麼東西，那得捫心自問，人助自助者，人不助不自助者。&lt;br /&gt;現代FORTH的使用方法，與傳統FORTH的使用方法也有很大的不同，參與活動者見過我提出來的一些新東西，也還有很多新東西沒被提出來，FORTH外界的所有資源，現代FORTH都能叫來使用，就算您不愛用Win32Forth系統，也別再幼稚到老愛提及『無法利用外界大量資源』的這一說詞，來批評FORTH的不是，老手您自己看得懂名家設計的核心程式，十幾年前『操控一下FORTH系統的UP就達到目的了』。若您自己喜歡設計系統，卻沒這種本領，您的FORTH觀念豈不是落伍了十幾年？沒關係，不會就該好好學一學。文章看到這裡，趕緊去追蹤一下我講的指令，全部只用五、六個組合語言指令，就能完成設計，學會了，就在心中為這個系統道歉，以後別再光靠批評Win32Forth系統的不是丑表自己。&lt;br /&gt;我們使用FORTH都三十幾年了，想學FORTH的新手，無論您怎麼要求，絕不能要求老手老是只能跟您談基本指令，實體書早就擺在那裡，人只助自助者，人除了睡覺能增肥外，人間沒有可以不勞而獲的東西。如果您真想學通FORTH，到青海省北大荒也能學得通，心意不誠，拜甚麼師也沒有用。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1097161848825759583-2768973145563994457?l=forthfortnight.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://forthfortnight.blogspot.com/feeds/2768973145563994457/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1097161848825759583&amp;postID=2768973145563994457' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/2768973145563994457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/2768973145563994457'/><link rel='alternate' type='text/html' href='http://forthfortnight.blogspot.com/2011/12/blog-post.html' title='人助自助者'/><author><name>Chings World</name><uri>http://www.blogger.com/profile/15191167870271612229</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_AchTsJsrvZw/STdFzdxFJaI/AAAAAAAAAAM/ZR_kphZVVHQ/S220/PC040006.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1097161848825759583.post-1935603027483098038</id><published>2011-11-15T17:59:00.000-08:00</published><updated>2011-11-16T18:29:36.485-08:00</updated><title type='text'>FORTH活動</title><content type='html'>曾慶潭2011-11-16於紐西蘭&lt;br /&gt;Ching-Tang Tseng&lt;br /&gt;ilikeforth@gmail.com&lt;br /&gt;http://forthfortnight.blogspot.com&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;這個月的月初開始，我透過中華民國FORTH語言協會的網站FigTaiwan，宣佈發起了一次FORTH活動。主旨是讓參與活動者，能夠增進使用Win32Forth系統的能力，活動目標簡化成『語音輸出百家姓、千字文』。&lt;br /&gt;訊息在上述網站刊出至今，我們已正式的活動了半個月，進展順利，我自己也從活動中獲得了許多益處。事實上，我們已令電腦中的Win32Forth系統將百家姓唸出來了。參與活動者能夠得到什麼東西？只能捫心自問，也可能只是垃圾一堆，該自己體會。&lt;br /&gt;不幸，我抽空回頭檢視FigTaiwan網站固有訊息時，發現了宵小搞小動作的情況，許多過去曾經發佈過的FORTH實作程式，被刻意的刪除了。今天，會發生這種事情，是早就在預料中的問題，我們必須面對社會上永遠存在的無恥之徒，做好準備工作。&lt;br /&gt;我自己的網頁，自己完全能夠控制，資料都存在從來不上網的電腦中，這種作法，就是用來面對破壞問題的。FigTaiwan已經破壞的訊息，我可以在這裡逐步恢復。這次事件恰好給我一個機會，重新整理一些想貼而不想拿掉的網文，第一篇，就是此次發起活動的公告，宵小刪除不掉，他是自取其辱。&lt;br /&gt;&lt;br /&gt;今後，我就以控存資料從1開始的編號，一路恢復下去，將我想貼而不想拿掉的網文，重新貼回我自己的這個網頁。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;控存資料1&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;2011年10月27日，周四, ching &amp;lt;ilikefo...@gmail.com&gt; 寫道： &lt;br /&gt;發件人: ching &amp;lt;ilikefo...@gmail.com&gt; &lt;br /&gt;主题: [符式協會:2740] 發起FORTH活動！ &lt;br /&gt;收件人: "符式協會" &amp;lt;figtaiwan@googlegroups.com&gt; &lt;br /&gt;日期: 2011年10月27日,周四,下午3:08 &lt;br /&gt;&lt;br /&gt;Win32Forth雖為現行推廣標準系統，看來能順利使用的人還很有限，因此，想藉此活動讓大家培養一些使用能力。 &lt;br /&gt;&lt;br /&gt;不限制任何人參與活動，包括爽兄及任何一位前輩，時間暫定為自本意見發佈後，一期三個月。&lt;br /&gt;&lt;br /&gt;使用的基礎系統：固定為推廣標準之Win32Forth V6.14版系統，電腦及作業系統的版本則不予限制，可以是XP也可以是W7，但為配合此次本人自定的主題，電腦必須具有語音輸出的基本功能。&lt;br /&gt;&lt;br /&gt;本人此次返台，廣受許多會友的協助，深覺應該回饋一些我自己能辦到的貢獻給大家。戚桐欣老前輩，戚老饋贈了願意公開的中文語音輸出檔案，內容非常龐大，我不想辜負他的期望，故想令此貢獻進一步在我們的FORTH領域發揮作用。&lt;br /&gt;&lt;br /&gt;我也見到小葉與錢大哥及爽兄努力於古文的發展，見到他們的成果。我覺得能夠透過舉辦一次小小的活動，讓這些可貴的中國文化，簡單的藉FORTH結合在一起，順便的教會大家一點點利用Win32Forth的皮毛技術。 &lt;br /&gt;&lt;br /&gt;目標很簡單：就是要電腦以受控方式，唸出『百家姓』與『千字文』。其他可能附加的功能，開始活動之後，再視情況增修改。&lt;br /&gt;&lt;br /&gt;暫時就先公佈這樣的訊息，然後等待大家以真實姓名回應本人，總數達到十人，我就開辦。參與者可以私下接到我的領頭示範程式與說明文章，但參與者必須跟著實際使用程式，大家一同合作把成果建立起來，也增進自己對Win32Forth系統性能的一些認識。至於最後的成品是否公諸於世？以後由參與者表決決定。 &lt;br /&gt;&lt;br /&gt;活動的內容會有參與者彼此交換成果的要求，因此，也應該限制成參與者才可以互相享受的權力，活動期間，我會盡量協調其間的事務。大家都不是閒著沒事可幹的人，三個月應該足夠寬鬆了。&lt;br /&gt;&lt;br /&gt;曾慶潭於紐西蘭&lt;br /&gt;&lt;br /&gt;&lt;b&gt;控存資料2&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;FORTH操作音效卡&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;曾慶潭2008-12-3於紐西蘭&lt;br /&gt;Ching-Tang Tseng&lt;br /&gt;ilikeforth@gmail.com&lt;br /&gt;http://forthfortnight.blogspot.com&lt;br /&gt;&lt;br /&gt;0. 前言之前&lt;br /&gt;&lt;br /&gt;經過四個月的努力，我在6月29日與中華民國FORTH語言學會聯絡時提及的構想──想要設計一個地震早期警報系統，其軟體程式已接近完成。為了實現這個構想，伴隨著主導計劃，有不少可貴的Forth程式逐個被落定。程式設計實耗時間實際上不多，研究資料與整理成果以便寫成文章，所須時間則相當可觀。&lt;br /&gt;當初挑選的Forth系統主要是以eForth32為主，很慶幸做了正確的選擇，它對解決此類問題較為適當，本文是其一例。&lt;br /&gt;剛開始進入這個主題時，就想先利用電腦設計出一個慢速可調示波器的功能，首先遇到的問題是系統不會劃任意兩點間的一條直線，我挑選了一個近期內的美國專利，純用高階定義方式與單純整數系統，令其實現。&lt;br /&gt;接著預估會有信號處理的工作想做，而Forth的數值分析處理能力不太好，於是耗費了三個月的時間，在四個Forth系統上完成了Tiny BASIC Compiler的程式設計，讓Forth能像BASIC一樣的執行程式，而且發現這樣做呈現了特異性能，並完成了一篇90頁的中文文章。&lt;br /&gt;eForth32欠缺了不少傳統指令，例如：DO…LOOP指令群便付諸闕如，我堅信自eForth始，任何其他指令都能以高階定義方式完成，這是Forth基本精神，這個問題剛好做為對自己程式設計的考驗，於是博覽群書，終於全用高階定義技術，設計出了我要的東西。&lt;br /&gt;有感於Forth不應自閉性的過日子，此類設計日後很可能需要與別的程式語言進行資料溝通，以形成共榮的系統。若能如此，則別的程式語言可能更會誇獎Forth的存在，於是，我在圖書館裡鑽研了一陣子，參考別的程式語言教學用書是如何介紹資料檔案的存取的？結果也完成了一份資料檔案標準存取格式的通用程式設計，可以毫無問題的與C或BASIC甚至於其他任何程式語言交換資料。近代的Forth系統中有READ-FILE、WRITE-FILE…等指令，但它們都還只是系統中的指令，要完完整整的做完資料檔案的存取工作，必須像我這樣的設計標準通用方法才行，而且要有根據，是參考專家寫的書籍得來的。&lt;br /&gt;我已不再在職場上打轉，當然不可能像當年在台灣時闊綽的大買軟硬體來大肆發展自己的構想，軟體已進行到不得不碰硬體的時候，只好暫時打住，等待支援了。奉駿泉先生答應提供一套A/D轉換器助我發展，但要等到過舊曆年時才能帶來紐西蘭供我使用，我則未曾稍懈於此事，研究地震早期警報相關書籍及期刊論文，以及電容式水下麥克風與前置放大器、低通濾波器、甚至於音響信號接頭的標準接法，彙集資料，成果相當可觀。&lt;br /&gt;紐西蘭是一個非常強調資源回收的國家，有許多的『機會商店』販賣仍可使用的回收物品，他們有私人開設的店面，也有救世軍、紅十字會、聖文森…等慈善單位所經營的商店，偶爾會有『機會』商品出售，售價大約是新品價格的十分之一以下，我須要材料維修物品時常去光顧。有一天我對舊的音效卡產生了一絲興趣，我非常痛恨微軟公司封閉資訊的作風，把世界上許多還很可以用的東西搞成是嚴重污染環境的來源，音效卡也是其中之一，我想我可以在這件事情上盡一點力，於是廉價收集了一些音效卡，著手設計程式，最後也完成了這個項目，值得為文一書，公開推介，在未有A/D卡之前，音效卡可以當作模擬硬體。&lt;br /&gt;前述各個專題彙整後，總內容實在不小，將近是一本書的規模，而且我仍在整理積聚中，自覺值得留供自己永遠參考，至於是否要出版成書，以後再說。我已經不為獲利而寫文章了，更不可能印書當贈品，這個計劃若想真正全面實現，除了由政府支助外，不可能有人有興趣出錢幫忙完成，是個有利人類卻無利於個體的研究項目，根據我自己的經驗，書籍出版之後，如果沒有300本以上的基本銷售量，不可能收回印書的成本，因此，若無法達到可售出300本書的規模，我就不考慮發表而讓它自然廢棄，只留一套簡易硬體在我家後院長期試其性能，成為老來生活上的高級玩具，足矣。&lt;br /&gt;當前Forth的推廣發展遭遇不少困難，其中一個主要因素，就是可供參考學習的材料相當缺乏。事實上Forth的推廣並不缺書，丁陳漢蓀老師，鄒靖寧老師，金城老師，奉駿泉先生…等Forth先進，都曾在台灣出版過相關中文教材書籍，幾個書局也曾印行幾本好的Forth英文原文書籍，如果有心向學，這些資源相當足夠了，我個人便永遠保留這些書本，這次能完成這些Forth程式，必須參考這些書籍。&lt;br /&gt;我雖十幾年不寫FORTH程式了，但對台灣FORTH同好例行性活動的關心則不曾稍減，這是一個我曾努力貢獻過心力的特殊環境，我也相信它會恆久存在，因此在情況許可時，我仍願再寫些文章來引起共鳴。根據我個人的經驗，使用一般FORTH參考書籍進行推廣時，會有較缺乏應用實例的遺憾。這種情況對學習者而言，就好像學生考試時老是面對著『解釋名詞』，卻顧不了『應用問題』，而通常都是『應用問題』所佔的分數比較高，不是嗎？可是許多應用實例常具有時效性，通常只宜利用期刊發表，期刊的維持發行卻更為不易，連最有參考價值的『FORTH DIMENSIONS』都停刊了，可見一般。現在網路暫時霸佔了傳播媒體的最重份量，我不排斥它，有感於它可以頂替部份期刊的角色，現在又可以造福到全體中國人，我也只好很不情願的隨波逐流，自架了一個簡易純文字的個人Blog網頁：&lt;br /&gt;&lt;br /&gt;http://forthfortnight.blogspot.com/&lt;br /&gt;&lt;br /&gt;暫定有空時每兩個星期更新一次『慶的世界』網站上的文章，有興趣就來訪參觀吧，可是我得事先聲明，可能沒空回答問題，它暫時只是一個單向式的個人網站，我也沒空將其搞得花俏美觀，那不是目的所在。&lt;br /&gt;&lt;br /&gt;1. 前言&lt;br /&gt;&lt;br /&gt;一般而言，聲音信號在我們有興趣的各種物理量度訊號中算是快速類的了，舉凡工程上常強調的壓力、流量、溫度、速度、重量…等信號，其變化頻率都不太高，大約每秒量度一次也就夠了，普通聲音頻率要求，大約要高到每秒兩萬次，為防止取訊失真，取訊的頻率就應高過最高頻率的兩倍以上，因此，音效卡的設計，以能夠用44.2 kHz的速率取得訊號為基本要求，所以屬快速訊號。當我們想將物理變化的訊號傳入電腦時，單只考慮取訊速度條件，若能處理聲訊，其他訊號也將不成問題，音效卡如能應用在這一方面，可具有不錯的潛在功能。&lt;br /&gt;在訊號的解析度方面，我所用的音效卡雖只有8位元，A/D轉換器最高1/256的分辨能力，工程應用上也很足夠了，具有百分之一以內精確度的儀錶是非常好的錶，所以在不苛求的情況下，音效卡應該很容易滿足一般要求。&lt;br /&gt;如果能用音效卡做點事情，它潛在的最大好處是因被批量生產而價格低廉。而最大的潛在問題，則是為了防止仿冒而封閉了一切相關資訊，甚至於被製成晶片組，讓使用者想利用它來做點份外事，或想進一步了解其軟硬體特性時，均不得其門而入。&lt;br /&gt;由此看來，音效卡在上市的第一天，我們就應該可以用Forth寫程式搞出一大堆像樣的產品來了，有許多因素使我們以前就未能及時做到此事，殊為可惜，但今天才做，其實也不嫌晚，它確實還能做些事情。也許生產銷售音效卡的廠商，應該看一看我們如何令其另有用途，而及早公開它的相關資訊，銷路也許更廣，獲利更多。&lt;br /&gt;按我初始計劃的目標，只想取得20Hz以下低頻聲訊，信號抓取速率最高每秒40次也就可以大約不失真了，至於信號強度的配合，則純粹是硬體設計的問題，軟體只在配合，因此我對使用Forth操控音效卡深具信心，軟體方面只要選對系統，就可以完成。本文重點不擬強調聲訊知識，大約的討論就到此為止。&lt;br /&gt;&lt;br /&gt;2. 軟硬體安排&lt;br /&gt;&lt;br /&gt;熟悉Forth的人一定知道我為什麼一開始就不用Win32Froth？根本原因就是它在Intel、IBM與Microsoft三家公司聯合搞出的現行暢銷個人電腦，已經不准你執行硬體輸出或輸入指令了，在CPU硬體方面有所謂的保護模式( Protection mode )，在後來的作業系統內有所謂的特權等級( Privilege level )，封死了程式語言執行輸出 / 輸入指令的功能，你硬要做，系統就恆給你一個『異常』( Exception )警告訊息，耗在那裡。詳細的細節不是本文論述的重點，以後有機會再另文探討，但我相信在接近這套電腦系統快要變成廢物以前，就會公布解決辦法，那些只想賺不道德錢的公司，一向都是如此待客的。寄生在這些作業系統下的Forth系統很無奈的被使用著，失去了P@與 P!類指令的Forth，套句台灣人的話形容它，就好像是『去給人家斷了腳筋』似的苟延殘喘，大半輩子有好多事情都不能作了，不是嗎？&lt;br /&gt;要能執行硬體輸出 / 輸入的Forth系統依然不少，只要還能寄生在Windows’98以下的環境執行的Forth都可以列入此計劃的選擇考慮，甚至於包括曾經做為台灣推廣標準的F83及F-PC Forth兩個系統也都可以，我又為何硬要選eForth32呢？一方面是選擇前試用了它的一些性能，夠我所須，沒有版權問題，另一方面是我對eForth後續發展的一點好奇感，就如同前述提及的『解釋名詞』與『應用問題』區別，我個人很想找題目試其真正的性能，是否真的可以一貫到底？現在我相信它了，以eForth的方式這樣子搞Forth，一定可以搞出名堂，無庸置疑。&lt;br /&gt;Rick VanNorman把系統改得很快了，也提供了Forth Assembler，及與作業系統之間的現成指令，還有不少範例程式，我在接觸它的第一天就先執行一次標準的meta-compiler程式，又快又好，是真正的用Forth造Forth，它進行的過程相當完整，有些人誤把meta-compiler當一般compiler使用，那會使得一個能讓毛毛虫『蛻變』成美麗花蝴蝶的meta-compiler退化成『劣變』工具了。他也不甘寂寞的轉置此系統到Os2保護模式下執行，在XP作業環境中也工作得很好，是一個純用eForth方式發展出來的成功範例，很值得用它。&lt;br /&gt;讀者很難想像，我竟然是用DOS3.3的陽春系統完成所有設計的，我的電腦安裝了硬碟抽取盒，可以在新電腦上快速更換舊系統所須的硬碟，電腦硬體本身背負了歷史的包袱，能執行XP作業系統的電腦依然可以執行DOS，功能沒有減少，要試這個程式，只須另備一個簡易麥克風，及舊的音效卡。&lt;br /&gt;在硬體方面的安排，此計劃原則上應以標準的A/D卡來發展才是正途，因為資料才有可能透通齊全，像標準Forth一樣，使用者可以完全沒有疑問的工作，採用音效卡是一時權宜之計，不適用於所有狀況，除非生產廠願意供給資料，我們才有可能順便為其創造新利潤。&lt;br /&gt;舊的音效卡快要變成廢物了，資料也缺乏保密價值，有一些善心人士就公開了它的用法，我從網路上搜索了三天幾百個網頁後，取得唯一可茲參考的資料，獲得一篇很好的關鍵程式── “ Real time Signal Processing Code ”，將其改寫成Forth程式後，試用成功，試出了原程式的功能，也試出了我想要的一份音效卡，為尊重原創人的貢獻，理應說明出處：&lt;br /&gt;&lt;br /&gt;作者：Ethan Brodsky&lt;br /&gt;連絡信箱：ericbrodsky@psl.wisc.edu&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. 依據程式&lt;br /&gt;&lt;br /&gt;/* sbsample C */&lt;br /&gt;void writedsp( unsigned char value ) ;&lt;br /&gt;unsigned char readdsp( void ) ;&lt;br /&gt;int resetdsp( void ) ;&lt;br /&gt;void turnspeakeron( void ) ;&lt;br /&gt;void turnspeakeroff( void ) ;&lt;br /&gt;unsigned char getsample( void ) ;&lt;br /&gt;void outsample( unsigned char sample ) ;&lt;br /&gt;&lt;br /&gt;#defined TRUE 1&lt;br /&gt;#defined FALSE 0&lt;br /&gt;&lt;br /&gt;/* -------------------- */&lt;br /&gt;#include &lt; conio.h&gt;&lt;br /&gt;#defined RESETPORT 0x226&lt;br /&gt;#defined READPORT 0x22A&lt;br /&gt;#defined WRITEPORT 0x22C&lt;br /&gt;#defined POLLPORT 0x22E&lt;br /&gt;&lt;br /&gt;void writedsp( unsigned char value ) &lt;br /&gt;{&lt;br /&gt;while( inp(WRITEPORT) &amp; 0x80 ) ;  &lt;br /&gt;outp( WRITEPORT, value ) ;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;unsigned char readdsp( void ) ;&lt;br /&gt;{&lt;br /&gt;while( ! ( inp( POLLPORT ) &amp; 0x80 ) ) ;&lt;br /&gt;return( inp( READPORT ) ) ;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;int resetdsp( void )&lt;br /&gt;{&lt;br /&gt;int i ;&lt;br /&gt;outp( RESETPORT, 1 ) ;&lt;br /&gt;outp( RESETPORT, 0 ) ;&lt;br /&gt;i = 100 ;&lt;br /&gt;while( ! &amp;&amp;( readdsp( ) = 0xAA ) ) i++ ;&lt;br /&gt;return( i ) ;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void turnspeakeron ( )&lt;br /&gt;{&lt;br /&gt;writedsp( 0xD1 ) ;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void turnspeakeroff ( )&lt;br /&gt;{ &lt;br /&gt;writedsp( 0xD3 ) ;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;unsigned char getsample( void )&lt;br /&gt;{&lt;br /&gt;writedsp( 0x20 ) ;&lt;br /&gt;return( readdsp( ) ) ;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void outputsample( unsigned char sample )&lt;br /&gt;{ &lt;br /&gt;writedsp( 0x10) ;&lt;br /&gt;writedsp( sample ) ;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;4. Forth 對應程式&lt;br /&gt;&lt;br /&gt;根據這個程式，幾乎已經獲得了幾個最重要的訊息，其中有重要的輸出入位址，以及幾個相關的控制碼，足供我們設計Forth程式時使用，改寫完成的Forth程式如下：&lt;br /&gt;&lt;br /&gt;\ Sound Blaster card testing Forth words&lt;br /&gt;\ eForth32 version&lt;br /&gt;\ Author: Ching-Tang Tseng at Hamilton, New Zealand  2008-12-04&lt;br /&gt;VARIABLE #DELAY     1 #DELAY !&lt;br /&gt;: MS ( n - - )  FOR 300 FOR NEXT NEXT ;&lt;br /&gt;HEX&lt;br /&gt;0220  CONSTANT  PORTBASE&lt;br /&gt;PORTBASE  6  +  CONSTANT  RESETPORT&lt;br /&gt;PORTBASE  A  +  CONSTANT  READPORT&lt;br /&gt;PORTBASE  C  +  CONSTANT  WRITEPORT&lt;br /&gt;PORTBASE  E  +  CONSTANE  POLLPORT&lt;br /&gt;:  RESETDSP  ( - - )&lt;br /&gt;1  RESETPORT  PC!&lt;br /&gt;0  RESETPORT  PC!&lt;br /&gt;100  FOR  NEXT  ;&lt;br /&gt;:  SB?  ( - - )&lt;br /&gt;RESETDSP&lt;br /&gt;POLLPORT  PC@  80  AND&lt;br /&gt;IF  READPORT  PC@  AA  =&lt;br /&gt;IF  .”  There it is! ”  CR  .” Sound Blaster Board detected.”&lt;br /&gt;ELSE  .”  Nothing! System without Sound Blaster Board. ”&lt;br /&gt;THEN&lt;br /&gt;ELSE  .”  There is no response! ”&lt;br /&gt;THEN  ;&lt;br /&gt;:  WRITEDSP  ( b - - )&lt;br /&gt;WRITEPORT  PC@  80  AND  0=&lt;br /&gt;IF  WRITEPORT  PC!&lt;br /&gt;ELSE  ABORT”  Unable to write!  ”&lt;br /&gt;THEN ;&lt;br /&gt;:  READDSP  ( - - b )&lt;br /&gt;POLLPORT  PC@  80  AND&lt;br /&gt;IF   READPORT  PC@&lt;br /&gt;ELSE  ABORT”  Unable to read!  ”&lt;br /&gt;THEN ;&lt;br /&gt;:  GETSAMP  ( - - b )&lt;br /&gt;20 WRITEDSP&lt;br /&gt;READDSP  ;&lt;br /&gt;:  OUTSAMP  ( b - - )&lt;br /&gt;10 WRITEDSP&lt;br /&gt;WRITEDSP  ;&lt;br /&gt;:  .SB  ( - - )&lt;br /&gt;RESETDSP&lt;br /&gt;PAGE&lt;br /&gt;BEGIN&lt;br /&gt;40 1  AT      GETSAMP      10  U.R&lt;br /&gt;#DELAY  @  MS       KEY?&lt;br /&gt;UNTIL  ;&lt;br /&gt;:  TURNSPON  ( - - )&lt;br /&gt;D1  WRITEDSP  ;&lt;br /&gt;:  TURNSPOFF  ( - - )&lt;br /&gt;D3  WRITEDSP  ;&lt;br /&gt;DECIMAL&lt;br /&gt;&lt;br /&gt;5. 測試結果與分析&lt;br /&gt;&lt;br /&gt;上列Forth程式大部份是翻譯的結果，沒有甚麼好解釋的。唯一可以推介的一個指令則是『.SB』，從我在個人電腦上使用Forth以來，如此的設計方式屢試不爽地被加以應用，它可以在螢幕右上角固定位置，動態的顯示一個記憶體之內容，速度可調，非常適合用來觀察硬體的內容狀況有無變化？例如：另一個位址046C，它是電腦計時用的最根本位址，計數內容不斷地快速變化往上增加，無論新舊，那一台電腦都一樣，不信你自己舉一反三的試試看。&lt;br /&gt;這樣的執行Forth程式，才能顯現所謂的Real time control效果，它是Forth應該具有的最基本精神，失去了這個功能，憑良心講，就不能成其為Forth了。現在，請問讀者，能不能體會出我為什麼不用Win32Forth來發展這個計劃的道理了？&lt;br /&gt;實際應用這個程式時，有一些結果可以提供讀者參考。有一些音效卡執行RESETDSP及SB?指令時都無問題，可以通過測試，並被顯示系統中有音效卡存在，但隨後卻不能讀寫資料，無論我調整讀寫資料的速度如何？就是沒有結果，換句話說不具音效卡的功能，因我用的全是舊卡，只能透過三用電錶，測出麥克風輸入處，仍恆保有5伏的高電位狀況，但就是不工作，是卡壞了？或另有控制碼須執行？我也不得而知，這也是資料不透通所帶來的痛苦。幸好我仍試得了一片板子可供利用，因為它好，所以也不必在乎是否免費為這家廠商做廣告了，如此便可以鼓勵將來廠商盡量與我們合作，因此，故意要留下記錄如下：&lt;br /&gt;&lt;br /&gt;『勁駒微電子股份有限公司銷售的ESS ES1868勁聲卡』&lt;br /&gt;&lt;br /&gt;程式中端口基準位址PORTBASE暫設為0220，隨著音效卡的硬體選址設定，此值亦可配合調變，根據一般音效卡隨卡附屬的說明手冊顯示，位址的範圍大約為：十六進制的220、230、240、250。卡上一般還有電玩搖桿( Joy stick )、中斷( IRQ )、記憶體直接存取( DMA )、喇叭輸出、光碟機介面…等設定可供操作，本文不打算涉及太多，因為資料不夠完整，有興趣的讀者，請向原創人索取。&lt;br /&gt;上列程式基本上可供測試系統中有無音效卡了，如果功能仍正常，進行用卡前歸原設定、取訊與播放亦可執行，其他的應用程式便能據此來設計，這些功能也暫時能滿足我個人所須，隨後發展的一些應用程式中，包含了一個模擬示波器的設計，它工作得很好，因程式事涉專利，不宜發佈於此，但若你有現成的可畫線指令，下列程式便可依樣設計出來：&lt;br /&gt;&lt;br /&gt;\ Digital Oscilloscope Simulator&lt;br /&gt;\ LOAD  (1) STD.4 (2) SB.4 (3) FLD.4 then this program&lt;br /&gt;\ Author: Ching-Tang Tseng at Hamilton, New Zealand   2008-12-04&lt;br /&gt;:  INITX0&lt;br /&gt;RESETDSP  PAGE&lt;br /&gt;GMODE&lt;br /&gt;0 X1  !  300  Y1  !  AFTCAL  COLOUR  @  0  0  EGA!  ;&lt;br /&gt;:  ONEPAGE&lt;br /&gt;640 0 &lt;br /&gt;DO  I  300  GETSAMP  -  DRAW&lt;br /&gt;#DELAY  @  MS&lt;br /&gt;LOOP  ;&lt;br /&gt;:  SCOPE&lt;br /&gt;INITX0&lt;br /&gt;BEGIN&lt;br /&gt;EGA  ONEPAGE  KEY?&lt;br /&gt;UNTIL  ;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;6. 展望與結論&lt;br /&gt;&lt;br /&gt;為了要實現我的目標，還有不少事情要做，回顧已經完成的工作，每當我階段性的完成一些程式後，似乎都感覺到這些程式都還有不少其他功能可以發揮，這就是設計應用程式比純討論系統或指令性能來得好的原因，因為它比較務實。&lt;br /&gt;事實上，應用程式看起來都不太艱深，當作學習教材最為適當，它將Forth連接到我們生活的環境中去，應用程式發揮功能時，設計人更容易產生成就感、快感與滿足感，要讓Forth能延續發展，多創作各個領域的應用程式是很重要的，否則在系統創作者辛勤設計發佈產品後，無論產品有多好，在無人接續的情況，很快的都將壽終正寢，因為電腦科技進展的速度是很快的。&lt;br /&gt;應用程式本質上也有弱點，大部份都屬於有時效性的問題，時過境遷或事過境遷後就不太有參考價值。另外，既然是應用程式，就應該是很值得直接應用了，通常也因此而事涉創作人的版權問題，這也是讀者不容易見到此類作品的主要原因，我個人則非常尊敬肯公開應用程式的作者，能發表這篇文章首先應該感謝的人就是Ethan Brodsky，想引用的人不必謝我，請直接去信鼓勵原創人便可。&lt;br /&gt;設計應用程式時免不了可能得碰硬體，設計人就得有些機電方面的概念，通常此類人才不多，這大概也是可公開應用程式寥寥無幾的一個主要原因。本人是略有所知，可以常觸此事，例如：我用一個旋軸式可變電阻及定電壓直流電源，配上運算放大器設計了簡單電路，接通到音效卡的輸入端，如此便模擬了所有物理感測器的信號源，廢棄的音效卡就相當於可以用來設計信號擷取系統，由於沒有像麥克風輸入時的背景噪音，讀得的信號還更為穩定。&lt;br /&gt;想搞語音分析者，上面的資料也很能協助提供分析所須的音源樣品來源了，取得信號後存成任何一種資料檔案的格式，對我們而言是毫無問題的，如果使用了其他裝置系統，遭遇到資料檔與後續應用或分析系統無法連上的情況時，本文提供的透通資料就深具價值。&lt;br /&gt;Forth是擅長執行即時性自動控制的程式語言，應用在這方面更為恰當，舉例而言：如果有海測船想用聲納測度海底狀況，用Forth設計邊開船邊測量，立即就取得結果的系統，比用其他任何方法要容易也更快速，當然也價廉，本文已經提供了這個答案。另提一個不吉利的建議，要發展找沉船的系統也一定比別人快，問題只在主事者願不願意接受Forth？&lt;br /&gt;文末，我想請我女兒協助，拍一張數位照，顯示本文提及的示波器功能，我在照片中，也向所有讀者問好，螢幕上被停格畫面錄得的聲音花樣是：『大家好』。&lt;br /&gt;(照片存於另一單獨檔案)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;控存資料3&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;有朋自遠方來&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;曾慶潭2009-03-20於紐西蘭&lt;br /&gt;Ching-Tang Tseng&lt;br /&gt;ilikeforth@gmail.com&lt;br /&gt;http://forthfortnight.blogsopt.com&lt;br /&gt;&lt;br /&gt;有朋自臺灣來，帶來了雙倍的承諾，以及更多的硬體支援，最樂之事卻是有機會再度與同道暢談Forth。人逢知己精神爽，彼此由衷的心得交換，不僅鼓舞了繼續努力實現夢想的胸懷，而且強烈的感受到，瞬間大增了在此領域的技術功力，並且獲得對現行發展Forth時，可供配套之軟、硬體應有的最新認識。真所謂，德不孤，必有鄰，原本在海外隻身奮鬥於Forth的處境，產生了幾近道不行，乘桴浮於海的念頭，有此一朋友的來到，完全改觀了！焉有不受激勵之理？&lt;br /&gt;『Forth操作音效卡』一文刊出之後，得到了不少迴響，文中曾經提及老友奉駿泉先生承諾提供A/D轉換器一事，熟料奉兄有感於單片A/D卡供作『地震早期監測系統』發展所須稍嫌單薄，特別新購了兩套A/D裝置帶來紐西蘭，實現了雙倍的承諾。另外，又覺不必勉強硬要使用舊系統，亦可同時在現行電腦硬體與作業系統下進行此事，特別相贈了一個他自己公司發展出來的產品，是使用USB接頭為界面，一個小巧玲瓏的裝置，內附Silab’s 8051F320晶片，是一套也具有A/D功能的好東西，價格千元台幣左右。有此利器，實現夢想就不太遠了，更何況奉兄還指導了關鍵的應用方式，直接解決界面問題，接妥的系統，不單純是只能做目前計劃中的工作，幾乎擁有可供實驗室中直接執行抓取訊號的應用了。&lt;br /&gt;我們在推廣Forth的同時，若有廠商協助及贈與，對於彼此的發展必然是相得益彰，奉兄是知己，遠勝於廠商，出錢出力支持Forth的發展已不知有幾次了，這一次除了感激外，更應以禮相待，君子以文會友，以友輔仁，特以行將付梓、不便外傳的兩篇文章：『美麗的詩篇』、『實現劃線Forth程式』，印妥成實體後相贈，知己才更珍惜這種技術產品，當天奉兄便開始展卷閱讀，他告訴我Charles Moore的習慣，就是公開了艱深、精彩設計後，從來就不寫相關文章的。&lt;br /&gt;『實現劃線Forth程式』涉及別人專利，且此二文均因圖文並用，而不利於個人網頁的素文字刊出，網頁的初衷就不想浪費時間去搞花俏，有相當份量的文章也只宜以書出版，故均不外傳。&lt;br /&gt;『美麗的詩篇』雖然僅只是述而不作，信而好古的產出，但以特殊方式詳述、剖析Forth程式語言發明人Charles Moore當初所設計的Tiny BASIC compiler，完整解說一個漂亮系統的設計技術。完成該文以後，便開始闡揚其特出方法，身體力行，以其中精華做為依據，將Forth改善成可以用中算符方式設計程式的系統。截至目前為止，已有許多具體的成果，新近的作品是一篇『Forth計算程式的新外貌』，昨天的突破則是將浮點亂數函數適當的加入了系統，短程的目標是在Win32Forth系統上完成具有浮點數字功能的中算符系統而後暫止，先供推廣之用，待其落定之後，長程目標則改在可以用Forth全面發展數值分析程式，供作學術教學或實際應用之須，到時就會有無限的發展空間。立定了志向，假以時日，必然能有所成。&lt;br /&gt;如此發展出來的系統，具有如同BASIC程式語言一般的程式寫作方式，易寫、易用、易讀、易懂，幾近可以直接引用前人精彩的程式設計，配合Forth原有的完整功能，能作許多事情了，尤其是數值分析應用方面，更加方便可行。下列就節錄『Forth計算程式的新外貌』文章中的一段應用實例，可以看出此一系統的端倪。&lt;br /&gt;&lt;br /&gt;--------------------------------------------&lt;br /&gt;2. 應用實例&lt;br /&gt;&lt;br /&gt;數值分析程式實際上並不複雜，它期望系統能提供的性能，主要是在計算式子的表示方式上，要接近數學表示式的方式為最好。至於資料的輸出、輸入、程式執行迴路、或者是邏輯判斷後的條件分支能力…等問題，則都不是強調重點，能行就行。因此，我們要舉的實例，暫不考慮數學方面的複雜理論，避免類似需要疊代(iteration)計算的問題，也不需要舉許多分支情況的例子搞混了主題。&lt;br /&gt;曲線調適(Curve fitting)問題，在數值分析技術中算得上是一個很有用的主題，如果Forth計算程式能將此一問題處理得很好，使程式的外貌易讀易懂，就可謂性能大大的改善了。&lt;br /&gt;所謂曲線調適，是應用在將實驗數據妥善的匹配至理論數學式子的一種數值分析技術。有許多場合，一個自然現象可以用一個標準簡單的數學式子來表示，形同y=f(x)的數學函數，也就是y隨x變化的狀況由y=f(x)來決定。從事研究工作的人經常會對一個已經確定了y=f(x)關係的研究問題進行實驗，取得這種y與x間關係的許多組實驗值，接下來要做的工作就是曲線調適了。由於y=f(x)數學函數表示式通常僅表示一個現象的趨勢關係，函數式中每一項的前引係數均未定，必須靠實際的實驗來決定這些係數之值，曲線調適技術便發展出許多方法來處理實驗數據，以求得函數式子的所有係數。最後獲得的完整數學式子不只是將問題確定而已，這樣的數學式子，通常也代表了此後可以合理的運用，因為實驗時只做了有限個點的關係實驗，應用時則代表了可以用在指定範圍內的無窮多個點之情況，所以曲線調適也就成為實驗結束後非作不可的工作了。&lt;br /&gt;要想仔細研究曲線調適的各種方法，很可以寫出一部洋洋大觀的專門書籍來，本文的目的不在這裡，相反的，此處完全不予探討，還得請讀者自行去參考相關書籍，任何數值分析的書籍都有這個主題，我們僅借用其中一個最簡單的研究結果作為代表，當作程式設計時的範例。&lt;br /&gt;以最小平方差原理(Least-Squares Approximation)來達到曲線調適的目的，是此處想引用的例子，為了說明方便，我們也僅舉一個一階多項式的函數關係為例，以標準數學式表示如下：&lt;br /&gt;&lt;br /&gt;y = a + b x&lt;br /&gt;&lt;br /&gt;其中，a 與b均為未定係數，有待以最小平方差曲線調適後決定。原則上兩個未知數，只要兩組關係值就足供確定了。然而，實際的環境並非如此，為了減少各方面可能產生的誤差，我們必須進行更多的實驗，取得更多組的數據，然後以最小平方差原理，根據統計分析的技術結論，將誤差減至最小，如此決定的係數才有學術根據，才能研究與討論。&lt;br /&gt;假設已經完成了N次的實驗，得到了N組y與x之間的關係數值，那麼，最小平方差分析後的結論，兩個係數a與b及標準誤差D可以寫成下列恆等式：&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;a = ( Σ x․Σ x y  –  Σ x² ․Σ y ) / ( ( Σ x )²  –  N ․Σ x² )&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;b = ( Σ x ․Σ y – N ․Σ x y  ) / ( ( Σ x )²  –  N ․Σ x² )&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;D = SQRT ( ( Σ ( y(i) - a - b x(i) ) ^ 2 ) / ( N - 2 ) )&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;這三個式子是本文借來規劃程式設計的重要依據，因為從式子中可以看出要大量的使用運算符號，符號Σ是代表總合(Summation)的意思，因此如果作了十次實驗，得到十組y與x的相關數據，單只考慮求得a與b時，我們就得分別先求出十個x、y、x乘y、與x的平方總合後的結果，然後才能代入上列式子，進行乘法、減法、與除法計算，最後才能得到a與b的答案。這麼多的計算，如果要用傳統Forth來寫後算符式的程式，大多數人寧可放棄不做了，就算勉強做了還很容易出錯或搞得一團混亂，這就是Forth不適合用來發展數值分析程式設計的原因。&lt;br /&gt;以『美麗的詩篇』文中解決中算符問題的方法為藍本，可以制定一些Forth設計計算程式時的新規矩，解決它不適合發展數值分析程式的問題。為了避免後續還得重新列印程式來配合說明，此處直接一次便將整個完整的曲線調適程式列印如程式二，先假設它可以執行，我們便根據這個程式來制定一些新規矩，再以這些新規矩當作程式設計規格，實現整個構想。請先從上到下瀏覽一遍這個程式，你很容易發現程式在數值分析方面的可讀性，幾乎與BASIC程式語言相等，它是Forth計算程式的新外貌！&lt;br /&gt;&lt;br /&gt;\ First-order least squares curve fitting demonstration program&lt;br /&gt;\ by Ching-Tang Tseng 2009-2-24&lt;br /&gt;\ ilikeforth@gmail.com     http://forthfortnight.blogspot.com&lt;br /&gt;&lt;br /&gt;LOAD CHING.4 \ 即程式三&lt;br /&gt;&lt;br /&gt;20 FIXARRAY XX   20 FIXARRAY YY&lt;br /&gt;FIXVAR A   FIXVAR B   FIXVAR D   FIXVAR D1&lt;br /&gt;FIXVAR A1  FIXVAR A2  FIXVAR B0  FIXVAR B1&lt;br /&gt;&lt;br /&gt;: RESET-ALL&lt;br /&gt;21 0&lt;br /&gt;DO&lt;br /&gt;{{ XX ( I ) = 0 }}  {{ YY ( I ) = 0 }}&lt;br /&gt;LOOP&lt;br /&gt;{{ A = 0  }}  {{ B = 0  }}  {{ D = 0  }}  {{ D1 = 0 }}&lt;br /&gt;{{ A1 = 0 }}  {{ A2 = 0 }}   {{ B0 = 0 }}  {{ B1 = 0 }}&lt;br /&gt;;&lt;br /&gt;: INPUT-DATA&lt;br /&gt;{{ XX ( 1 ) = 0       }}  {{ YY ( 1 ) = 0     }}&lt;br /&gt;{{ XX ( 2 ) = 0.157   }}  {{ YY ( 2 ) = 0.156  }}&lt;br /&gt;{{ XX ( 3 ) = 0.314   }}  {{ YY ( 3 ) = 0.308  }}&lt;br /&gt;{{ XX ( 4 ) = 0.471   }}  {{ YY ( 4 ) = 0.454  }}&lt;br /&gt;{{ XX ( 5 ) = 0.628   }}  {{ YY ( 5 ) = 0.587  }}&lt;br /&gt;{{ XX ( 6 ) = 0.785   }}  {{ YY ( 6 ) = 0.706  }}&lt;br /&gt;{{ XX ( 7 ) = 0.942   }}  {{ YY ( 7 ) = 0.808  }}&lt;br /&gt;{{ XX ( 8 ) = 1.099   }}  {{ YY ( 8 ) = 0.891  }}&lt;br /&gt;{{ XX ( 9 ) = 1.256   }}  {{ YY ( 9 ) = 0.950  }}&lt;br /&gt;{{ XX ( 10 ) = 1.413  }}  {{ YY ( 10 ) = 0.987 }}&lt;br /&gt;{{ XX ( 11 ) = 1.550  }}  {{ YY ( 11 ) = 0.999 }}&lt;br /&gt;;&lt;br /&gt;: RUN-COEFFICIENT&lt;br /&gt;12 1&lt;br /&gt;DO&lt;br /&gt;{{ A1 = A1 + XX ( I )  }}&lt;br /&gt;{{ A2 = A2 + ( XX ( I ) * XX ( I ) )  }}&lt;br /&gt;{{ B0 = B0 + YY ( I ) }}&lt;br /&gt;{{ B1 = B1 + ( YY ( I ) * XX ( I ) )  }}&lt;br /&gt;LOOP&lt;br /&gt;{{ D = ( A1 * A1 ) - ( 11 * A2 )  }}&lt;br /&gt;{{ A = ( A1 * B1 ) - ( A2 * B0 )  }}&lt;br /&gt;{{ A = A / D }}&lt;br /&gt;{{ B = ( A1 * B0 ) - ( 11 * B1 )  }}&lt;br /&gt;{{ B = B / D  }}&lt;br /&gt;;&lt;br /&gt;: RUN-STANDARD-DEVIATION&lt;br /&gt;{{ D = 0 }}&lt;br /&gt;12 1&lt;br /&gt;DO&lt;br /&gt;{{ D1 = YY ( I ) - A - ( B * XX ( I ) )  }}&lt;br /&gt;{{ D = D + ( D1 * D1 )  }}&lt;br /&gt;LOOP&lt;br /&gt;{{ D = SQRT ( D / ( 11 - 2 ) )  }}&lt;br /&gt;;&lt;br /&gt;: OUTPUT-DATA&lt;br /&gt;CR ." Fitted equation is :"&lt;br /&gt;CR ." y = " A FN. SPACE&lt;br /&gt;B DUP 0&lt;&lt;br /&gt;IF FN. ." x"&lt;br /&gt;ELSE ." + " FN. ." x"&lt;br /&gt;THEN&lt;br /&gt;CR ." Standard deviation of fit is : " D FN.&lt;br /&gt;CR ." Finished. " CR&lt;br /&gt;;&lt;br /&gt;: CV              \ Least squares Curve Fitting routing&lt;br /&gt;RESET-ALL&lt;br /&gt;INPUT-DATA&lt;br /&gt;RUN-COEFFICIENT&lt;br /&gt;RUN-STANDARD-DEVIATION&lt;br /&gt;OUTPUT-DATA&lt;br /&gt;;  &lt;br /&gt;程式二、一階最小平方差曲線調適Forth範例程式(CVFIT.4)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;執行縮寫指令CV可以快速的得到曲線調適後的答案，列印如下：&lt;br /&gt;&lt;br /&gt;Fitted equation is :&lt;br /&gt;y = 0.104 + 0.661 x&lt;br /&gt;Standard deviation of fit is : 0.070&lt;br /&gt;Finished.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1097161848825759583-1935603027483098038?l=forthfortnight.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://forthfortnight.blogspot.com/feeds/1935603027483098038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1097161848825759583&amp;postID=1935603027483098038' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/1935603027483098038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/1935603027483098038'/><link rel='alternate' type='text/html' href='http://forthfortnight.blogspot.com/2011/11/forth.html' title='FORTH活動'/><author><name>Chings World</name><uri>http://www.blogger.com/profile/15191167870271612229</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_AchTsJsrvZw/STdFzdxFJaI/AAAAAAAAAAM/ZR_kphZVVHQ/S220/PC040006.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1097161848825759583.post-2508059551462050900</id><published>2011-11-01T19:13:00.000-07:00</published><updated>2011-11-01T19:13:12.515-07:00</updated><title type='text'>忙著搞生產</title><content type='html'>曾慶潭2011-11-02於紐西蘭&lt;br /&gt;Ching-Tang Tseng&lt;br /&gt;ilikeforth@gmail.com&lt;br /&gt;http://forthfortnight.blogspot.com&lt;br /&gt;&lt;br /&gt;    陪著九十幾歲的老前輩聊天，是很難得的事情。&lt;br /&gt;    我姑且就尊稱他是張老吧，張老只說他的一生平淡無奇，退休養老到現在，生活毫無困難，年輕時還幫過別人，別人成功發達了，回過頭來照顧他的晚年。現在，他也是移民，也都還能長途搭飛機，台灣、紐西蘭兩頭跑，兒女的生活都還算不錯，沒有人會來煩他。&lt;br /&gt;    張老從土地銀行退休很多年了，一直都有退休金可領，衣食無缺，四處走走，旅費需要開銷，都還花不完自己的錢。他自知沒人愛聽老人言，所以早就養成了別人不問他就絕不多說的習慣，最近幾年行動確實是較慢了點，過馬路時，常見到路人不耐煩他的行動遲緩，因此，只走不過馬路的路。&lt;br /&gt;    我對張老年輕時的事業有興趣，銀行業我卻外行，連個能啟口的金融術語都講不出來，乾脆就直接請教他，在銀行上班時，都做那一方面的事情？他的回答非常乾脆，沒本領就沒專門的事，都只當個小科員，一直到退休，長官要他這樣子養老，他也沒違背長官的好意。我更好奇了，能夠這樣子過一生，其中必有玄機，於是追問到底，就想知道其中的懸奇。&lt;br /&gt;    我們雙方保持高度的耐心談了很久，都避免強調將特別題材當作談話的內容，後來，我聽出了其中的關鍵。&lt;br /&gt;民國38年，國內到處兵荒馬亂，張老剛進土地銀行不久，卻隨著國民政府敗退來台，對自己的前途一片茫然。有一天，有人找他，希望他能再回大陸一趟，去帶幾位當時土地銀行的重要人物來台，他就去了，所以做過一點比較危險的事情。我知道這就是關鍵，於是追問他，那麼危險還回得去啊？從那裡回去？&lt;br /&gt;他平淡無奇的說，就從香港進去，邊境已經被共匪控制了，排了很長的隊，等著給入境申請單蓋個通行許可章，他見到前頭許多人又哭又求的，請邊防領導給蓋個章子，不管你說家中有甚麼高堂老母需要照顧，或是一大堆妻小嗷嗷待哺，回答都是簡單的三個字：『拉出去』。&lt;br /&gt;輪到張老了，那時他還很年輕，卻心知肚明，當然得低頭，領導發問了：『你回來幹甚麼？』張老眼皮也不敢抬，只說：『回家搞生產』。就這樣，張老順利回到了老家，帶了幾個老長官來到台灣，他們都做了大事，也做了大官，後來，在土地銀行裡，聯合起來照顧他，直到退休，至於銀行裡面的工作，他沒有甚麼本事，當個小科員沒有問題，如此而已。&lt;br /&gt;&lt;br /&gt;我剛從台灣回到紐西蘭，過去的這一個月，確確實實的是在『搞生產』。已經84歲的Norman老先生教過我，每年過了勞工節(Labour Day)，也就是每年十月的第四個星期一，今年是十月二十四日，氣溫就不會再低於10度C，我們的菜圃就可以開始種進東西了。我們一家人，包括小真，根據經驗，整好了菜地，買了番茄苗，玉米、小黃瓜的種子，昨天種好了菜圃，隨文附上相關照片兩張，一張是漂亮的菜圃。&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-8W7T-awEebQ/TrCmPrzQdAI/AAAAAAAAAlo/tKGZmh1T-GM/s1600/2011%25E5%25B9%25B4%25E6%2596%25B0%25E8%258F%259C%25E5%259C%2583.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://1.bp.blogspot.com/-8W7T-awEebQ/TrCmPrzQdAI/AAAAAAAAAlo/tKGZmh1T-GM/s400/2011%25E5%25B9%25B4%25E6%2596%25B0%25E8%258F%259C%25E5%259C%2583.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;照片一&lt;br /&gt;&lt;br /&gt;另一張是『搞生產』新種的蘋果樹，原稱品種是太平洋玫瑰(Pacific Rose)。這一棵樹苗是老友紀敏兄，接枝完成，已經渡過栽培期的紐西蘭特有蘋果，他從北邊的奧克蘭市，開了一百多公里的車子，特地送來給我，這幾天我們這裡才最適合搞這樣的生產，蘋果樹苗上開滿了蘋果花。種在這裡，將來可以生產出蘋果，看它掉到地上時，就有可能發現其它種『萬有引力定律』。 &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-G69tf0D3-Wk/TrCmdyVCWJI/AAAAAAAAAl0/gtk-X8IQj1g/s1600/%25E8%2598%258B%25E6%259E%259C%25E6%25A8%25B9.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://4.bp.blogspot.com/-G69tf0D3-Wk/TrCmdyVCWJI/AAAAAAAAAl0/gtk-X8IQj1g/s400/%25E8%2598%258B%25E6%259E%259C%25E6%25A8%25B9.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;照片二&lt;br /&gt;&lt;br /&gt;這一個月，我從紐西蘭發起了向全中國進行搞生產的活動，教大家使用Win32Forth系統語音輸出，唸『百家姓』、『千字文』，為期三個月。我絕對有把握搞出生產，大陸同胞也能自由參與，這一次，我是真心的在搞生產，不是為了平安過境才講這樣的話，否則，再問一句：『搞啥子生產啊？』，我若支支吾吾答不上來，也會是另外一句：『拉出去』。要注意！搞的生產若說是最先進晶片，就是騙人了，還是那句話：『拉出去』，我只搞小老百姓可用的東西。&lt;br /&gt;&lt;br /&gt;平時，我也收集了一些特別喜好的小東西。另附照片三張，展示這些特別的小玩意兒。第一張是我這次回台，爽兄特別為我搞出來的生產，是一隻白色的大螞蟻，這樣的產品，將來想要義賣籌款時，可以派得上用場。&lt;br /&gt;我把爽兄生產出來的贈品，框在一個漂亮的玻璃小屋內，如照片三所示。&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-RpWrztiGtrM/TrCmtqOyrHI/AAAAAAAAAmA/c3QynW5OndI/s1600/%25E5%25A4%25A7%25E8%259E%259E%25E8%259F%25BB.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://3.bp.blogspot.com/-RpWrztiGtrM/TrCmtqOyrHI/AAAAAAAAAmA/c3QynW5OndI/s400/%25E5%25A4%25A7%25E8%259E%259E%25E8%259F%25BB.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;照片三&lt;br /&gt;&lt;br /&gt;照片四是我很喜歡的一份全廢物利用藝術傑作照片，全用廢螺絲、廢墊圈、廢鐵絲焊製而成。一個出了車禍差一點就成廢物的傷患，接受由廢物生產出來的醫生診斷，那個醫生說：『不好好搞生產，就會真的變成廢物！』&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-nOxzd4tGJJ4/TrCm637g-vI/AAAAAAAAAmM/ngrLCV4IBXA/s1600/%25E5%25BB%25A2%25E7%2589%25A9%25E5%2588%25A9%25E7%2594%25A8.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://2.bp.blogspot.com/-nOxzd4tGJJ4/TrCm637g-vI/AAAAAAAAAmM/ngrLCV4IBXA/s400/%25E5%25BB%25A2%25E7%2589%25A9%25E5%2588%25A9%25E7%2594%25A8.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;照片四&lt;br /&gt;&lt;br /&gt;照片五是我喜歡才花錢買來的：『準備跳芭蕾舞的小女孩』，她還不到需要搞生產的年齡，卻是完美無缺。&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-2HxYkC0q1wY/TrCnGghySeI/AAAAAAAAAmY/sZnA2w8EQGM/s1600/%25E5%25B0%258F%25E5%25A5%25B3%25E5%25AD%25A9.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://3.bp.blogspot.com/-2HxYkC0q1wY/TrCnGghySeI/AAAAAAAAAmY/sZnA2w8EQGM/s400/%25E5%25B0%258F%25E5%25A5%25B3%25E5%25AD%25A9.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;照片五&lt;br /&gt;&lt;br /&gt;健全的知識、堅強的技術才能有好的生產，請回頭看看照片一，照片內容都看懂了嗎？番茄支撐鐵柱子上，為什麼都綁了塑膠袋？那是用來妨礙麻雀飛行用的，因此也能妨礙牠吃我的幼苗，麻雀咬掉了芽尖，生長就得延後一星期。移植完一星期內，怕強烈日照，那會照壞了我的幼苗，所以綁住的塑膠袋，可以調整高度而遮陽。&lt;br /&gt;鐵柱頂怎麼都掛了空玻璃瓶？因為將鐵柱子打進菜圃後，柱頂的可敲打處，容易生銹，是用來防止雨淋溼後，銹壞了柱頂，我要用它們一輩子的，所以預掛空玻璃瓶。這樣的浮掛空瓶，鳥站不住，風吹了還會有點聲音，大小鳥見識過後，全都怕死了。&lt;br /&gt;柱子要在植入番茄苗前先排隊打好，這個先後程序的重要意義為何？您該自己想，要不然，下次再回答：『搞生產』時，會露出馬腳。&lt;br /&gt;&lt;br /&gt;我忙了三年搞出來的新書，不知何故？到現在還沒有生產出來，我也在等。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1097161848825759583-2508059551462050900?l=forthfortnight.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://forthfortnight.blogspot.com/feeds/2508059551462050900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1097161848825759583&amp;postID=2508059551462050900' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/2508059551462050900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/2508059551462050900'/><link rel='alternate' type='text/html' href='http://forthfortnight.blogspot.com/2011/11/blog-post.html' title='忙著搞生產'/><author><name>Chings World</name><uri>http://www.blogger.com/profile/15191167870271612229</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_AchTsJsrvZw/STdFzdxFJaI/AAAAAAAAAAM/ZR_kphZVVHQ/S220/PC040006.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-8W7T-awEebQ/TrCmPrzQdAI/AAAAAAAAAlo/tKGZmh1T-GM/s72-c/2011%25E5%25B9%25B4%25E6%2596%25B0%25E8%258F%259C%25E5%259C%2583.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1097161848825759583.post-2275456656733219050</id><published>2011-10-24T13:14:00.000-07:00</published><updated>2011-10-24T13:22:25.528-07:00</updated><title type='text'>向上發展FORTH技術</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-I9o6lhTrtqM/TqXF4MUMr-I/AAAAAAAAAkg/dnLhKnh_xRQ/s1600/f_9_1.gif" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="104" width="152" src="http://4.bp.blogspot.com/-I9o6lhTrtqM/TqXF4MUMr-I/AAAAAAAAAkg/dnLhKnh_xRQ/s400/f_9_1.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;曾慶潭2011-10-25於紐西蘭&lt;br /&gt;Ching-Tang Tseng&lt;br /&gt;ilikeforth@gmail.com&lt;br /&gt;http://forthfortnight.blogspot.com&lt;br /&gt;&lt;br /&gt;&lt;b&gt;本文特別為了慶祝台灣光復節而寫&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;我在今年九月份中華民國FORTH語言協會的月會中，發表了一篇『行星齒輪組動態模擬程式』的現場展示與演講，公開的程式是贈送給與會者的禮物。&lt;br /&gt;由於題目太大，當時，無法在短時間內講完這個程式所有的含意，月會現場，只能大致說明程式的基本精神。對於不熟悉機械工程的聽眾，現場觀賞完畢動態展示後，可能仍難以體會程式執行時，顯示的表面機械意義。&lt;br /&gt;現在重談這個主題，有一點勉強。因為，已經贈送出去的禮物，似乎也不該一送再送，否則豈不成了二手禮物？但是，我在離台返紐前，親眼目睹中華民國台灣現今FORTH界的最高高手──陳爽大師兄，一連耗費幾個晚上，專程為我精進修改這個一年多前寫出來的程式，能不感動？現在，不想在網上公開這個程式都不行，那會太辜負了爽兄的好意。&lt;br /&gt;因此，特別挑選台灣光復節，仔細交代這個程式的全盤精神，並為其留下永久的文字記錄，本文可以為台灣帶來向上發展FORTH技術的一條小路，它才是我當初設計這個程式時的初衷。文末的討論，會涉及未來的多CPU系統之平行處理觀念性想法，是有希望在近期內發展出來的理論性探討，這樣的討論，沒實現前都是空談，讀者若不想看，我絕不勉強。&lt;br /&gt;我不是在寫論文，所以文章的內容可以不按牌理出牌，而以方便講解為主。刊出網文也沒有浪費紙張的問題，所以可以不管刊出的圖示是否會太佔空間的問題。全文只考慮以各方面適當的專業術語，清楚、通順的表達我個人的想法。&lt;br /&gt;&lt;br /&gt;1. 執行『行星齒輪組動態模擬程式』後的範例停格顯示圖&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-qiWW53sTo7E/TqXGGqKfkiI/AAAAAAAAAks/q-nQSzqOU24/s1600/fig1.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="400" width="392" src="http://1.bp.blogspot.com/-qiWW53sTo7E/TqXGGqKfkiI/AAAAAAAAAks/q-nQSzqOU24/s400/fig1.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;圖1&lt;br /&gt;&lt;br /&gt;如圖1所示，這是一個會按照機械運動原理旋轉起來的動態顯示圖，程式使用了兩個視窗，上圖用掉一個視窗。運轉的同時，FORTH主系統的視窗照常運作。當使用者操作滑鼠於上圖中的三個不同齒輪組區域，點選一下之後，主視窗會顯示經過運算才得到的轉速比，上圖中的實際相對轉速與轉向，也會立即配合操作而馬上動態顯示合理的結果。在齒輪區域外點選，則令轉動立即反向。運轉時壓下鍵盤上的任何鍵，就能得到瞬間停格圖。這裡面有好幾套可以同時運作的現象，但沒有用到FORTH自身的多工。 &lt;br /&gt;歡迎熟悉機械運動原理的專家，從我的創作中找問題，或來信討論，但請勿吹毛求疵到非要我把齒輪的齒畫出來不可。等到有一天，FORTH多CPU的系統能夠方便的使用之後，我自然就會再度實現這種創作。那些應該顯示卻不見了的齒，就當它是我在發展程式期間，不小心轉錯方向而被打掉磨平了的結果，如果您不好好學會這種機械運動的原理，亂組合這種齒輪，那些齒是真的會被打掉的。&lt;br /&gt;公開的程式必須在我所設計的ABC FORTH數學計算系統中才能執行，我試過了，從XP的V4.2，到XP的V6.14，再到W7的V6.14，三套ABC FORTH系統都能順利的執行，請記住！已經幾年不改的程式，擁有還能再跑好幾年的特性，直到64位元的電腦被淘汰前，都能不必修改而執行。這個題材，用來教育我們的下一代，再好不過。現任教師，請不要以此物無利可圖而抗拒採用，下一代不是別人的下一代，他們就是您與我的下一代，我則何必曰利？&lt;br /&gt;&lt;br /&gt;2. 我所設計的原始程式&lt;br /&gt;&lt;br /&gt;\ Planetary Gear set&lt;br /&gt;\ 行星齒輪組動態旋轉模擬程式&lt;br /&gt;\ 作者：曾慶潭 於紐西蘭 &lt;br /&gt;\ 版權所有，標示版權，便歡迎使用。&lt;br /&gt;\ Copyright 2010-08-08 Ching-Tang Tseng, Hamilton, NZ&lt;br /&gt;\ Permission is granted by the author to use this software for any application&lt;br /&gt;\ provided this copyright notice is preserved.&lt;br /&gt;&lt;br /&gt;120 VALUE SUNR                       \ (1)太陽齒輪半徑或齒數&lt;br /&gt;40 VALUE PLANETR                    \ (2)行星齒輪半徑或齒數&lt;br /&gt;40 VALUE DELAY                      \ (3)畫完停頓時間，以毫秒計&lt;br /&gt;&lt;br /&gt;SUNR PLANETR 2 * + VALUE RINGIR      \ 環形齒輪內半徑或齒數&lt;br /&gt;RINGIR 40 + VALUE RINGOR      \ 環形齒輪外半徑&lt;br /&gt;&lt;br /&gt;4 3 MATRIX XF&lt;br /&gt;4 3 MATRIX YF&lt;br /&gt;4 ARRAY R&lt;br /&gt;4 ARRAY W                            \ 用來暫存轉動之角度位置&lt;br /&gt;4 ARRAY DW                           \ 每次寸動旋轉步進之角度變量&lt;br /&gt;3 ARRAY BIAS                         \ 三組旋轉標示點固定之偏差角度&lt;br /&gt;REAL FPI/180&lt;br /&gt;REAL RATIO&lt;br /&gt;INTEGER I&lt;br /&gt;INTEGER J&lt;br /&gt;INTEGER AA&lt;br /&gt;&lt;br /&gt;\ 藉助於FORTH標準指令VALUE之使用方式，可以比較方便的將參數傳遞給繪圖系統。&lt;br /&gt;\ 注意：硬用ABC FORTH系統中宣告而成之整數變數，將使程式原理複雜。&lt;br /&gt;0 VALUE A1X  0 VALUE A2X  0 VALUE A3X&lt;br /&gt;0 VALUE A1Y  0 VALUE A2Y  0 VALUE A3Y&lt;br /&gt;0 VALUE B1X  0 VALUE B2X  0 VALUE B3X&lt;br /&gt;0 VALUE B1Y  0 VALUE B2Y  0 VALUE B3Y&lt;br /&gt;0 VALUE C1X  0 VALUE C2X  0 VALUE C3X&lt;br /&gt;0 VALUE C1Y  0 VALUE C2Y  0 VALUE C3Y&lt;br /&gt;0 VALUE D1X  0 VALUE D2X  0 VALUE D3X&lt;br /&gt;0 VALUE D1Y  0 VALUE D2Y  0 VALUE D3Y&lt;br /&gt;&lt;br /&gt;\ 固定參數&lt;br /&gt;: INIT1&lt;br /&gt;{{ FPI/180 = FPI / 180 }}&lt;br /&gt;{{ BIAS ( 1 ) = 0 }} {{ BIAS ( 2 ) = 120 }} {{ BIAS ( 3 ) = -120 }}&lt;br /&gt;{{ W ( 1 ) = 0 }} {{ W ( 2 ) = 0 }} {{ W ( 3 ) = 0 }} {{ W ( 4 ) = W ( 3 ) }}&lt;br /&gt;{{ R ( 1 ) = I&gt;R ( SUNR ) }}&lt;br /&gt;{{ R ( 2 ) = I&gt;R ( SUNR ) + I&gt;R ( PLANETR ) }}&lt;br /&gt;{{ R ( 3 ) = I&gt;R ( RINGIR ) }}&lt;br /&gt;{{ R ( 4 ) = I&gt;R ( RINGIR ) + 40 }}&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;\ (4)與齒輪轉速及轉向相關之變數，由設定DW之值來達到目的。&lt;br /&gt;\ 轉向由正負號決定，負值(-)逆時鐘方向旋轉(CCW)，正值(+)順時鐘方向旋轉(CW)。&lt;br /&gt;\ 轉速由數值之大小來決定，0值不旋轉，值越大，旋轉得越快。&lt;br /&gt;\ 此處預設為練習計算相對旋轉速度之用，亂設定就亂旋轉。&lt;br /&gt;\ 此範例表示沒有固定齒輪，太陽齒輪為主動，其他齒輪為被動，三組均可自由轉動。&lt;br /&gt;: INIT2&lt;br /&gt;{{ DW ( 1 ) = 5  }}&lt;br /&gt;{{ DW ( 2 ) = R ( 1 ) / ( R ( 1 ) + R ( 3 ) )  }}&lt;br /&gt;{{ DW ( 3 ) = NEGATE ( R ( 1 ) ) / R ( 3 )  }}&lt;br /&gt;{{ DW ( 4 ) = DW ( 3 ) }}&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;: INIT INIT1 INIT2 ;&lt;br /&gt;&lt;br /&gt;: INCH-ALONG BASIC&lt;br /&gt;10 FOR I = 1 TO 4&lt;br /&gt;15 LET { W ( I ) = W ( I ) + DW ( I ) }&lt;br /&gt;20 IF { W ( I ) &gt; 360 } THEN 40&lt;br /&gt;30 GOTO 60&lt;br /&gt;40 LET { W ( I ) = W ( I ) - 360 }&lt;br /&gt;50 GOTO 90&lt;br /&gt;60 IF { W ( I ) &amp;lt; 0 } THEN 80&lt;br /&gt;70 GOTO 90&lt;br /&gt;80 LET { W ( I ) = W ( I ) + 360 }&lt;br /&gt;90 NEXT I&lt;br /&gt;100 END&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;: (XYF) BASIC&lt;br /&gt;10 FOR I = 1 TO 4&lt;br /&gt;20 FOR J = 1 TO 3&lt;br /&gt;30 LET { XF ( I J ) = 250 + R ( I ) * COS ( ( W ( I ) + BIAS ( J ) ) * FPI/180 ) }&lt;br /&gt;40 LET { YF ( I J ) = 250 + R ( I ) * SIN ( ( W ( I ) + BIAS ( J ) ) * FPI/180 ) }&lt;br /&gt;50 NEXT J&lt;br /&gt;60 NEXT I&lt;br /&gt;70 END&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;: [XYI]&lt;br /&gt;  [[ AA = INT ( XF ( 1 1 ) ) ]] AA TO A1X&lt;br /&gt;  [[ AA = INT ( XF ( 1 2 ) ) ]] AA TO A2X&lt;br /&gt;  [[ AA = INT ( XF ( 1 3 ) ) ]] AA TO A3X&lt;br /&gt;  [[ AA = INT ( YF ( 1 1 ) ) ]] AA TO A1Y&lt;br /&gt;  [[ AA = INT ( YF ( 1 2 ) ) ]] AA TO A2Y&lt;br /&gt;  [[ AA = INT ( YF ( 1 3 ) ) ]] AA TO A3Y&lt;br /&gt;&lt;br /&gt;  [[ AA = INT ( XF ( 2 1 ) ) ]] AA TO B1X&lt;br /&gt;  [[ AA = INT ( XF ( 2 2 ) ) ]] AA TO B2X&lt;br /&gt;  [[ AA = INT ( XF ( 2 3 ) ) ]] AA TO B3X&lt;br /&gt;  [[ AA = INT ( YF ( 2 1 ) ) ]] AA TO B1Y&lt;br /&gt;  [[ AA = INT ( YF ( 2 2 ) ) ]] AA TO B2Y&lt;br /&gt;  [[ AA = INT ( YF ( 2 3 ) ) ]] AA TO B3Y&lt;br /&gt;&lt;br /&gt;  [[ AA = INT ( XF ( 3 1 ) ) ]] AA TO C1X&lt;br /&gt;  [[ AA = INT ( XF ( 3 2 ) ) ]] AA TO C2X&lt;br /&gt;  [[ AA = INT ( XF ( 3 3 ) ) ]] AA TO C3X&lt;br /&gt;  [[ AA = INT ( YF ( 3 1 ) ) ]] AA TO C1Y&lt;br /&gt;  [[ AA = INT ( YF ( 3 2 ) ) ]] AA TO C2Y&lt;br /&gt;  [[ AA = INT ( YF ( 3 3 ) ) ]] AA TO C3Y&lt;br /&gt;&lt;br /&gt;  [[ AA = INT ( XF ( 4 1 ) ) ]] AA TO D1X&lt;br /&gt;  [[ AA = INT ( XF ( 4 2 ) ) ]] AA TO D2X&lt;br /&gt;  [[ AA = INT ( XF ( 4 3 ) ) ]] AA TO D3X&lt;br /&gt;  [[ AA = INT ( YF ( 4 1 ) ) ]] AA TO D1Y&lt;br /&gt;  [[ AA = INT ( YF ( 4 2 ) ) ]] AA TO D2Y&lt;br /&gt;  [[ AA = INT ( YF ( 4 3 ) ) ]] AA TO D3Y&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;: [XY] BASIC&lt;br /&gt;10 RUN (XYF)&lt;br /&gt;20 RUN [XYI]&lt;br /&gt;30 RUN INCH-ALONG&lt;br /&gt;40 END&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;0 VALUE XM             \ 儲存Mouse的座標位置&lt;br /&gt;0 VALUE YM&lt;br /&gt;&lt;br /&gt;:OBJECT SPR-GEARS&lt;br /&gt; &amp;lt;SUPER WINDOW&lt;br /&gt;:M ON_INIT: ON_INIT: SUPER ;M&lt;br /&gt;:M STARTPOS:  500 100 ;M&lt;br /&gt;:M STARTSIZE: 500 500 ;M&lt;br /&gt;:M WINDOWTITLE: Z" 行星齒輪組動態展示圖 作者：曾慶潭2010-08-08於紐西蘭" ;M&lt;br /&gt;:M ON_DONE: ON_DONE: SUPER ;M&lt;br /&gt;\ :M WINDOWTITLE: Z" Planetary Gear set Author: Chint-Tang Tseng" ;M&lt;br /&gt;&lt;br /&gt;\ 這個指令用到視窗航舵(Handle of the WiNDow)，故必須放在這裡。&lt;br /&gt;: SAVEMOUSE&lt;br /&gt;  HWND GET-MOUSE-XY TO YM TO XM ;&lt;br /&gt;&lt;br /&gt;:M ON_PAINT:&lt;br /&gt;&lt;br /&gt; INIT&lt;br /&gt;&lt;br /&gt; BEGIN&lt;br /&gt;&lt;br /&gt; SAVEMOUSE&lt;br /&gt; [XY]&lt;br /&gt;&lt;br /&gt; BLACK LINECOLOR: DC&lt;br /&gt;&lt;br /&gt; A1X A1Y MOVETO: DC&lt;br /&gt; 250 250 LINETO: DC&lt;br /&gt; A2X A2Y LINETO: DC&lt;br /&gt; 250 250 MOVETO: DC&lt;br /&gt; A3X A3Y LINETO: DC&lt;br /&gt;&lt;br /&gt; B1X B1Y MOVETO: DC&lt;br /&gt; B2X B2Y LINETO: DC&lt;br /&gt; B3X B3Y LINETO: DC&lt;br /&gt; B1X B1Y LINETO: DC&lt;br /&gt; B1X B1Y PLANETR CIRCLE: DC&lt;br /&gt; B2X B2Y PLANETR CIRCLE: DC&lt;br /&gt; B3X B3Y PLANETR CIRCLE: DC&lt;br /&gt;&lt;br /&gt; C1X C1Y MOVETO: DC&lt;br /&gt; D1X D1Y LINETO: DC&lt;br /&gt; C2X C2Y MOVETO: DC&lt;br /&gt; D2X D2Y LINETO: DC&lt;br /&gt; C3X C3Y MOVETO: DC&lt;br /&gt; D3X D3Y LINETO: DC&lt;br /&gt;&lt;br /&gt; 250 250 SUNR   CIRCLE: DC        \ 重繪三組被破壞之圓圈&lt;br /&gt; 250 250 RINGIR CIRCLE: DC&lt;br /&gt; 250 250 RINGOR CIRCLE: DC&lt;br /&gt;&lt;br /&gt; DELAY MS&lt;br /&gt; KEY? 0=&lt;br /&gt;&lt;br /&gt; WHILE&lt;br /&gt;&lt;br /&gt; WHITE LINECOLOR: DC&lt;br /&gt;&lt;br /&gt; A1X A1Y MOVETO: DC&lt;br /&gt; 250 250 LINETO: DC&lt;br /&gt; A2X A2Y LINETO: DC&lt;br /&gt; 250 250 MOVETO: DC&lt;br /&gt; A3X A3Y LINETO: DC&lt;br /&gt;&lt;br /&gt; B1X B1Y MOVETO: DC&lt;br /&gt; B2X B2Y LINETO: DC&lt;br /&gt; B3X B3Y LINETO: DC&lt;br /&gt; B1X B1Y LINETO: DC&lt;br /&gt; B1X B1Y PLANETR CIRCLE: DC&lt;br /&gt; B2X B2Y PLANETR CIRCLE: DC&lt;br /&gt; B3X B3Y PLANETR CIRCLE: DC&lt;br /&gt;&lt;br /&gt; C1X C1Y MOVETO: DC&lt;br /&gt; D1X D1Y LINETO: DC&lt;br /&gt; C2X C2Y MOVETO: DC&lt;br /&gt; D2X D2Y LINETO: DC&lt;br /&gt; C3X C3Y MOVETO: DC&lt;br /&gt; D3X D3Y LINETO: DC&lt;br /&gt;&lt;br /&gt; REPEAT&lt;br /&gt;&lt;br /&gt;;M&lt;br /&gt;&lt;br /&gt;;OBJECT&lt;br /&gt;&lt;br /&gt;\ 操作滑鼠控制出各種方式之旋轉&lt;br /&gt;&lt;br /&gt;REAL XR&lt;br /&gt;REAL YR&lt;br /&gt;REAL XYR              \ 儲存Mouse座標的半徑值&lt;br /&gt;&lt;br /&gt;: SUN-GEAR-FIXED&lt;br /&gt;  {{ DW ( 1 ) = 0 }} {{ DW ( 2 ) = 1 }}&lt;br /&gt;  {{ DW ( 3 ) = ( R ( 1 ) + R ( 3 ) ) / R ( 3 ) }}&lt;br /&gt;  {{ DW ( 4 ) = DW ( 3 ) }}&lt;br /&gt;  CR ." 行星齒輪架為主動輸入，環形齒輪為被動輸出時，轉速比為: "&lt;br /&gt;  CR ." 1 : " {{ RATIO = ( R ( 1 ) + R ( 3 ) ) / R ( 3 ) }} RATIO F.&lt;br /&gt;  CR ." 環形齒輪為主動輸入，行星齒輪架為被動輸出時，轉速比為: "&lt;br /&gt;  CR ." 1 : " {{ RATIO = R ( 3 ) / ( R ( 1 ) + R ( 3 ) ) }} RATIO F. ;&lt;br /&gt;: PLANETARY-GEARSET-FIXED&lt;br /&gt;  {{ DW ( 1 ) = 5 }} {{ DW ( 2 ) = 0 }}&lt;br /&gt;  {{ DW ( 3 ) = NEGATE ( R ( 1 ) / R ( 3 ) ) }}&lt;br /&gt;  {{ DW ( 4 ) = DW ( 3 ) }}&lt;br /&gt;  CR ." 太陽齒輪為主動輸入，環形齒輪為被動輸出時，轉速比為: "&lt;br /&gt;  CR ." 1 : " {{ RATIO = NEGATE ( R ( 1 ) / R ( 3 ) ) }} RATIO F.&lt;br /&gt;  CR ." 環形齒輪為主動輸入，太陽齒輪為被動輸出時，轉速比為: "&lt;br /&gt;  CR ." 1 : " {{ RATIO = NEGATE ( R ( 3 ) / R ( 1 ) ) }} RATIO F. ;&lt;br /&gt;: RING-GEAR-FIXED&lt;br /&gt;  {{ DW ( 1 ) = 5 }}&lt;br /&gt;  {{ DW ( 2 ) = R ( 1 ) / ( R ( 1 ) + R ( 3 ) ) }}&lt;br /&gt;  {{ DW ( 3 ) = 0 }} {{ DW ( 4 ) = DW ( 3 ) }}&lt;br /&gt;  CR ." 太陽齒輪為主動輸入，行星齒輪架為被動輸出時，轉速比為: "&lt;br /&gt;  CR ." 1 : " {{ RATIO =  R ( 1 ) / ( R ( 1 ) + R ( 3 ) ) }} RATIO F.&lt;br /&gt;  CR ." 行星齒輪架為主動輸入，太陽齒輪為被動輸出時，轉速比為: "&lt;br /&gt;  CR ." 1 : " {{ RATIO = ( R ( 1 ) +  R ( 3 ) ) / R ( 1 ) }} RATIO F. ;&lt;br /&gt;&lt;br /&gt;:NONAME BASIC&lt;br /&gt;10 LET { XR = I&gt;R ( XM ) - 250  }&lt;br /&gt;20 LET { YR = I&gt;R ( YM ) - 250  }&lt;br /&gt;30 LET { XYR = SQRT ( ( XR * XR ) + ( YR * YR ) ) }&lt;br /&gt;40 IF { XYR &amp;lt;= R ( 1 ) } THEN 90&lt;br /&gt;50 IF { ( XYR &gt;  R ( 1 ) ) AND ( XYR &amp;lt;  R ( 3 ) ) } THEN 110&lt;br /&gt;60 IF { ( XYR &gt;= R ( 3 ) ) AND ( XYR &amp;lt;= R ( 4 ) ) } THEN 130&lt;br /&gt;70 IF { XYR &gt;  R ( 4 ) } THEN 150&lt;br /&gt;80 GOTO 180&lt;br /&gt;90 RUN SUN-GEAR-FIXED&lt;br /&gt;100 GOTO 180&lt;br /&gt;110 RUN PLANETARY-GEARSET-FIXED&lt;br /&gt;120 GOTO 180&lt;br /&gt;130 RUN  RING-GEAR-FIXED&lt;br /&gt;140 GOTO 180&lt;br /&gt;150 FOR I =  1 TO 4&lt;br /&gt;160 LET { DW ( I ) = NEGATE ( DW ( I ) ) }&lt;br /&gt;170 NEXT I&lt;br /&gt;180 END&lt;br /&gt;; SETCLICKFUNC: SPR-GEARS&lt;br /&gt;&lt;br /&gt;: MAIN&lt;br /&gt;CR ." 太陽齒輪半徑為: " SUNR . ." ，行星齒輪半徑為: " PLANETR .&lt;br /&gt;CR ." 因此，環形齒輪的半徑為: " RINGIR .&lt;br /&gt;." ，而行星齒輪架的等效半徑為: "  RINGIR SUNR + .&lt;br /&gt;START: SPR-GEARS ;&lt;br /&gt;&lt;br /&gt;MAIN&lt;br /&gt;&lt;br /&gt;3. 陳爽精進修改後的程式&lt;br /&gt;&lt;br /&gt;anew 行星齒輪組.F&lt;br /&gt;&lt;br /&gt;\ Planetary Gear set&lt;br /&gt;\ 行星齒輪組動態旋轉模擬程式&lt;br /&gt;\ 作者：曾慶潭 於紐西蘭&lt;br /&gt;\ 版權所有，標示版權，便歡迎使用。&lt;br /&gt;\ Copyright 2010-08-08 Ching-Tang Tseng, Hamilton, NZ&lt;br /&gt;\ Permission is granted by the author to use this software for any application&lt;br /&gt;\ provided this copyright notice is preserved.&lt;br /&gt;&lt;br /&gt;needs timer-window \ 動畫改用 timer 驅動  ** 陳爽 2011/9/22&lt;br /&gt;&lt;br /&gt;120 VALUE SUNR                       \ (1)太陽齒輪半徑或齒數&lt;br /&gt;40 VALUE PLANETR                    \ (2)行星齒輪半徑或齒數&lt;br /&gt;40 VALUE DELAY                      \ (3)畫完停頓時間，以毫秒計&lt;br /&gt;&lt;br /&gt;SUNR PLANETR 2 * + VALUE RINGIR      \ 環形齒輪內半徑或齒數&lt;br /&gt;RINGIR 40   + VALUE RINGOR      \ 環形齒輪外半徑&lt;br /&gt;&lt;br /&gt;4 3 (MATRIX) XI  \ 將原 XF 實數陣列 改用 XI 整數陣列  ** 陳爽 2011/9/22&lt;br /&gt;4 3 (MATRIX) YI  \ 將原 YF 實數陣列 改用 YI 整數陣列  ** 陳爽 2011/9/22&lt;br /&gt;4 ARRAY R&lt;br /&gt;4 ARRAY W                            \ 用來暫存轉動之角度位置&lt;br /&gt;4 ARRAY DW                           \ 每次寸動旋轉步進之角度變量&lt;br /&gt;3 ARRAY BIAS                         \ 三組旋轉標示點固定之偏差角度&lt;br /&gt;REAL FPI/180&lt;br /&gt;REAL RATIO&lt;br /&gt;REAL FF&lt;br /&gt;INTEGER I&lt;br /&gt;INTEGER J&lt;br /&gt;&lt;br /&gt;\ 固定參數&lt;br /&gt;: INIT1&lt;br /&gt;{{ FPI/180 = FPI / 180 }}&lt;br /&gt;{{ BIAS ( 1 ) = 0 }} {{ BIAS ( 2 ) = 120 }} {{ BIAS ( 3 ) = -120 }}&lt;br /&gt;{{ W ( 1 ) = 0 }} {{ W ( 2 ) = 0 }} {{ W ( 3 ) = 0 }} {{ W ( 4 ) = 0 }}&lt;br /&gt;{{ R ( 1 ) = I&gt;R ( SUNR ) }}&lt;br /&gt;{{ R ( 2 ) = I&gt;R ( SUNR ) + I&gt;R ( PLANETR ) }}&lt;br /&gt;{{ R ( 3 ) = I&gt;R ( RINGIR ) }}&lt;br /&gt;{{ R ( 4 ) = I&gt;R ( RINGOR ) }}&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;\ (4)與齒輪轉速及轉向相關之變數，由設定DW之值來達到目的。&lt;br /&gt;\ 轉向由正負號決定，負值(-)逆時鐘方向旋轉(CCW)，正值(+)順時鐘方向旋轉(CW)。&lt;br /&gt;\ 轉速由數值之大小來決定，0值不旋轉，值越大，旋轉得越快。&lt;br /&gt;\ 此處預設為練習計算相對旋轉速度之用，亂設定就亂旋轉。&lt;br /&gt;\ 此範例表示沒有固定齒輪，太陽齒輪為主動，其他齒輪為被動，三組均可自由轉動。&lt;br /&gt;: INIT2&lt;br /&gt;{{ DW ( 1 ) = 5  }}&lt;br /&gt;{{ DW ( 2 ) = R ( 1 ) / ( R ( 1 ) + R ( 3 ) )  }}&lt;br /&gt;{{ DW ( 3 ) = NEGATE ( R ( 1 ) ) / R ( 3 )  }}&lt;br /&gt;{{ DW ( 4 ) = DW ( 3 ) }}&lt;br /&gt;;&lt;br /&gt;: INIT INIT1 INIT2 ;&lt;br /&gt;&lt;br /&gt;: INCH-ALONG BASIC&lt;br /&gt;10 FOR I = 1 TO 4&lt;br /&gt;20 LET { W ( I ) = W ( I ) + DW ( I ) }&lt;br /&gt;30 IF { W ( I ) &gt; 360 } THEN 60&lt;br /&gt;40 IF { W ( I ) &amp;lt; 0   } THEN 80&lt;br /&gt;50 GOTO 90&lt;br /&gt;60 LET { W ( I ) = W ( I ) - 360 }&lt;br /&gt;70 GOTO 90&lt;br /&gt;80 LET { W ( I ) = W ( I ) + 360 }&lt;br /&gt;90 NEXT I&lt;br /&gt;95 END&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;: &amp;lt;XYF&gt; BASIC&lt;br /&gt;10 FOR I = 1 TO 4&lt;br /&gt;20 FOR J = 1 TO 3&lt;br /&gt;30 LET { FF = 250 + R ( I ) * COS ( ( W ( I ) + BIAS ( J ) ) * FPI/180 ) }&lt;br /&gt;35 LET   XI ( I J ) = INT ( FF ) \ 原實數陣列 XF 改為整數陣列 XI  ** 陳爽 2011/9/22&lt;br /&gt;40 LET { FF = 250 + R ( I ) * SIN ( ( W ( I ) + BIAS ( J ) ) * FPI/180 ) }&lt;br /&gt;45 LET   YI ( I J ) = INT ( FF ) \ 原實數陣列 YF 改為整數陣列 YI  ** 陳爽 2011/9/22&lt;br /&gt;50 NEXT J&lt;br /&gt;60 NEXT I&lt;br /&gt;70 END&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;: [XY] BASIC&lt;br /&gt;10 RUN &amp;lt;xyf&gt;&lt;br /&gt;30 RUN INCH-ALONG&lt;br /&gt;40 END&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;0 VALUE XM  0 VALUE YM   \ 儲存 Mouse 的座標位置&lt;br /&gt;:OBJECT SPR-GEARS &amp;lt;super timer-window \ 原 window 改為 timer-window  ** 陳爽 2011/9/22&lt;br /&gt;&lt;br /&gt;:M ON_INIT: ON_INIT: SUPER INIT ;M&lt;br /&gt;:M STARTPOS:  500 100 ;M&lt;br /&gt;:M STARTSIZE: 500 500 ;M&lt;br /&gt;:M WINDOWTITLE: Z" 行星齒輪組動態展示圖 作者：曾慶潭2010-08-08於紐西蘭" ;M&lt;br /&gt;:M ON_DONE: ON_DONE: SUPER ;M&lt;br /&gt;\ :M WINDOWTITLE: Z" Planetary Gear set Author: Chint-Tang Tseng" ;M&lt;br /&gt;&lt;br /&gt;: SAVEMOUSE HWND GET-MOUSE-XY TO YM TO XM ;&lt;br /&gt;&lt;br /&gt;:M On_Timer: \ 設定 timer 自動更新計算繪圖  ** 陳爽 2011/9/22&lt;br /&gt;   [XY] SAVEMOUSE Paint: self ;M&lt;br /&gt;&lt;br /&gt;:M ON_PAINT: \ 簡化原重覆計算迴路, 只繪圖  ** 陳爽 2011/9/22&lt;br /&gt;&lt;br /&gt; BLACK LINECOLOR: DC&lt;br /&gt; [[ XI ( 1 1 ) ]] @ [[ YI ( 1 1 ) ]] @ MOVETO: DC&lt;br /&gt; 250                250                LINETO: DC&lt;br /&gt; [[ XI ( 1 2 ) ]] @ [[ YI ( 1 2 ) ]] @ LINETO: DC&lt;br /&gt; 250                250                MOVETO: DC&lt;br /&gt; [[ XI ( 1 3 ) ]] @ [[ YI ( 1 3 ) ]] @ LINETO: DC&lt;br /&gt;&lt;br /&gt; [[ XI ( 2 1 ) ]] @ [[ YI ( 2 1 ) ]] @ MOVETO: DC&lt;br /&gt; [[ XI ( 2 2 ) ]] @ [[ YI ( 2 2 ) ]] @ LINETO: DC&lt;br /&gt; [[ XI ( 2 3 ) ]] @ [[ YI ( 2 3 ) ]] @ LINETO: DC&lt;br /&gt; [[ XI ( 2 1 ) ]] @ [[ YI ( 2 1 ) ]] @ LINETO: DC&lt;br /&gt; [[ XI ( 2 1 ) ]] @ [[ YI ( 2 1 ) ]] @ PLANETR CIRCLE: DC&lt;br /&gt; [[ XI ( 2 2 ) ]] @ [[ YI ( 2 2 ) ]] @ PLANETR CIRCLE: DC&lt;br /&gt; [[ XI ( 2 3 ) ]] @ [[ YI ( 2 3 ) ]] @ PLANETR CIRCLE: DC&lt;br /&gt;&lt;br /&gt; [[ XI ( 3 1 ) ]] @ [[ YI ( 3 1 ) ]] @ MOVETO: DC&lt;br /&gt; [[ XI ( 4 1 ) ]] @ [[ YI ( 4 1 ) ]] @ LINETO: DC&lt;br /&gt; [[ XI ( 3 2 ) ]] @ [[ YI ( 3 2 ) ]] @ MOVETO: DC&lt;br /&gt; [[ XI ( 4 2 ) ]] @ [[ YI ( 4 2 ) ]] @ LINETO: DC&lt;br /&gt; [[ XI ( 3 3 ) ]] @ [[ YI ( 3 3 ) ]] @ MOVETO: DC&lt;br /&gt; [[ XI ( 4 3 ) ]] @ [[ YI ( 4 3 ) ]] @ LINETO: DC&lt;br /&gt;&lt;br /&gt; 250 250 SUNR   CIRCLE: DC        \ 重繪三組被破壞之圓圈&lt;br /&gt; 250 250 RINGIR CIRCLE: DC&lt;br /&gt; 250 250 RINGOR CIRCLE: DC&lt;br /&gt;&lt;br /&gt;[ classes ] \ 暫時可如此過關, 因前述 BASIC 語法未將原 order 還原  ** 陳爽 2011/9/22&lt;br /&gt;&lt;br /&gt;;M&lt;br /&gt;&lt;br /&gt;;OBJECT&lt;br /&gt;&lt;br /&gt;cr .( SPR-GEARS )&lt;br /&gt;          START: SPR-GEARS&lt;br /&gt;130 createTimer: SPR-GEARS&lt;br /&gt;: g 130 createTimer: SPR-GEARS ; \ 啟動 timer (設定間隔 130 ms)  ** 陳爽 2011/9/22&lt;br /&gt;: h       killTimer: SPR-GEARS ; \ 停止 timer                    ** 陳爽 2011/9/22&lt;br /&gt;&lt;br /&gt;\ 操作滑鼠控制出各種方式之旋轉&lt;br /&gt;&lt;br /&gt;REAL XR&lt;br /&gt;REAL YR&lt;br /&gt;REAL XYR              \ 儲存 Mouse 座標的半徑值&lt;br /&gt;&lt;br /&gt;: SUN-GEAR-FIXED&lt;br /&gt;  {{ DW ( 1 ) = 0 }} {{ DW ( 2 ) = 1 }}&lt;br /&gt;  {{ DW ( 3 ) = ( R ( 1 ) + R ( 3 ) ) / R ( 3 ) }}&lt;br /&gt;  {{ DW ( 4 ) = DW ( 3 ) }}&lt;br /&gt;  CR ." 行星齒輪架為主動輸入，環形齒輪為被動輸出時，轉速比為: "&lt;br /&gt;  CR ." 1 : " {{ RATIO = ( R ( 1 ) + R ( 3 ) ) / R ( 3 ) }} RATIO F.&lt;br /&gt;  CR ." 環形齒輪為主動輸入，行星齒輪架為被動輸出時，轉速比為: "&lt;br /&gt;  CR ." 1 : " {{ RATIO = R ( 3 ) / ( R ( 1 ) + R ( 3 ) ) }} RATIO F. ;&lt;br /&gt;: PLANETARY-GEARSET-FIXED&lt;br /&gt;  {{ DW ( 1 ) = 5 }} {{ DW ( 2 ) = 0 }}&lt;br /&gt;  {{ DW ( 3 ) = NEGATE ( R ( 1 ) / R ( 3 ) ) }}&lt;br /&gt;  {{ DW ( 4 ) = DW ( 3 ) }}&lt;br /&gt;  CR ." 太陽齒輪為主動輸入，環形齒輪為被動輸出時，轉速比為: "&lt;br /&gt;  CR ." 1 : " {{ RATIO = NEGATE ( R ( 1 ) / R ( 3 ) ) }} RATIO F.&lt;br /&gt;  CR ." 環形齒輪為主動輸入，太陽齒輪為被動輸出時，轉速比為: "&lt;br /&gt;  CR ." 1 : " {{ RATIO = NEGATE ( R ( 3 ) / R ( 1 ) ) }} RATIO F. ;&lt;br /&gt;: RING-GEAR-FIXED&lt;br /&gt;  {{ DW ( 1 ) = 5 }}&lt;br /&gt;  {{ DW ( 2 ) = R ( 1 ) / ( R ( 1 ) + R ( 3 ) ) }}&lt;br /&gt;  {{ DW ( 3 ) = 0 }} {{ DW ( 4 ) = DW ( 3 ) }}&lt;br /&gt;  CR ." 太陽齒輪為主動輸入，行星齒輪架為被動輸出時，轉速比為: "&lt;br /&gt;  CR ." 1 : " {{ RATIO =  R ( 1 ) / ( R ( 1 ) + R ( 3 ) ) }} RATIO F.&lt;br /&gt;  CR ." 行星齒輪架為主動輸入，太陽齒輪為被動輸出時，轉速比為: "&lt;br /&gt;  CR ." 1 : " {{ RATIO = ( R ( 1 ) +  R ( 3 ) ) / R ( 1 ) }} RATIO F. ;&lt;br /&gt;&lt;br /&gt;:NONAME BASIC&lt;br /&gt;10 LET { XR = I&gt;R ( XM ) - 250  }&lt;br /&gt;20 LET { YR = I&gt;R ( YM ) - 250  }&lt;br /&gt;30 LET { XYR = SQRT ( ( XR * XR ) + ( YR * YR ) ) }&lt;br /&gt;40 IF { XYR &amp;lt;= R ( 1 ) } THEN 90&lt;br /&gt;50 IF { ( XYR &gt;  R ( 1 ) ) AND ( XYR &amp;lt;  R ( 3 ) ) } THEN 110&lt;br /&gt;60 IF { ( XYR &gt;= R ( 3 ) ) AND ( XYR &amp;lt;= R ( 4 ) ) } THEN 130&lt;br /&gt;70 IF { XYR &gt;  R ( 4 ) } THEN 150&lt;br /&gt;80 GOTO 180&lt;br /&gt;90 RUN SUN-GEAR-FIXED&lt;br /&gt;100 GOTO 180&lt;br /&gt;110 RUN PLANETARY-GEARSET-FIXED&lt;br /&gt;120 GOTO 180&lt;br /&gt;130 RUN  RING-GEAR-FIXED&lt;br /&gt;140 GOTO 180&lt;br /&gt;150 FOR I =  1 TO 4&lt;br /&gt;160 LET { DW ( I ) = NEGATE ( DW ( I ) ) }&lt;br /&gt;170 NEXT I&lt;br /&gt;180 END&lt;br /&gt;;       SETCLICKFUNC: SPR-GEARS&lt;br /&gt;&lt;br /&gt;: MAIN&lt;br /&gt;CR ." 太陽齒輪半徑為: " SUNR . ." ，行星齒輪半徑為: " PLANETR .&lt;br /&gt;CR ." 因此，環形齒輪的半徑為: " RINGIR .&lt;br /&gt;." ，而行星齒輪架的等效半徑為: "  RINGIR SUNR + .&lt;br /&gt;START: SPR-GEARS g ;&lt;br /&gt;&lt;br /&gt;MAIN&lt;br /&gt;&lt;br /&gt;4. 原理&lt;br /&gt;&lt;br /&gt;許多機械工業的產品，用到行星齒輪組作為設備元件，例如：汽車的自動變速箱。從網路Google搜索引擎來探尋，鍵入『Planetary gear set』則可以得到幾千幾百篇相關資料。我們很容易從網文中找到它的各種實體齒輪照片，能動態展示運轉現象的影像則不多。而且，我今天還見過網頁上刊載亂畫、亂轉的動態影像，只是會動，轉速與轉向則完全不合理。&lt;br /&gt;行星齒輪組具有廣泛的功能，雖然在機械傳動的應用上，主要是用於動力轉向輪軸上，做為差速器使用，及用來圓滑改變機械傳動的轉速與變換傳輸扭力。但若考慮到將其應用於最近興起的特殊節能車與油電混合車設計時，它就另有功效，具有結合不同輸入或輸出動力於單一結構的特殊功效。&lt;br /&gt;基本的行星齒輪組結構，由位於中央的太陽齒輪、居間的行星齒輪配上固定的支架、及位於最外圍的環形齒輪三者所構成。正式的運轉，是三者中固定其中單一種齒輪，而讓另外的兩種齒輪自由運轉，來達到變速與改變扭力的目的。一般而言，通常都以數套行星齒輪組，依次配合在一起，設計進單一個齒輪箱內，以達到範圍更為廣泛的變化目的。&lt;br /&gt;就算是機械專家，通常對這種機械運轉起來時的轉速與轉向，不能很直接且正確的進行描述，因此，就產生了不少幫助記憶的圖表或口訣，用來描述這種機械的運動方式。我在初次接觸這種機械時，也很難正確的想像其運轉方式，設計程式時，依然必須藉助於書本的幫助，才能確定程式設計無誤。&lt;br /&gt;相關文獻上都不提行星齒輪是由誰？何時？發明的，甚至於有書本記載，中國古時候黃帝軒轅氏(西元前2689年至西元前2597年，距今約4600年了)，打敗蚩尤所使用的指南車，就是使用行星齒輪的運轉原理設計而成。我對這些說法不表意見，但是經由我自己設計的萬用程式，很快就能了解，行星齒輪的運轉原理，可以從軸端安裝了彈子盤(Bearing，學名為軸承)的結構推演出來。&lt;br /&gt;只要古人有機會以肉眼觀察軸端安裝了小滾桿彈子盤的轉軸在運轉，為了保持小滾桿轉動時不會散掉，必須加裝滾桿保持器(Retainer)，觀察保持器與轉軸之間的旋轉關係，就會顯現出相當於這種行星齒輪的運轉狀況，於是，行星齒輪就能夠很自然的被發現出來。因此，我們不需要特別去研究，行星齒輪到底是誰發明的？&lt;br /&gt;基本上，我所設計的程式，只須更改太陽齒輪與行星齒輪的半徑，就能立即獲得新的顯示結果。行星齒輪的半徑被設定成相對的很小時，就能見到這種軸承效果，如圖2所示。而且，您還能見到無齒的圖形描述方式，更像實際的軸端彈子盤。&lt;br /&gt;反過來的描述圖，也能立即獲得，都是只須改變兩個數字，就能從我的程式輕易獲得，如圖3所示。因此，這一套動態模擬系統是萬用的，適用於各種情況。&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-JiIlh64fRqQ/TqXGqrHoqNI/AAAAAAAAAlE/JhuU5LFzLtc/s1600/fig3.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="400" width="385" src="http://2.bp.blogspot.com/-JiIlh64fRqQ/TqXGqrHoqNI/AAAAAAAAAlE/JhuU5LFzLtc/s400/fig3.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;圖2&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-6O3XK2szhqw/TqXGzxiz_TI/AAAAAAAAAlQ/1xUHtCaQr5Q/s1600/fig4.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="400" width="385" src="http://2.bp.blogspot.com/-6O3XK2szhqw/TqXGzxiz_TI/AAAAAAAAAlQ/1xUHtCaQr5Q/s400/fig4.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;圖3&lt;br /&gt;&lt;br /&gt;圖2與圖3能夠如此輕易的產生，係我對此一系統進行過仔細分析後，才得到的結果。我效法FORTH程式語言發明人莫查理(Charles H. Moore)先生發明FORTH CPU的同樣方法，仔細分析問題後，將因子簡化到最精簡程度，才設計程式。因此，得到了只須根據兩個數字，就能設計出整個系統的結論。&lt;br /&gt;設計程式前，我手繪分析此問題的圖形，得知欲繪出展示圖時，只須根據12個關鍵點，然後採用兩點間繪出一直線的指令，與根據一個點及半徑繪出一個圓的指令，就能快速繪出全圖。問題被精簡到最簡程度時，電腦所需執行的程式，就不會太多或太耗時。因此，能讓我們有機會產製像演電影一般的動態展示圖。&lt;br /&gt;讓展示圖形具有動態感的技巧也很簡單，宣告使用黑線讓電腦繪完一次全圖後，停一小段時間，讓觀者能產生視覺暫留的效果。然後，再讓電腦使用見不到的白線宣告，就在原處重繪一遍，原圖就消失了。緊接著，根據電腦快速計算，得到下一步寸動(Inch-along)之後的新位置，也就是該有之新的12個關鍵點，重覆執行上述程序，就可完成動態展示圖。&lt;br /&gt;這12個關鍵點，以及繪圖時僅需使用的兩個繪圖指令，可以從圖4的紅圈標示點顯現出來。讀者請自行觀察後體會。&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-u6Lx-7V9pyQ/TqXGaRe0FbI/AAAAAAAAAk4/_8y13I7PtMU/s1600/fig2.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="400" width="392" src="http://1.bp.blogspot.com/-u6Lx-7V9pyQ/TqXGaRe0FbI/AAAAAAAAAk4/_8y13I7PtMU/s400/fig2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;圖4&lt;br /&gt;&lt;br /&gt;我也仔細分析過計算這個系統中的轉速比時，根本可以不必去考慮行星齒輪的個別轉速，反倒是行星齒輪架的轉速，才會是繪製動態展示圖時該有的關鍵數據。分析各組齒輪的轉速比時，必須把行星齒輪架，考慮成具有一個等效的旋轉半徑，這個半徑就等於太陽齒輪半徑與環形齒輪內徑之和。因此，再度把問題簡化到計算轉速比時，只須顧慮太陽齒輪的半徑，與環形齒輪的內徑，兩者，便可算出各種轉速變化關係，程式更形簡化了。&lt;br /&gt;如果讀者對於程式中計算轉速比的算法有疑問，請自行上網參考別的專家之論述。此處則是我自己歸納分析後，所得到的最精簡結果，您也可以根據程式執行後印出來的數字，驗證於您自己遭遇到問題後，根據書本中提供的其它公式，計算得到之結果，來核對我設計的程式，對或者是不對？&lt;br /&gt;事實上，探討這種裝置的應用時，行星齒輪架的轉速，確實比行星齒輪本身的轉速要有意義，因為，行星齒輪是恆被架子框住來運轉的。&lt;br /&gt;裝置中用來固定三組齒輪所需要的煞車帶，是不需要繪出圖來表示的。我藉助於設計出電腦滑鼠點選功能的操作，來固定指定的齒輪，就能達到完全一樣的效果。&lt;br /&gt;&lt;br /&gt;5. 程式特殊狀況說明&lt;br /&gt;&lt;br /&gt;繪圖程式的設計方法非常簡單，近期內即將出版之我的新書中，詳細講解了最基本的設計方法，我鼓勵全世界的中國人去買這本書，書中以非常奇特的方式，描述了許多電腦界所罕見的觀念。&lt;br /&gt;只用兩組繪圖指令就能繪完全圖。換句話說，程式的執行，耗用了大部份的時間，去計算出12個關鍵點的座標。計算時，要用到浮點數及幾何函數，因此，如果不用ABC FORTH數學計算系統來協助設計，只用傳統的FORTH程式語言來設計，必會遭遇很大的困難。上述程式中以浮點計算式算出座標，再經過變換成對應整數的相關程式，都是直接列示的數學式子，懂得幾何就懂得這些程式。&lt;br /&gt;一年多前，我在將計算結果傳送進繪圖程式時，遭遇到了困難，因為繪圖程式的原始創作者是麥安卓(Andrew McKewan)先生，他以物件導向(Object oriented)的觀念，創作了新的繪圖程式寫法。而我所設計的ABC FORTH數學計算程式寫法，與這種設計不相容，嚴格說來是二者互不相容。彼此都由基礎FORTH系統發展而成，於是，最後，我只好採取一個基礎FORTH系統中，大家都可以共同使用的變常數VALUE宣告的格式，來解決數據傳遞的問題，結果就設計出了上述的原始程式。&lt;br /&gt;陳爽在仔細研究過我的程式後，發現了上述狀況，深覺這樣的程式安排很不恰當，於是我們兩人討論後進行改寫，就改出了以類似 [[ XI ( 2 2 ) ]] @ 的方式取得ABC FORTH整數變數內容的方式，來取消原來大量使用 VALUE的原始程式設計方法。另外，在這種使用方式結束後，要增用一列立即執行式的宣告&lt;br /&gt;&lt;br /&gt;[  CLASSES  ]&lt;br /&gt;&lt;br /&gt;以便讓系統在編譯此程式時，能因正確的字彙搜尋路徑，找得到隨後就要編納進系統的 『;M 』指令，達到了我們期望中的目的。&lt;br /&gt;這一段發展過程，展示了陳爽熟悉FORTH系統的功力，是一段很好的技術研究方式，值得記錄下來供大家參考。&lt;br /&gt;陳爽對利用軟體定時器(Timer)控制動態顯示圖的技巧熟悉，於是又加上了以定時器設計程式的新格式。它的功效等同於宣告將軟體定時器使用於這個繪圖程式之後，繪圖程式便會依照設定的時間間隔，每次均重新繪出一個寸動變換位置後的新視窗，程式能啟、能停，指令的使用方法，就如程式所示。&lt;br /&gt;程式的其它部份，也有幾個值得參考的設計範例，尤其是滑鼠的應用方式，程序完整，從取得滑鼠座標位置的方法，到讓點選位置產生指定功效的設計，均已明確的顯示在程式之中。&lt;br /&gt;&lt;br /&gt;精進修改程式之後，我們都並未滿足於這樣的研究結果，我回到紐西蘭，便再度研究試驗出將ABC FORTH程式格式，融進物件導向程式格式的正式方法，順便透過此文公諸於大眾，大家以後就能依樣使用。&lt;br /&gt;我只須公布一個最簡實例，看完程式，大家立刻就能明白，程式格式的互相融入方法。&lt;br /&gt;&lt;br /&gt;\ 視窗繪圖01&lt;br /&gt;\ 作者：曾慶潭 於紐西蘭，版權所有，標示版權，便歡迎使用。&lt;br /&gt;\ Copyright 2011-06-01 Ching-Tang Tseng, Hamilton, NZ&lt;br /&gt;\ Permission is granted by the author to use this software for any application&lt;br /&gt;\ provided this copyright notice is preserved.&lt;br /&gt;&lt;br /&gt;INTEGER A&lt;br /&gt;INTEGER B&lt;br /&gt;INTEGER C&lt;br /&gt;INTEGER D&lt;br /&gt;&lt;br /&gt;: INIT&lt;br /&gt;[[ A = 0 ]] [[ B = 250 ]] [[ C = 500 ]] [[ D = 250 ]] ;&lt;br /&gt;&lt;br /&gt;:OBJECT GRAPH01&lt;br /&gt;&lt;br /&gt;&amp;lt;super WINDOW&lt;br /&gt;&lt;br /&gt;:M STARTPOS:  100 100 ;M&lt;br /&gt;:M STARTSIZE: 500 500 ;M&lt;br /&gt;:M WINDOWTITLE: Z" 星(Star)  作者：曾慶潭2010-06-01於紐西蘭 " ;M&lt;br /&gt;&lt;br /&gt;:M ON_PAINT:&lt;br /&gt;&lt;br /&gt;INIT&lt;br /&gt;BLACK LINECOLOR: DC&lt;br /&gt;&lt;br /&gt;BASIC&lt;br /&gt;&lt;br /&gt;10 RUN A 250 MOVETO: DC&lt;br /&gt;20 RUN 250 B LINETO: DC&lt;br /&gt;30 RUN C 250 LINETO: DC&lt;br /&gt;40 RUN 250 D LINETO: DC&lt;br /&gt;50 RUN A 250 LINETO: DC&lt;br /&gt;60 LET A = A + 10&lt;br /&gt;70 LET B = B + 5&lt;br /&gt;80 LET C = C - 10&lt;br /&gt;90 LET D = D - 5&lt;br /&gt;100 IF C &gt;= 0 THEN -10&lt;br /&gt;110 END&lt;br /&gt;&lt;br /&gt;[ CLASSES ]&lt;br /&gt;&lt;br /&gt;;M&lt;br /&gt;&lt;br /&gt;;OBJECT&lt;br /&gt;&lt;br /&gt;: MAIN START: GRAPH01 ;&lt;br /&gt;&lt;br /&gt;MAIN&lt;br /&gt;&lt;br /&gt;執行結果，可得到圖5。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-bdgsDsj8U1E/TqXG__07gLI/AAAAAAAAAlc/KsHk1PGvcgk/s1600/fig5.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="400" width="400" src="http://2.bp.blogspot.com/-bdgsDsj8U1E/TqXG__07gLI/AAAAAAAAAlc/KsHk1PGvcgk/s400/fig5.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;圖5&lt;br /&gt;&lt;br /&gt;這是一個新改寫完成的程式，當初，我在設計這個繪圖程式時，根本不知道我的ABC FORTH程式能夠這樣使用，但此性能原本即已存在，這樣用，雖然是回到紐西蘭後才產生的新發現，事實上，沒有陳爽的那一列傳統FORTH程式技巧&lt;br /&gt;&lt;br /&gt;[  CLASSES  ]&lt;br /&gt;&lt;br /&gt;新發現就不容易被發現得出來，大家還是感謝陳爽的協助吧。&lt;br /&gt;我在陳爽家中共同研究了幾個晚上的FORTH，見到他仔細研讀過我的『ABC FORTH數學計算系統使用說明』，並以彩色筆從頭到尾畫完了重點，深受感動，於是告訴他，可以免費再致贈一本新書給他。您知道他如何回答嗎？他說：『那我畫過的重點豈不全都不見了？』天啊！他是目前全台灣FORTH界最高的高手啊！&lt;br /&gt;上列這個新公佈的小程式，應該是回敬給陳爽大師兄最好的禮物，他最能看懂我的設計，『行星齒輪組動態模擬程式』也因此還能再進一步精進改寫，但我不做了，我想改談當初我設計這個程式時的原始初衷。&lt;br /&gt;&lt;br /&gt;6. 討論&lt;br /&gt;&lt;br /&gt;我為什麼要發展『行星齒輪組動態模擬程式』？&lt;br /&gt;不是為了想表演技術，是為了替可能很快就會出現的多CPU FORTH系統找試驗性題目。&lt;br /&gt;我曾在叛逃美國的張憲義手下工作過一段時日，那時，他領導的工作小組中，有發展電腦軟體模擬系統的研究工作，因此，見識過一些模擬系統的研發問題，那是30幾年前的往事。&lt;br /&gt;當時，電腦的軟硬體都沒那麼進步，模擬系統的研究，幾乎只能算是停留在基本的理論性研究階段而已。我最記得的模擬軟體要求，就是設法將所有多項式的數學計算式子，都編寫成一連串 ( a * X + b ) 格式的程式，然後，就能交給平行處理的電腦，進行連貫性的計算，以便快速得到一系列平行輸出的計算結果。&lt;br /&gt;模擬系統最需要快速得到大量的計算結果，這是模擬系統的基本要求。&lt;br /&gt;回頭看看我所設計的『行星齒輪組動態模擬程式』，主要的程式內容，就是不斷的進行一序列的數學計算，它適合用來考驗能夠平行處理的多CPU FORTH系統，這就是我設計這個程式時的真正初衷，讓我自己可以見到耗用了許多時間在數學計算上的實際程式。&lt;br /&gt;也許讀者立刻會感到我的想法非常幼稚，支湯姆(Tom Zimmer)先生創作的Win32Forth系統，原本就是一個根本跑得不夠快的系統，拿它當基礎，當然得不到理想的輸出結果。沒錯，它是跑得非常慢，上述的程式幾乎只能讓我得到每分鐘僅有一轉的動態展示結果，真正汽車上的引擎轉速，在慢車運轉時，都還得有每分鐘800轉的轉速，我到底想模擬出甚麼東西呢？這一節討論，就論述這方面的問題。&lt;br /&gt;&lt;br /&gt;三年前也是回台參加FORTH月會時，見識過鄒鳴峰小老弟，展示他使用CUDA跑平行處理程式，使用了四個CPU。程式給我的感覺，是系統以迴路方式，執行一個畫面的影像處理時，只將平行處理安排成處理互不相干的四個區域影像，來達到平行處理的快速效果，沒有其它特出的系統性意義。&lt;br /&gt;&lt;br /&gt;我先行建立起一個自己設計、可以執行無誤而獲得結果的動態模擬程式，然後經常回顧這個程式的內容，用它來思考程式應該如何被編譯？才能成為最好的平行處理程式碼。至於程式設計的漂不漂亮？能不能獲得甚麼好處？不是考慮的重點，甚至於根本就沒打算將它寫進新書中當教材。因為它遠離了一般群眾學習上的基本需求。&lt;br /&gt;&lt;br /&gt;我也經常從網上閱讀一些多CPU的最新發展訊息，知道上個月底，綠色陣列(GreenArrays)公司，已經推出了莫查理先生設計的陣列式144個CPU評估板(Evaluation board)，此版為一種原型發展測試用實體裝置。他們推出產品之後，也苦於新人的難以進入使用狀況，必須像我寫新書那樣，趕著寫出新資料，教大家如何憑少到只用3個鍵片(3-key pad)的操作方式來編寫程式，與如何將程式編譯載入系統。&lt;br /&gt;綠色陣列公司的創舉很可貴，我們應該給予高度的肯定。但是，這一個月，我也看到了非FORTH領域，多CPU的技術發展報導訊息，據說IBM公司已經與3M公司合作，取得了一種特殊的膠水技術，能將多CPU的結構黏製成100層摩天大樓的樣子，而且可能在2013年推出這種結構的多CPU裝置，並正式應用在行動手機上。這些訊息告訴了我，多CPU的硬體實體發展，還有後續的進展，不是到此為止。&lt;br /&gt;如果將莫查理先生於綠色陣列公司發展出來的144個陣列式CPU，配上IBM公司的膠水技術，將陣列式結構也黏製成摩天大樓，情況就會不一樣了，它將被稱為『144大樓』。摩天大樓的3維式結構，能提供多條CPU間的高速資料通道，陣列式安排的多CPU結構只有一條，兩者相比，就好像是一片平房與一座摩天大樓的對應關係，性能差異，可以立見。這些硬體科技的實現，事實上離我們都不遠，在我們有生之年，絕對可以見得到。&lt;br /&gt;我沒有蓋摩天大樓式多CPU的技術，甚至於硬要在我家後院蓋一間小木屋的經濟付出，都會造成我們家庭生活上的緊張。但是，我可以先於別人，先行自我培養出經營一座摩天大樓，讓其發揮效果的能力。&lt;br /&gt;&lt;br /&gt;思考多CPU的程式碼應有之編譯問題時，我經常回顧我自己設計的破(Poor)程式，如果根據144大樓的結構，我好像應該設計一個名為中階指令專用的程式計數器，仿照FORTH系統中原有的專業術語，它就叫作MP(Middle word Pointer)。傳統FORTH中的幾個重要系統變數，它們原始的意義，是這樣的：&lt;br /&gt;&lt;br /&gt;W控管低階定義而成指令的執行。&lt;br /&gt;IP控管高階定義而成指令的執行。&lt;br /&gt;UP控管多工定義而成程式的執行。&lt;br /&gt;&lt;br /&gt;它們的實質功能，全都像實際CPU內的程式計數器PC(Program Counter)，專門用來指出程式被執行到了那一個點，而且必須按規矩自動增量。&lt;br /&gt;&lt;br /&gt;我想要的MP之所以被稱為中階，是因為系統若將程式中的指令，拆放給144大樓中的部份CPU執行之後，需要一個中階小主管，暫時可以想像成它就是一名二房東。例如：上述程式中的 (XYF) 指令，本身需要一個MP來控管12個點的各自計算，它代表需要借用144大樓中的13層樓，因為 (XYF) 指令自己當個二房東，也需要一層樓。於是，要快速執行出 (XYF) 指令時，系統就去爭取13層樓的使用權，MP因此而僅在這13層樓間打轉，二房東沒事就去逐樓收房租、發通告，又因為只是二房東，收到的房租，除了自己控管的部份之外，是要上繳大房東的。&lt;br /&gt;這樣的中階程式計數器概念，就能讓我在設計多CPU系統編譯程式時，在指令結構中，多增用一欄記憶單元，用來儲存這個指令可以用到多少個CPU？此欄暫時就稱它為編制欄吧，它儲存的內容代表執行這個指令時，可由編制出多少個CPU，同時執行平行處理而得到結果。&lt;br /&gt;同樣的道理，處理 [XYI] 也需要13層樓的使用權，也是一個二房東。兩個二房東要聽命於大房東 [XY] 安排它們串行處理，大房東 [XY] 還有第三個名叫山本寸動(Inch-along)的日本人二房東，它專門經營轉滿一圈360 度後就會自動歸0的旋轉門，從旋轉門企業經營的內容來看，一次要租5層樓。如此一來，將大房東也要租住一層樓而納入考慮，144大樓一下子就租出去13 + 13 + 5 + 1 = 32層樓了，144大樓生意真好，它最歡迎上述幾個房東型式的顧客來租樓使用了。 &lt;br /&gt;多CPU的編譯器(Compiler)，在編譯指令時，需要一些規則，例如：遇到矩陣內各個單元的計算程式時，就鑑別計算是否互不相干？鑑別方法也很簡單，就根據矩陣指標作為識別單元的依據，然後鑑別等號右邊被編譯的內容，有無用到其它同一陣列內的單元？若全無，則表全不相干，於是就根據矩陣指標的總量，上例中是3 * 4 = 12，再加上自己本身1個，總共是13，編進編制欄內。&lt;br /&gt;編譯的規矩當然不僅只是上述這麼簡單，還有其他鑑別出一個指令可以放什麼數值進編制欄的規矩，例如上述程式中專供滑鼠操作用的『:NONAME』指令，它的執行內容都是一些格式相當，彼此也互不相干的程式，也能被分配到幾個CPU去分工，卻未必一定要平行而處理。144大樓式的CPU，由於莫查理先生設計得足夠精簡，佔用空間很少，同一層樓的CPU旁，就還能安放出許多的自用記憶體。未必一定要平行處理的互不相干、同格式、小型程式，因此也能交給144大樓各樓去執行。&lt;br /&gt;可以想像，如果碰上了前後高度相依的串行程式，編譯系統也得將這些逐步執行的每一列程式，安排成一串樓上、樓下依序相通的租樓方式來執行了。有幾列就得租幾樓，該填進編制欄內的數字是多少？只要清算這一模組程式參數欄的內容，有幾個獨立單元？就能獲得。&lt;br /&gt;FORTH傳統程式已經高度模組化，ABC FORTH程式的寫法，也鼓勵大家盡量使用超短型的模組化格式來寫程式。模組與模組之間可以確定是絕對不相干的程式，因此，那種一時看不出內容，能不能被編譯成高度平行處理的程式？其編制欄的內容就填1，碰上了，只好僅租用144大樓的單一樓層來解決問題。&lt;br /&gt;&lt;br /&gt;除此之外，必然還有許多多CPU程式編譯方法需要考慮的問題可以探討。能被易於編譯成平行處理的程式，也應該有一些基本的程式書寫語法要求。這些規矩，都很值得在144大樓尚未建成上市之前，就開始著手研究，但是，就是需要先準備好類似本文所用的動態模擬程式，才有可以研究的對象。&lt;br /&gt;上述研究方法，是基於一個大前題，才得以如此進行。144大樓的每一層樓，都得具有基本FORTH的核心程式才行。此前我們用來執行FORTH程式的核心(Kernel)程式，是經由普通CPU設計出FORTH虛擬機(Virtual Machine)而成，如果144大樓還用一般CPU來建造，那麼，每一層樓都還得有各自的一套FORTH虛擬機器才行，這樣的發展當然不切實際。&lt;br /&gt;144大樓裡面，已經不再需要傳統FORTH系統內的低階指令程式計數器W了，它直接使用FORTH原生碼(Native code)的程式計數器PC。因此，思考平行處理的程式編譯問題時，必須從(非『重』)新思考，想法才能不受約束。總而言之，144大樓必須採用綠色陣列公司的創作，上述的討論才有意義，因為這是一種天生全硬體FORTH核心式的CPU。&lt;br /&gt;大師兄協助我精進的程式中，採用的一個軟體定時器設計，不是採用FORTH程式語言完成的設計，它不能上144大樓，只好請他在樓下訪客貴賓室內休息了，遇到這種狀況，我們只好另換以FORTH設計的軟體定時器。&lt;br /&gt;這個月中旬，十月十七日，莫查理先生在他的個人部落格網文中記述，他已開始為這種系統，設計專用的編輯器(Editor)及編譯器(Compiler)。請注意！他設計出來的編譯器，將會是一個標標準準的平行處理程式編譯器，當然與我在本節中討論的觀念完全無關，我們拭目以待。&lt;br /&gt;莫查理先生是設計所有FORTH相關物品的『真高手』，我是『曾低手』，但是『曾低手』經常會向『真高手』仔細學習。仔細搞通『真高手』30幾年前設計的『Tiny BASIC compiler』，『曾低手』就能設計出現在的『ABC FORTH』。&lt;br /&gt;&lt;br /&gt;台灣要不要向上發展這種FORTH技術？隨便您。&lt;br /&gt;&lt;br /&gt;目前，一分鐘才轉一轉的動態模擬結果，經過144大樓的處理，可能可以處理出每分鐘十萬轉的轉速。&lt;br /&gt;也許您又會問了，轉那麼快要幹什麼？&lt;br /&gt;我則對於回答這種問題，有點不耐煩了。&lt;br /&gt;我告訴您，每分鐘十萬轉，是氣體離心分離機，能夠輕易分離出造原子彈的材料──U235濃縮原料之基本要求轉速。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1097161848825759583-2275456656733219050?l=forthfortnight.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://forthfortnight.blogspot.com/feeds/2275456656733219050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1097161848825759583&amp;postID=2275456656733219050' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/2275456656733219050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/2275456656733219050'/><link rel='alternate' type='text/html' href='http://forthfortnight.blogspot.com/2011/10/forth.html' title='向上發展FORTH技術'/><author><name>Chings World</name><uri>http://www.blogger.com/profile/15191167870271612229</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_AchTsJsrvZw/STdFzdxFJaI/AAAAAAAAAAM/ZR_kphZVVHQ/S220/PC040006.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-I9o6lhTrtqM/TqXF4MUMr-I/AAAAAAAAAkg/dnLhKnh_xRQ/s72-c/f_9_1.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1097161848825759583.post-4673585632366239579</id><published>2011-10-09T19:49:00.000-07:00</published><updated>2011-10-24T13:45:56.045-07:00</updated><title type='text'>中華民國百年國慶    鳳凰呈祥</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-HAeBc4F-VjM/TpJcZd22bqI/AAAAAAAAAjw/mvi2wXdUhPs/s1600/f_9_1.gif" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="104" width="152" src="http://4.bp.blogspot.com/-HAeBc4F-VjM/TpJcZd22bqI/AAAAAAAAAjw/mvi2wXdUhPs/s400/f_9_1.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;曾慶潭2011-10-10於紐西蘭&lt;br /&gt;Ching-Tang Tseng&lt;br /&gt;ilikeforth@gmail.com&lt;br /&gt;http://forthfortnight.blogspot.com&lt;br /&gt;&lt;br /&gt;刻意挑選這個偉大的日子來刊載新網文，確實具有濃厚的繼往開來意義。回台一個多月前後的日子，不得不停止照顧這個網頁的工作，時間超過兩個月了，此期間，原有的長期規律生活搞亂了，只有重新回到家後，才能逐漸恢復正常。&lt;br /&gt;十月八日安抵家門，旅途當然辛苦，略事休息之後，就得展開新生活，繼續努力於該做的事情，心情卻很愉快，我一向不怕吃苦，喜歡樂觀的過日子。&lt;br /&gt;返台期間，確實忙碌，前兩個星期卻是在重感冒、一直發燒、嚴重咳嗽的情況下勉強度過的。回台後，無車可開，也不想求人，先修好那輛超過35年高齡的腳踏車，騎它幾公里才能到達醫院看個病，總共看了6次病，才度過難關，看病吃藥，只是為了讓自己好過一點，因為，我記得那句諺語：『不吃藥，十四天才會好，吃藥，兩星期就好了』，果真不假。&lt;br /&gt;那兩個星期，甚麼事都不能做，整天手腳發軟，頭腦昏沈，騎車到達醫院時，血壓、心跳、體溫都極不正常，候診時，連我自己都有點心慌，卻只能思考是否與登革熱、SARS、腸病毒、甚至於肺結核…等是否有關？並仔細思考這幾種病症所應該呈現出來的差異。接聽親友的關懷電話時，我有氣無力的堅持，不希望任何人來探望我，因為，自己正處於最高度危險的傳染期，來探望只會增加彼此的困擾，能免則免。&lt;br /&gt;&lt;br /&gt;否極泰來之後，要忙不少事情，可以留台辦事的時間卻少了一半，許多原先打算進行的事情只好取消了。&lt;br /&gt;&lt;br /&gt;回台前尚毫無概念的新書出版事情，經過至朋好友麥瑞台博士的全力協助，終於有了眉目。科技圖書出版公司總經理張秉中先生欣然出面協助，經過了一番長談，張總經理了解我的誠懇用心、看過影印書稿、親眼目睹書中實際展示之範例程式後，便幾乎是無條件的答應，要為我出版此書。&lt;br /&gt;這是我生平第一次想做的出版著作重要事情，必須很有耐心的與出版界配合，才會有最佳的結果。我得知，正式申請書碼，至少需時兩星期。我一校再校後，才慎重其事的轉交書稿，出版公司更是慎重，還會進行最後校稿，並進行排版設計與職業性編輯，這些事都是自己獨力難成的工作，印出來的書，最後會經由正式的紙本書銷售通路與大家見面。我在離台返紐前幾天，才完全落定屬於自己該做的所有工作，現在靜候新書的出版。&lt;br /&gt;&lt;br /&gt;返台前，擁有64位元Win7新版作業系統的FORTH同好，告訴我無法正常執行V6.14版ABC FORTH系統的問題。此次回台，只好為大家增購一台新型電腦來解決問題了。這次依然是請葉健欣幫忙，協助採購，還隨陳爽去小葉住處打擾三天，先行解決我對新裝備的疑問問題，並交流技術，最後一天，呂明貴也來幫忙。我知道大家都對我抱著高度的期望，希望讓後續服務群眾之事，能夠順利的進行。現在，除了感謝他們的協助外，我應繼續努力，實現我對ABC FORTH系統一向的承諾。&lt;br /&gt;離台前，我已完成第一階段的除錯工作，並把在Win7作業系統下能夠正常執行的V6.14版ABC FORTH系統傳贈給他們試用，已無問題。下一階段的改善，是進行載入檔案時，系統無法正常接受檔名路徑的問題，因此，使用時不能透過直接操作滑鼠的方式，快速載入檔案。未解決問題前，使用者只能像操作V4.2版本系統的方式，以人工鍵入FLOAD &lt;filename&gt;來載入檔案，並藉指令CHDIR及DIR的操作，來確認自己設計的檔案程式，到底放在那裡？進行修改這些問題時，國際上已無人可談，必須自行發展，我有信心完成。可以正式釋出的版本，待修改之系統落定後，便會按照往例，通知大家索取。&lt;br /&gt;此前，我在例行ABC FORTH系統通告中，公佈過的訊息，僅能要求大家暫時在Win7作業系統中，設定出32位元的虛擬模式(Virtual mode)，來執行我所設計的ABC FORTH系統。等我買到64位元電腦，並實際試用過後，感到這樣的使用方式，確實很不理想，於是強行發展直接在Win7作業系統下，直接使用ABC FORTH的用法，現在已有了初步成果。所需工作只是修改系統，而不須像由V4.2版本跳昇到V6.14版本時那樣，必須全面重新設計。我心中早就做好了準備，就算必須完全重新設計，我也必定完成，這是推出ABC FORTH系統後，已經執行超過三年的承諾。&lt;br /&gt;&lt;br /&gt;這次留台期間，為了鼓勵三個尚在唸小學的兒童，以我設計的ABC FORTH系統，輔助他們學習數學及英文，特地為他們安裝好直接能用的系統，並花兩小時教會他們，最精簡操作出功能的指令，才發現，在Windows’ 2000系統下，缺乏發音功能，語音輸出程式創作者狄湯瑪(Thomas Dixon)，他遲至2005年才創作出這個程式，所以2000年的系統，不具有這樣的功能。&lt;br /&gt;我的臉書(Face book)聯絡名單中，新建了三個小朋友的名字，我向他們學習。首先得知了，他們覺得打英文設計程式，還是比打中文設計程式方便，但是讀教材時，要有指令中文名稱，才能記得住指令功能。也得知了，當他們發現自己編輯建立整課課文Lesson1，其中一句我13歲(I am 13 years old.)，卻錯打成我一千三百歲(I am 1300 years old.)時，電腦會毫不客氣的唸成我十三百歲，遇到這種狀況，他們樂不可支，感覺出自己能完全操控電腦時的驕傲，他們初步認識了FORTH。一個晚上，就能解完整本數學教材中所有的習題，包括老師還沒教過的章節。一個晚上，就能建立起整本的英文課文，此後電腦都能唸給自己聽，唸書的速度還能調整，所唸的文章內容，也能隨意更改，錄音機根本辦不到這些功能，神奇的很。今後我還會繼續向他們學習。&lt;br /&gt;&lt;br /&gt;我也將自己的設計，安裝給住在龍潭街上的大學同學鄧致敦試用，他的環境很好，家中裝妥了電腦配上高級音響的設備，當我展示臨時編寫的一篇英文檔案文章，讓電腦自行唸出時，他告訴我的第一句話是：『你一定花了不少錢，請這個講標準英文的小姐為你錄音，發音才能這麼標準。』我立刻開啟相關程式，展示只有大約兩頁的程式，就能辦到的事情，那個小姐，是微軟留在作業系統中的姑娘，他們一賣再賣，高價賣給全世界了。久未見面，我們交談甚歡，後來，鄧兄講得沒錯，我移民紐西蘭後，培養出能直接快速打出簡單英文文章的能力了。&lt;br /&gt;&lt;br /&gt;日常生活中，每個人都經常會有自己例行的人情事故要辦，我也不例外，必須花時間與許多親朋好友見面、長聊，心情雖然愉快，卻常心慌於時間不敷使用的問題。我對許多好友原先作過承諾、後來卻無法實現的事情，深感抱歉。&lt;br /&gt;返台搭機時，自己的車子因電瓶老舊而引擎無法起動，臨時請廖醫師幫忙，送我到機場，一路上我們聊得很愉快，我說過等他也返台之後，會前往彰化他家，專程拜訪致謝，結果是等到最後幾天，才打電話致歉了。&lt;br /&gt;戚桐欣前輩主動要提供所有的中文發音檔案，協助我發展中文語音輸出系統，最後，我卻無法前往基隆當面致謝，只能以電子郵件的方式接收戚老的贈品。&lt;br /&gt;原想約見張吉進搞清tinyForth軟硬體的問題，簡直就不可能安排得出時間，自己帶回台灣的相關裝置，又原封不動的帶返紐西蘭了。&lt;br /&gt;原打算前往台東，面對原住民小學，以便親身體會出將來能提供他們甚麼幫助？最後，只能以電話通知台東負責接待的朋友，下次再說了。&lt;br /&gt;啟明學校搬到石牌去了，很可惜，問了大致狀況後，我也無暇親自造訪。&lt;br /&gt;原答應要去拜訪的所有親朋好友，約定全部取消了。&lt;br /&gt;這一個多月，我只在桃園與台北間活動，那裡都去不成。&lt;br /&gt;上陽明山掃墓，還是臨時到達台北之後，冒然請吳延年先生專程開車幫忙，才得以順利完成。&lt;br /&gt;每次從龍潭回家，我都仍然騎那一輛老舊的腳踏車，後來有幾天，下起雨來，衣服全濕了。&lt;br /&gt;我不抗拒這樣的生活。&lt;br /&gt;&lt;br /&gt;家中也有許多事情必須親自打理，老舊的房子，水、電、電話都不正常，只能靠我自己的智慧，勉強維持堪用，以前，都是老同事、好朋友莊春金、李春生來協助解決問題。今年，自己生病了，不便打擾，東西就用得更勉強了，如此也混過了一個多月。&lt;br /&gt;為了要使用網路與家人維持聯繫，打擾過鄰居張文一先生，也打擾過陳爽，對門鄰居周家，還幫忙試用無線上網，但信號太弱，只好放棄了。後來，是姪女冠如轉借給我一個隨插即用的3G無線上網裝置，解決了問題。&lt;br /&gt;未買新電腦前，我要修改印出前的書稿，只好在妹妹家中工作一整天。院子內的雜草、樹木要除，病了，只好靠弟弟使用動力機械砍除，最後留下一公尺高的六棵大樹幹，待我身體恢復正常後，才以一天挖除一棵的方式，全面剁根挖除，確保永不留下後患。做這些事，就好像每次回台時的收割工作，非做不可，而且不得請人代勞，十幾年來，都是這樣。&lt;br /&gt;&lt;br /&gt;我參加了台灣九月份的FORTH月會，會前陪同陳爽及台灣政府邀請剛從美國北卡返台的陳聖恩博士，專程拜訪過中原大學的蔡育秀博士，我們參觀醫學工程系，大家愉快的詳談一整天，也覺得將來可有許多能夠合作進行研究的項目，其中也包括我自己想要研究的地震早期監測系統。&lt;br /&gt;&lt;br /&gt;月會中，我展示了專用ABC FORTH設計完成的『行星齒輪組動態模擬系統』，程式則提供與會者參考，後來陳爽對這個程式有興趣，進行了許多測試與修改。與他當場交流實現功能的各種程式技巧，是件非常愉快的事情，我又從他那兒學到了許多新東西。為了傳承技術，我通常僅將展示程式設計成最簡單易懂的方式傳給大家。陳爽不同，這位大師兄能精進所有我能設計得出來的程式，但必須是已經具有FORTH深厚基礎的同好，才容易明瞭這種程式技巧的真正含意，我們一起工作了好幾個晚上，並再度見到二十幾年前，相處時愉快的情景。&lt;br /&gt;&lt;br /&gt;今天是中華民國百年國慶紀念日，我提前回台助興，但不必虛偽到非得刻意留台，或非得搶站國慶閱兵台上的一個僑胞觀賞位子不可，轉而主動提供非常值得傳承給同胞的FORTH技術。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;大家請別忘了，我的這些能力，完全是中華民國政府提供過完整教育後，所培養出來的，我只應承先啟後，將生平所學，傳授給下一代同胞。我的一生，堅守一些美好的原則，永遠記得感恩圖報，不會忘本。&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;十月六日大清早，陸軍總部吹完起床號後，龍潭老家的院子內，飛來一隻鳳凰，牠知道我明天要忙著打包行李，沒空理牠，所以提前一天來祝賀中華民國的百年國慶。&lt;br /&gt;我的聽力很好，聲音鑑別能力更好，首先聽到牠在空中盤旋鳴叫了幾聲，叫聲很是不同，確實誘我透頂，我從床頭窗戶見到牠飛落我家院內，覓食良久，我因驚豔而起床瞧個仔細，開門進出，陪牠玩了幾趟，牠仍不走。等我盥洗完畢，乾脆蹲在牠旁邊，靜候牠來親近，為了牠的自然與健康，我並未餵牠任何食物。&lt;br /&gt;後來，我決定要將牠寫進這篇文章，但我也知道空口無憑，必須留下確切證據，才能取信於大家，否則今後來訪的讀者，會認為我在文章中經常言過其實。於是，動手將其攬入懷中，牠沒有過份的掙扎，我則給予溫和的擁抱。因為沒有照相機，只好硬著頭皮，請對門鄰居周家幫忙拍照。&lt;br /&gt;開大門時，先是見到隔壁鄭博士夫人，她驚訝到鼓勵我去買樂透彩卷，我謝過建議，告知詳情，但生平腳踏實地，從不做賭運之事。我按了門鈴，周家夫人開門時，更是立刻驚呼出所有家人，一團慌亂中，我們拍下了幾張可貴的照片。&lt;br /&gt;&lt;br /&gt;Gloria是周家媳婦，她經常為我照顧房子，是個好鄰居，她有一個內容優良的個人網頁：&lt;br /&gt;&lt;br /&gt;http://tw.myblog.yahoo.com/hui-ts/&lt;br /&gt;&lt;br /&gt;這幾張可貴的照片，加上精簡的旁白，就放在Gloria的網頁中，足供強烈證明本文所言不假，歡迎讀者經常前往拜訪，這也是一個有益大家身心的優良網頁。&lt;br /&gt;&lt;br /&gt;那天早上我要忙著清洗離台前的衣物，進出房門時，又見到這隻鳳凰飛回我家院子了，我邊晒衣服，邊看牠覓食，心中油然生出感激之情，孤獨寂寞地奮鬥了一個多月，竟然有此美女特意前來問候，夫復何求？我學牠落地前的叫聲，回敬於牠，牠也確切知道，是該離去的時候了。臨走前，我見到牠在高於樹尖的空中盤旋幾圈、鳴叫幾聲，祝我一路順風，我吹出口哨回應，表示謝意與不捨之情，並歡迎牠明年早幾天來看我，這隻鳳凰真心屬意於我，我只好眾告全世界，大方寫進這篇文章。&lt;br /&gt;我說過我曾立志想當『世界天皇』，這不是玩笑話，有為者，亦若是。鳳凰都柔性來朝了，大家讀過我的文章，請問還有何可懷疑之處？這種光榮給予我的第一感覺，就是應該立刻與對門鄰居分享，我們有共同的愛心，實際溫柔的接觸過實實在在的鳳凰後，就地輕放了鳳凰，由牠自由決定，愛在那裡就待在那裡。&lt;br /&gt;&lt;br /&gt;請仔細看這張與周慶木先生合照中的我，還睡眼惺忪呢！上衣只扣了上下兩個扣子，是臨時披在睡衣上的衣服，就這麼自然的接受了『鳳凰呈祥』，並願與大家分享。&lt;br /&gt;&lt;br /&gt;『世界天皇』理應有此氣度。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-86pbtx9YIFY/TpJciQNZwdI/AAAAAAAAAj4/RaTh9uPEi1Q/s1600/j_dkvpDmjWDxB_6M1MPKhQ1.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="266" width="400" src="http://3.bp.blogspot.com/-86pbtx9YIFY/TpJciQNZwdI/AAAAAAAAAj4/RaTh9uPEi1Q/s400/j_dkvpDmjWDxB_6M1MPKhQ1.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-wTTrlrDB9xY/TpJcn8nW7XI/AAAAAAAAAkA/HuA7Srhf__I/s1600/EePtJJ8kktIFmQPRgWiEnw2.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="266" width="400" src="http://2.bp.blogspot.com/-wTTrlrDB9xY/TpJcn8nW7XI/AAAAAAAAAkA/HuA7Srhf__I/s400/EePtJJ8kktIFmQPRgWiEnw2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-9CCHD0KBv3c/TpJcwtIs4nI/AAAAAAAAAkI/5GtRvWAr9bA/s1600/fww_DGrqYGM6dIKqjmDQpg3.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="266" width="400" src="http://3.bp.blogspot.com/-9CCHD0KBv3c/TpJcwtIs4nI/AAAAAAAAAkI/5GtRvWAr9bA/s400/fww_DGrqYGM6dIKqjmDQpg3.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-m9Q8rA1P7fc/TpJc49pH9KI/AAAAAAAAAkQ/1Uph1PP9QSw/s1600/cwuL3obouSBYRBzAVxsXAg.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="266" width="400" src="http://3.bp.blogspot.com/-m9Q8rA1P7fc/TpJc49pH9KI/AAAAAAAAAkQ/1Uph1PP9QSw/s400/cwuL3obouSBYRBzAVxsXAg.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-mk4ZWzO7d1g/TpJdEBAObcI/AAAAAAAAAkY/CFhfm4xf3VQ/s1600/ofqljnVZYkuNTLFqO4d4IA5.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="266" width="400" src="http://3.bp.blogspot.com/-mk4ZWzO7d1g/TpJdEBAObcI/AAAAAAAAAkY/CFhfm4xf3VQ/s400/ofqljnVZYkuNTLFqO4d4IA5.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1097161848825759583-4673585632366239579?l=forthfortnight.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://forthfortnight.blogspot.com/feeds/4673585632366239579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1097161848825759583&amp;postID=4673585632366239579' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/4673585632366239579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/4673585632366239579'/><link rel='alternate' type='text/html' href='http://forthfortnight.blogspot.com/2011/10/blog-post.html' title='中華民國百年國慶    鳳凰呈祥'/><author><name>Chings World</name><uri>http://www.blogger.com/profile/15191167870271612229</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_AchTsJsrvZw/STdFzdxFJaI/AAAAAAAAAAM/ZR_kphZVVHQ/S220/PC040006.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-HAeBc4F-VjM/TpJcZd22bqI/AAAAAAAAAjw/mvi2wXdUhPs/s72-c/f_9_1.gif' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1097161848825759583.post-2213672264880597026</id><published>2011-08-01T16:07:00.001-07:00</published><updated>2011-08-03T22:55:07.113-07:00</updated><title type='text'>學習</title><content type='html'>曾慶潭2011-08-02於紐西蘭&lt;br /&gt;Ching-Tang Tseng&lt;br /&gt;ilikeforth@gmail.com&lt;br /&gt;http://forthfortnight.blogspot.com&lt;br /&gt;&lt;br /&gt;貼出這篇網文後，我將靜音(Mute)兩個月，準備返台之事。&lt;br /&gt;&lt;br /&gt;每天晚上看完本地新聞，我就轉往德國電視台DW-TV看他們介紹藝術與科技的節目。偶爾，該台會播出趣味廣告，其中，我最喜歡的一個，就是一個兒童為了愛玩一整天(Have fun all day long)，跑到市中心的鐘樓裡面，自己控制顯示時間，然後跑到公園裡面，又玩這個、又玩那個的、玩了一整天、玩到不想玩了，再去鐘樓調整時間到下午三點，快放學了，最後十分鐘，回到公園吃它一根冰棒，三點十分一到，得意的露個笑臉，廣告就結束了，真是快樂的一整天。&lt;br /&gt;&lt;br /&gt;我告訴我太太為什麼喜歡這個廣告？因為，小時候，我幹過幾乎同樣的事情，規模比廣告的內容還大，是帶著全班同學，享受過快樂的一整天。&lt;br /&gt;從小，我是當班長長大的，小學四年級以前，唸嘉義大林三角里的社團國小，那裡充滿了我的快樂童年。為什麼老當班長？因為我四年級就會自己計算開平方了，我一生都記得『補0乘以2，然後就像算除法那樣，一路用猜的』，不相信我的人，我就反過來算給他看，不管幾位數，驗證結果。五年級轉到桃園中壢的內壢國小，也曾經在學校樹林下面，教過同班同學這種技術。&lt;br /&gt;我終身記得，有一年，我們的級任老師，是學校裡非常好的江永順老師，很有威嚴，沒人敢在他面前調皮。有一天，吃過中飯後的午休時間，我突然靈機一動，覺得應該帶領全班同學出去享受一下鄉村的快樂，於是建議大家跟隨我去一位住在三角里同學的家裡『摘楊桃』，從社團國小走到三角里鄉村，大概有幾公里，是有點距離，因此，腳受傷、不良於行、與一位腳摔斷了的同學無法參加，他們只好悻悻然留守教室睡午覺了。&lt;br /&gt;那時，我們小到根本不會看錶，沒人有錶，也沒有時間觀念，我只知道要讓全班同學快樂。來到同學家裡，我以一付小大人的模樣，拜見同學的父母，他們聽說是班長帶全班來訪，那還得了，立刻搬出一大鐵桶的『奉茶』先讓我們解渴，然後說門口這棵老楊桃樹，結滿了恰好成熟的楊桃，您們就盡量摘吧。我站在樹幹旁，指揮男生爬上樹去摘楊桃，找到好的，必須先丟下來給不敢上樹的女生，大家吃到飽，想帶的也隨便帶，那棵老楊桃樹到處都是果子，拔都拔不完，大家都吃到撐了，卻都聽我指揮，非常守規矩，還有同學告訴我，從來沒這麼快樂過。同學的爸媽聽說我這個班長很不一樣，大家都叫我小老師，所以也就不疑有它，沒問我為什麼可以離開學校的問題，覺得今天好像是學校主辦很有秩序的課外活動。&lt;br /&gt;快樂完了，我要大家排好隊，清點一下人數，下達命令：&lt;br /&gt;『誰都不能先溜回家，必須跟隨我回學校。』&lt;br /&gt;然後，拜別了同學的爸媽，一路排隊、遠足、回學校了。&lt;br /&gt;進了教室，留守的同學就非常驚恐的趕緊告訴我：&lt;br /&gt;『ㄏㄛˊ~，班長你糟了，老師非常生氣，你會被狠狠的打一頓。』&lt;br /&gt;我從未被老師打過，也沒想這麼多，只覺得學校也好像快要放學了，就反問留守同學：&lt;br /&gt;『我們不在時，老師有沒有教新東西？』&lt;br /&gt;心想，同學都稱我小老師，到時大不了可以請罪，告訴老師，我會幫他把同學教回來。留守同學告訴我：&lt;br /&gt;『你不知道老師有多生氣，每節課都來問我們，為什麼還沒回來？回來非要狠狠打你一頓不可，然後就走了，什麼課都沒上』&lt;br /&gt;隔沒多久，江老師出現了，真是氣得不得了，我站在教室正中央的走道上挨罵，江老師還氣得拿棍子打我屁股，打了很久，從教室前面打到後面，我也被打哭了，但是心甘情願，江老師退回講臺，我就又跟著走到前面，繼續接受體罰，來回幾次，又被打到教室後面，但是，就算我在全班女同學面前又痛又哭的哇哇叫，自己卻不覺得丟臉，只記得江老師說：&lt;br /&gt;『你好大胆，竟敢帶著全班同學逃學！』&lt;br /&gt;我也只能回答：&lt;br /&gt;『下次不敢了』&lt;br /&gt;那個年頭，老師的體罰是合法的，我到現在也還欣然接受。&lt;br /&gt;那一節課是打到下課，江老師罵完、打玩，放學時間也到了。&lt;br /&gt;我回到班長的第一個座位，眼淚未乾，仍然叫口令：&lt;br /&gt;『起立』、『敬禮』、『下課』&lt;br /&gt;然後打掃清潔，全班嚇得沒有人敢發出任何聲音，我淚流滿面的指揮搬桌椅與掃地，帶隊參加完運動場上每天放學前都必須舉行的降旗典禮後，才擦乾眼淚放學回家，盡量不讓家人知道此事。&lt;br /&gt;&lt;br /&gt;自從那次事件以後，全班無論男女同學，好像比以前更服從我的領導了。&lt;br /&gt;江老師也知道這種情況，經常授予我超級的班長權力，甚至於代理他夜間值班，留在值班室內自己作功課，他先回家料理家事，再回學校時，我才回家。早上則先到校，開教室門，在黑板上寫早自習，要同學習字與練習造句，升旗典禮前，我收好作業簿，轉交江老師，我們班上沒有敢違規不交作業的同學。&lt;br /&gt;考試時，我會幫忙老師監督同學，不准作弊。那時，教室裡每張長課桌配兩張椅子，每人至少會有一個同學是鄰座。我記得有一次月考，考九九乘法表，我旁邊的那位同學，成熟度比較晚，考試時間到了，臨收考卷前還沒寫玩，我堅持不肯告訴他任何答案，他也非常無奈。&lt;br /&gt;最後，臨交卷前，他在3 x 7 =____這一題上，非常緊張而抱怨的說：&lt;br /&gt;『管它三七二十一，就寫25』&lt;br /&gt;我回家講給家人聽，他們反問我怎麼會有這種人，我說：&lt;br /&gt;『他實在是太緊張了』&lt;br /&gt;後來，我見過許多人寫笑話時，都拿這件事情當題材，我可是真正見到這樣的事情，是我們天真無邪快樂的童年往事。&lt;br /&gt;我確信江永順老師現在依然健在，只是我已不知如何才能聯繫得上了？&lt;br /&gt;我小學時的那一班同學，現在也都60歲了，不知還有幾人記得這些童年往事？&lt;br /&gt;&lt;br /&gt;我們的一生，人人都必須要學許多不太有用的東西，很多人也講不出該不該學的道理。我卻覺得不懂事以前(嚴格定義則是國中以前)，學校教的都該學。高中以後才有分科教育，那時才能選擇想學的科目。&lt;br /&gt;這幾天朋友來訪，再次談到一些許多東西該不該學的問題，我覺得這個問題好像是長期以來一直困擾家長的嚴重問題，因為，大家都講不出其中非學不可的道理。為什麼我們必須學習許多不太有用的東西？而且我這個60歲的老人，還可以告訴大家，我的一生大部份學過的東西，從來就沒有在生活中用過，都60歲了，為什麼還是要學那麼多不太有用的東西？包括FORTH程式語言。&lt;br /&gt;&lt;br /&gt;昨天，大女兒送來了四大本與基因有關的研究生專用書籍，剛才秤了一下，共8公斤，讀者是不是覺得我有點不太正常？老愛曲解『活到老，學到老』的意義？不是的，我想設計能夠處理基因圖譜的程式語言，當然需要看這些書。這件事與解釋『必須學許多不太有用東西』的問題不相關。&lt;br /&gt;&lt;br /&gt;我可以舉一個實例，解釋與此相關的問題。有一次，為了鼓勵朋友的小孩，努力學會計算出最大公約數與最小公倍數，我表示了自己的意見，提供大家參考。&lt;br /&gt;&lt;br /&gt;公因數、公倍數生活上確實是很少使用，其他所有的科學知識或技術，情況也都差不多，您知道嗎？我學過很多高深數學，從事了一生的研究工作，好像一輩子也沒直接碰過幾次需要使用高深數學的狀況。為國家工作時，最高級的一次，大概就是用到微積分中的曲線積分，精確的算出螺旋線的長度，如此而已。&lt;br /&gt;可是，學校中列入科技教材的內容，幾乎找不出沒有用的東西，否則教材豈不早就不存在了。編書的人應該都比用書的人懂得較多，不是嗎？而科技的學習幾乎也沒有一次就能學通或學完的項目，所以只好將科技上需要的東西拆開來教，安排成循序漸進的方式教育新人，這種程序本身就是一種科學，學生隨年齡的不同而有成熟度上的差異，所以學習內容也就有深淺的不同。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;基本上，生活上很少用到的知識，大部份都不是為生活而準備的，它們的用處，主要是用來學通後來更高深的知識。&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;因此，除非年底就不再上學而要就業了，否則，該學的還是要學，是為了要學更多而學，然後，最後學成的專業，例如：大學或專科畢業時的科系分類，大概就可以決定您的這一生，應該從事於甚麼樣的工作比較適合？但不代表能賺多少錢，學天文可能還會找不到工作。&lt;br /&gt;假設您永遠搞不懂公因數、公倍數，以後碰到兩個分數相加，就完全不知如何是好了。不幸，我們的一生絕不能只管整數不管分數，所以非學不可，我在大學裡，解大三的複雜微積分方程式問題時，還得經常搞分子、分母的通分，就得不停的使用公因數、公倍數。題目解不出來，科技問題就學不通，所有學科當掉二分之一就得退學。能有今天，與當初不放棄公因數、公倍數很有關係。&lt;br /&gt;回頭看看其他科目，應該也都是有用的，品德尤其重要，它要排在第一，是為了自己。愛心的養成也不該少，是為了別人。至於知識、技術，能學多少就盡量學多少，但不要完全不學，否則可能會遺憾活一生，因為，後來會老是遺憾這個也不會、那個也不懂，結果都要花錢解決問題，能夠不花冤枉錢過日子，是人生一大樂事，大家應該互相勉勵。&lt;br /&gt;&lt;br /&gt;有一些學問看似沒有用，卻帶有其它的意義，也就該學。舉例來說：誰都知道三角形面積是『二分之一的底乘以高』了，那麼，為甚麼現代高中教材裡還老愛強調一個所謂的海龍公式(Heron’s formula)，要大家學習如何證明它呢？&lt;br /&gt;&lt;br /&gt;這個公式可用來表示三角形的面積，它被表示如下：&lt;br /&gt;&lt;br /&gt;&lt;b&gt;A = SQRT ( S * ( S – a ) * ( S – b )* ( S – c ) ) &lt;br /&gt;S = ( a + b + c ) / 2&lt;br /&gt;其中，A 表三角形的面積，a、b、c分別表三個邊長，S定義如上式。&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Heron是大約生活在西元10年到70年間的希臘數學家，他發現了這個公式，並實際應用。&lt;br /&gt;我並不想像網路上可以搜尋獲得的資料那樣，專門解釋或證明這個公式，只想告訴大家，兩千年前，這個公式確實是很有用，而且也必須只能用它來算三角形面積。我也利用這個公式當範例，設計一個對談式的簡單程式，留在新寫的書中當教材，因為，英國劍橋大學的程式範例教材中也引用它。我設計的程式，所展示的性能，當然必須與劍橋大學的有所不同，才值得當作範例程式。&lt;br /&gt;我們可以仔細的想一想，兩千年前，人們如何測量土地面積？量長度大概是不會有問題的測量技術，但是，量角度就未必了，那怕是一個最單純的90度直角，當時的人類都可能量不準的，就算現代一般人，也都未必量得準。如此一來，您若硬要說三角形面積只能用『二分之一的底乘以高』來計算，就會有很大的紛爭而出問題。&lt;br /&gt;底的長度是比較容易量得，高呢？您就站在底線上往頂點看，如果沒有量角器，好像從底線上的很多位置立正站好往上看，看起來好像都是直角吧？就算有量角器，因為不太準，也還是這樣。那麼，測不準的高，就會影響精確土地面積的計算，進而影響稅收或交易，許多人年年都要打上一架，才能決定公不公平。&lt;br /&gt;於是，Heron公式就有用了，因為，我小學四年級就會開平方了，Heron當然比我聰明太多了，他那時是希臘的工程師與教授，一定很會算開平方。所以，結論是：不要輕視這麼一個三角形面積的簡單公式，土地面積都應該用它來算才會準，其他任何不規則的多邊形土地面積，都能由多個三角形組合而成，只靠這個公式，精確的測量與計算出來，絕對比『二分之一的底乘以高』方法還準。&lt;br /&gt;&lt;br /&gt;我常自覺學過的東西有點與眾不同，考大學時英文只考了38分，英文怎麼可能好？這麼低分，就表示有一點不同了。可是，嫁女兒時，只有我一個人敢不用草稿，全程用英文講一些話。崔保忠學長一家人都參加了喜宴，他真正見到所有天生講英文的人都要靠講稿，大專聯考只考38分的我，不必。宴後，全體親友告訴我，現在才知道我的本領。&lt;br /&gt;我學的英文如何與眾不同？如果有人想考我孔子所說的話，我也很敢直接亂翻譯，但有把握讓對方聽得懂，就算孔子的繞口令也行。&lt;br /&gt;&lt;br /&gt;子曰：&lt;br /&gt;&lt;br /&gt;&lt;b&gt;『知之為知之，不知為不知，是知也。』&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;我就這樣說：&lt;br /&gt;&lt;br /&gt;&lt;b&gt;I know I know.&lt;br /&gt;I don’t know I don’t know. &lt;br /&gt;I do know.&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;我查過網路，沒見過有人這樣翻譯這個孔子的繞口令，可是，這裡面沒有任何一個國中生不會的單字，總共只用到四個，比中文還少，中文要七個，因為我是用搞FORTH的方法來執譯(Interpret)。&lt;br /&gt;&lt;br /&gt;這一段時日，碰到了一些FORTH系統上的問題，我需要有最新型電腦的朋友支援測試，以便解決問題。呂明貴主動相助，我就當他是朋友來往，君子交情紙一張，事後贈給朋友一個精彩程式也都值得，我協助他簡單的實現讓電腦唸FORTH鼻祖Charles H. Moore寫的程式詩，他的裝備比我先進，是小姐的聲音，我的還是男士。實現了這樣的禮物，比甚麼都好，我卻有點納悶，怎麼我學的東西又與別人不同了？離開台灣太久，對大家都陌生了？&lt;br /&gt;上網查一查台灣優秀的大學網站，試圖了解那些優秀大學生是如何了解FORTH的？點開一篇文章，看他如何探討FORTH系統的堆疊，見到作者很努力的想透過DEPTH指令寫兩個實際程式教導大家，是難能可貴的實作程式，能教人程式的寫法，可是有幾個問題很可以改進。&lt;br /&gt;我把這樣的學習題材用在這裡當例子，以便告訴大家，FORTH的學習，還有那些事情應該注意。我見到這麼一個清除數據堆疊的程式設計&lt;br /&gt;&lt;br /&gt;&lt;b&gt;: clear-stack depth 0 ?do drop loop ;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;這樣設計的指令，在標準FORTH系統內都可以執行無誤，可是應避免這樣子認識堆疊。&lt;br /&gt;『&lt;b&gt;刪除&lt;/b&gt;』或『&lt;b&gt;抹掉&lt;/b&gt;』電腦記憶體的內容，在意義上完全不同，想達到清除堆疊內容的目的，是執行『刪除』，不用『抹掉』，所以沒有那麼麻煩，視障同胞都能辦得到。&lt;b&gt;左手亂壓幾個鍵，右手壓輸入(Enter)鍵就能辦到，這是操作出來的『刪除』而非『抹掉』&lt;/b&gt;。『抹掉』則須強制填入0值，或像上列程式那樣，誤用多個DROP指令來做多餘的事情。&lt;br /&gt;如果非得在程式中使用到『刪除堆疊內容』這樣的指令不可時，也不宜使用這樣設計的指令來看待堆疊，標準指令&lt;b&gt;ABORT&lt;/b&gt;就做這樣的事情，不要另外設計。&lt;br /&gt;如果像大師兄陳爽那樣的好手來設計這種指令時，我預計他會&lt;b&gt;善用系統內的指標，以一取一存指標之值來達到目的&lt;/b&gt;，高低階方式設計都能輕易實現，程式就又快又安全，也不會是上述設計的程式。&lt;br /&gt;&lt;b&gt;DEPTH指令反而是在想獲得堆疊內特定數字單元的位置時，才宜使用的參考基準量&lt;/b&gt;，絕非用來清除堆疊內容之用，這樣用它，會誤解了堆疊的意義。&lt;br /&gt;&lt;br /&gt;當我再審視其他大學生設計出來的FORTH程式時，我才發現大家是使用gFORTH來進行溝通，難怪不便也不易深入了解真正標準的FORTH系統，無法建立正確觀念。gFORTH是以C建成的FORTH系統，截至目前為止，C建不出標準FORTH，該類FORTH都難讓接觸者了解FORTH系統的真正精神，幾乎只能用來設計非常初級的FORTH程式。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;如果硬將FORTH深淺的等級分類成五級，那麼，以C設計而成的FORTH，最多只能設計出二級程度的FORTH程式，標準FORTH，至少要能達到四級程度的能力，Charles H. Moore現在正在搞的，才是五級的作品。&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;這些大學生設計出來的創作是西元2000年以後的新作品，那時，Win32Forth系統已經面世十年了，大家若能跟著這一個標準系統研究FORTH，可能就不會造成今日世人對FORTH系統產生這麼多的誤解。我深信有不少人花過不少時間，並且下過不少功夫於gFORTH，才能寫出那些有水準的程式。可是，我也能確定，這些同好就被誤在那些漂亮程式的頂點，無法進步到獲得FORTH該有的後續更強大精神，因為C造不出來。&lt;br /&gt;C程式語言不是不好，它有它的適用領域，不用我來解釋。可是，用它來搞FORTH，絕對是浪費您寶貴的時間，誤導您對FORTH的認識，我使用過好幾套C式FORTH，明白其中許多致命性的問題所在。現在，已不再保留與接觸任何C式FORTH，它們全都毫無歸檔留參的價值，新造的，我也完全抗拒。因為，我沒見到能夠將C式FORTH等級提升到四級程度的新技術，我已60歲了，沒有寶貴的光陰足供浪費。以後，還以C來設計FORTH的人，請自己留著玩就夠了，我會強烈建議大家少碰那種東西，真懂FORTH的人，必須封殺這樣的發展，過去這十幾年，它害慘了FORTH，讓FORTH大退步而沒有進步。&lt;br /&gt;C設計出來的東西，FORTH全能叫來使用，只不過是設計C的人，也得遵守相當的規矩，FORTH才肯配合。我在新寫的書中，記錄了這樣的技術，換句話說，以後，搞C的人，也請別再以C之資源這麼強大的理由來誤導FORTH好手，C那邊好，您請自用，別來FORTH領域攪和，此前，C只在劣化FORTH。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;您若能規規矩矩的寫好C，我想叫來用，只須使用兩個指令，執行吸功大法，如此而已，我已設計過無數個這種程式。&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;我佩服張吉進堅定發展tinyFORTH技術的原因也在這裡，那種起步方式，絕不會像C那樣傷害FORTH，就像精簡的eFORTH發展觀念，也不傷害FORTH。回台之後，應該向他請益，涉入發展，就可以接觸FORTH的另外一種實體應用領域。&lt;br /&gt;&lt;br /&gt;昨天，2011年7月29日，網上論壇還有自認為是FORTH高手的年輕人，貼文表示，Charles H. Moore如果一直留在FORTH軟體業發展，絕對比他去發展FORTH硬體要好。&lt;br /&gt;這種人就是欠缺對Moore先生的認識，Moore先生來台在國王飯店的一席演講中，明確的說過：『大家要這樣搞FORTH，我就不搞了』。指的就是安排C把FORTH的核心技術隔離掉，有人美其名叫VM(Virtual Machine)吧？有很多人始終聽不懂Moore先生講這句話的意義。Moore先生很有休養，他絕不批評那樣搞FORTH好或不好，也絕不批評C不好，但一句稱讚VM的話也不講，他只稱讚過LaFORTH那種更上一層樓的傳統FORTH技術。&lt;br /&gt;現在，搞C式FORTH的人搞不下去了，回頭怪罪Moore先生不應該不搞FORTH軟體發展，而去搞FORTH硬體。您們怎能在闖禍十幾年後推卸責任？許多人覺悟後已不堪回首，卻倒過頭來宣佈那種C式FORTH的死期。打從十幾年前，C要流行的時候，C式FORTH就不該出生的，尤其不該的是，經過十幾年自以為是的發展，還不能把FORTH核心的真正精神搞通，弄不出像樣的東西，最是不該。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;問題出在那裡搞清楚了沒有？因為您用了一輩子的C，還在花錢買C的Compiler，您怎麼這麼沒骨氣？不知道自己站起來設計一個Compiler。若還想拖人下水，打住吧！請別再做這種沒道德的事情。&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;Moore先生卻相當高興，所有他造出來的FORTH CPU完全不受C的影響。最近繼續公佈了他創造的ColorFORTH硬體，只有48個純FORTH指令，已經有兩個系統建好了，一個是polyFORTH，另一個是eFORTH，完全跟C不C沒有關係，這才是他的FORTH精神，C要排在很後面，很將來，也很可能永遠沒有能用的份。專搞C的人，見到這樣的現象，請不要生氣，您完全可以不談FORTH，繼續發展您的C，反正您認為FORTH沒甚麼嘛，Moore先生又沒有說您的C不好。&lt;br /&gt;我所設計的ABC FORTH，也引起一些人的誤解，以為我在強調BASIC比FORTH好，嚴重錯了！我在使用說明書中明確的宣告過，我並不是在發明另一種程式語言，更不會是用BASIC來蓋掉FORTH，它永遠都是FORTH，只不過是遇到數學計算時，才鼓勵改用BASIC式的語法，基本精神還是FORTH。這套技術也不是我的發明，發明人還是Charles H. Moore，不是別人。&lt;br /&gt;以後，若有人又來推介某處有新的BASIC系統出現，問我意見，那麼，我就建議您回頭使用讓比爾蓋茲發財的BASIC，回到DOS環境還能使用，沒有其他BASIC比DOS內的那一個BASIC好，以後也不會再有了，因為流行已過，人們都是喜新厭舊的。&lt;br /&gt;&lt;br /&gt;只將FORTH學到二級程度的人，可能都還無法了解C式醜陋的VM給FORTH帶來了多大的傷害？我有必要花一點篇幅，以通俗的比擬將其解釋清楚，以免大家一直誤入岐途。&lt;br /&gt;就FORTH的本質而言，VM可以算是FORTH核心精神所在，也是系統性能絕對的根本所在之處，設計與運用得好，就能產生最漂亮的FORTH系統。&lt;br /&gt;可是，自鳴得意只懂C的人，自以為以C最擅長的指標符號，就能寫出FORTH核心程式在幹甚麼。殊不知，那只是一種現象的描述，不表FORTH精神僅只如此，而且自鳴得意者，每次還只能像瞎子摸象般從多套中摸得一套，完全不明白基本FORTH真正的意義所在。然後，將一切交給賣C編譯器(Compiler)的大公司處理，他們是最痛恨FORTH的軟體商人，心中竊喜無比，為了對付這麼沒水準之C的使用者，就將那些指標翻來覆去的醜陋程式，編成了窩囊的C式FORTH，打擊FORTH十幾年。&lt;br /&gt;超過二級水準的FORTH程式，必須動用到系統核心運轉的操控技術，我經常要使用這些性能，當我發現幾個非常簡單傳統的FORTH標準指令，就如ALLOT、&gt;R、R&gt;、COMPILE、[COMPILE]、，、’ 、[‘] ……等等，那種C式FORTH系統，都設計得亂七八糟，不是正確功能時，我能有甚麼感想？最具代表性的gFORTH也是這樣，連試了好幾套，C式FORTH顯現的結果，全都沒有例外，更見不到四級以上的FORTH功能。&lt;br /&gt;我們為什麼必須勉強使用這麼低級、差勁的FORTH系統，又不是沒有Win32Forth系統可用！何必為了迎合C的流行而隨波起舞？現在後悔已來不及，正式的FORTH使用風氣，已經被毀得差不多了。&lt;br /&gt;&lt;br /&gt;講深入一點的FORTH系統性能，台灣還老是有人聽不懂，不能覺悟，我改講生活上簡單的對應例子來解釋。&lt;br /&gt;我們移民紐西蘭至今，見到許多台灣來的同胞，將多到幾千萬台幣的金錢，交給本地的所謂基金經理人，操作買賣商業大樓，或進行大筆的森林投資。幾年下來，基金經理人把錢吃光、喝光、花光光了，台灣同胞一點辦法都沒有，全部投訴無門，很多人都迫不得以，退回台灣了，為什麼？&lt;br /&gt;那麼大筆的錢，在紐西蘭足夠以自己的名份，單獨進行任何投資買賣了，您卻交給基金經理人，他只回給您一張紙狀持分財產。他若還有良心，最多像銀行存款那樣，幫您保八(8%)，其他任何利益應該都是您自動送上門來的。原來紐西蘭的合理老年投資人，都只有一點點像樣的積蓄來養老，所以基金經理人，還能以平常心經營也是吃人夠夠的事業。台灣同胞來了，一個幾千萬，就足以讓他動心，更何況是那麼多筆，而且可以愈騙愈多。最後，設法適時透過法定手續，宣告合法破產，這一群不明事理的台灣同胞，您想告甚麼？他說：『我們都是合法經營的』。&lt;br /&gt;這跟FORTH新進，急著將規劃主宰FORTH核心根本結構的權力，交給賣C編譯器的公司，託它處理，有什麼兩樣？C幫您保住二級水準，然後銘謝惠顧，連一張紙狀財產都沒給您。我不相信基金經理人的胡言亂語，所以我有自己的投資、自己的大筆土地、自己的房地產、自己的………。我公開正式的強烈否定任何C式FORTH，專心使用傳統標準FORTH，最後才能走出自己的ABC FORTH數學計算系統，道理就在這裡。&lt;br /&gt;&lt;br /&gt;拿投資理財當例子，也許還是有人聽不懂，那我就講一個更簡單的故事。&lt;br /&gt;幾年前，日本曾經舉辦創意發明比賽，結果選出的第一名，是一個能夠用來打蟑螂的拖鞋，因為那個拖鞋的腳後跟，設計了一根可以伸縮的手柄，不打蟑螂時就縮進鞋底，拖鞋純粹只能當拖鞋穿，想打蟑螂時，可以立刻拉出手柄，就能打蟑螂了。C式FORTH跟這個日本拖鞋有什麼兩樣？完全一樣。&lt;br /&gt;Charles H. Moore先生剛開始設計FORTH CPU時，受過日本Oki公司耍詐後的氣，於是便封殺了日本FORTH的發展，從此之後，日本沒有像樣的FORTH。這個日本可以打蟑螂的拖鞋，最能形容C式FORTH，用拖鞋打蟑螂，幹嘛還要手柄？因為日本人要安排一個日本的第一名，所以才要手柄。&lt;br /&gt;現在，大家可以明白FORTH系統性能的描述了吧？還不懂，我也沒辦法了。要不，您就只弄懂那個『可以打蟑螂的拖鞋』就夠了。&lt;br /&gt;&lt;br /&gt;前幾天密集的與周遊美國的陳爽大師兄聯絡，寄贈他我寫在新書中的一小段繪圖程式精簡設計方法，他不愧為FORTH高手，五分鐘就能讀完我的文章，我太太說他十一分鐘就能回我程式，可見道行高超。書中記述了以即時、受控、動態、連續…等方式繪製彩色圖形，還包括將圖黏來此處張貼的簡明技術，是他在別的地方難以獲得的基礎工具。&lt;br /&gt;我們用FORTH溝通，才能11分鐘，換成是C，依我看，11個月也難實現，因為要重造系統，我們現在所用的功能，卻是寫C的人為我們造好的背景，我用FORTH的吸功大法吸來使用，沒做其他任何事情，用法實在諷刺。這種現象，似乎就是在說，C只宜以此奴僕方式，為FORTH所用，搞C的人見我這麼寫，請不要生氣，事實真是如此。&lt;br /&gt;一般系統能繪之圖，就算彩得再漂亮，都是死圖，這一張畫的卻是潛在性的活圖，活到可以發展『氣體動力學』中氣體分子碰撞之『布朗運動』的模擬研究，只須配用同時存在於系統中之方便的數學計算功能就能實現，再耗幾分鐘的操作，就能將圖示放進文章，我將瞬間停格後的一張顯示圖黏到此處，展示給大家看，圖中彩泡自由運動，碰到視窗壁，是會自動反彈的。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-z2gU6YgWtOM/TjcxjdP7dNI/AAAAAAAAAjc/L_l0lJmVTvk/s1600/movingbubble.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="400" width="400" src="http://2.bp.blogspot.com/-z2gU6YgWtOM/TjcxjdP7dNI/AAAAAAAAAjc/L_l0lJmVTvk/s400/movingbubble.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;這些功能，已經隨著公開發佈的ABC635.exe系統，傳給大家了，只是您們不知如何快速進入狀況而已，我寫在書中，還有其他許多方面的功能，有寫論文也能使用的現成工具程式。&lt;br /&gt;我的書若只對爽兄有用，就太可惜了，繪圖與語音輸出高度與現行軟硬體相關，現在很好用，很快就會不夠好用。所以，新寫成的書，這些部份的內容，大概會因此而受到很大的影響。我則希望書能使用幾十年，所以都選最精簡、最有用的範例，當作題材。&lt;br /&gt;我離台多年，不知環境演變的狀況，現在大家可能都不逛書店，都不買紙本書了，都只喜歡看那『幾把刀』的東西，我還寫書，有什麼用？有用，裡面有許多現成實際可用的東西。我不喜歡懶到連程式都不想寫的人跟我談FORTH，所以有用的程式都直接刊載在書內，也刊出執行結果，以後，我也拒絕供應我已建成的現成程式，想用的人應該自己建，就當作編寫程式與學會除錯的練習，具有教育與實用性的精彩程式，都不太長，不這樣逼大家學FORTH，FORTH就會沉淪下去，不想學的就請不要學。&lt;br /&gt;將來我的任何作品，可能都得用這樣的系統才能執行，我專搞數學計算，而且速度比任何人快，用的就是ABC FORTH數學計算系統，全世界別的國家、別人都沒有，只有我有，我已將系統放進台灣，使用者必須尊重我的使用要求來運用，否則，我就斷掉此後具有更強大功能系統的免費供應。&lt;br /&gt;搞任何其他程式語言者，可以藉這樣的系統，體會所有的性能，但別隨便侮辱FORTH，那樣做，代表您根本在自取其辱。&lt;br /&gt;現代FORTH具有現成的吸功大法、能彩繪可操控即時動態圖形、是會講話的程式語言、允許快速的自我改進、並再造自己……等等，您們會的，FORTH全都能吸來用，FORTH會的，您若不會，也請不要自慚形穢，有骨氣一點，我也沒說您不好，還不會，就趕快跟吧，這才叫作『學習』。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1097161848825759583-2213672264880597026?l=forthfortnight.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://forthfortnight.blogspot.com/feeds/2213672264880597026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1097161848825759583&amp;postID=2213672264880597026' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/2213672264880597026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/2213672264880597026'/><link rel='alternate' type='text/html' href='http://forthfortnight.blogspot.com/2011/08/blog-post.html' title='學習'/><author><name>Chings World</name><uri>http://www.blogger.com/profile/15191167870271612229</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_AchTsJsrvZw/STdFzdxFJaI/AAAAAAAAAAM/ZR_kphZVVHQ/S220/PC040006.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-z2gU6YgWtOM/TjcxjdP7dNI/AAAAAAAAAjc/L_l0lJmVTvk/s72-c/movingbubble.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1097161848825759583.post-4403725836969124004</id><published>2011-07-15T14:41:00.001-07:00</published><updated>2011-07-26T21:46:31.522-07:00</updated><title type='text'>艱苦環境裡的大整數精確計算</title><content type='html'>曾慶潭2011-07-16於紐西蘭&lt;br /&gt;Ching-Tang Tseng&lt;br /&gt;ilikeforth@gmail.com&lt;br /&gt;http://forthfortnight.blogspot.com&lt;br /&gt;&lt;br /&gt;相當的年紀才能有相當豐富的回憶，過往的時日還不能醉生夢死，回憶才有意義。這幾天，這裡天氣變得很冷了，冷到坐下來就能大量的回想到過去的事情，因為，不少老友都找上門來了，自然就勾起了我的許多回憶。&lt;br /&gt;先是彰化的林伯龍醫師，透過此處的網文，捎來了訊息，彼此都感到非常意外。我也立刻回信，告訴他，不會忘記將近30年前，中華民國FORTH語言協會草創初期，他曾經給過我們的金錢資助，並請他問候也住彰化的陳信良先生。當年，他們都捐助過協會不少錢，協會卻是一個地下組織，我拿了錢就能辦事，搞的也不是什麼偉大革命，只是推廣FORTH。&lt;br /&gt;從小，我也經歷過許多的欺壓與霸凌，但對方後來的下場都不太好。打過我的人，有的還都死掉了。我也常聽說，欺負過我的人，後來的生活都很悽涼、潦倒。可是，曾經幫助過我的人，再度與我聯絡上時，看來都有了滿意的人生，林醫師就是其中之一。我不是鬼神，也不會詛咒別人，蒙受任何打擊時，內心只會要求自己更堅強的站起來，更要充實自己，也有著想當世界天皇的偉大志向，其他甚麼天皇我都不會放在眼裡。&lt;br /&gt;30幾年前，職業軍人敢在社會上搞地下組織，是屬於違反軍紀的重大犯罪行為，嚴重的，可以撤職查辦，我卻胆大妄為到在社會上私募款項。曾經被也是同行的退伍軍人，一狀告回當時的服務單位，他們把持著國營公司主管的權位，不捐錢也就罷了，還陷害忠良，差一點就令我落得與郭冠英同樣的下場。幸好，承辦告案的魏元勳副所長深明大義，放我一馬，對我算是有著不殺之恩。後來，他出題考我，能不能用FORTH把圓周率π算到小數點後面1000位數？我算不出來，於是FORTH被判定成沒有用。我終身記得此事，便立定志向要自己設法解決，雖然多年以前，我就能解這個問題，但我要等到電腦軟硬體的發展都足夠成熟之後，才願意實際使用FORTH解決問題。能夠解決，才值得在網文中公佈，算是了了一股心願，從此之後，也才可以不必再談π的事情。&lt;br /&gt;我有終身反省的習慣，2009-5-15刊出的：『FORTH解大數問題』談到π，那時，我用一般FORTH程式解問題，可以獲得正確答案，但是沒有特別意義。前一篇網文公佈了我想將π算到幾位數都可以了，就是為了回報魏副所長的不殺之恩，用的不僅只是實際程式，還是我親自設計出來的程式語言系統。以前，我若堅持已見，想做這種發展，會被視同為不務正業，結果也可能會是撤職查辦。我的本業被上級視同為掃放射性的工作，而且全單位都沒人愛做，我就只好忍氣吞聲的一直幹著吃放射性的工作，難怪七早八早就被國軍淘汰了，也不夠資格領終身俸，但沒有怨言，現在只能搞FORTH。&lt;br /&gt;&lt;br /&gt;我還有另外兩個必須反省之後，透過網文向讀者交待的問題，但不必計較會有多少讀者來點閱。2010-01-16刊出的網文：『高級數學函數』，文內提到，當年一月八日出刊的『科學美國人』(Scientific American)裡面的一篇文章，論及一個十進制為232位數的密碼性數字，可以因式分解成兩個均為116位數的質數。該文中，我寫下誓言，『它日我必會用到這份資料驗證程式』，現在，實現這個諾言，程式要用大整數除法算對結果才有價值，因為，大數的加、減、乘法都很容易設計，除法不容易。&lt;br /&gt;列示這個程式，代表我對所有研究問題認真的態度，不能設計出算對結果的系統前，我長期被大數無法正確輸出與輸入系統的問題所困擾，請教國際網站的負責人，也得不到答覆，他們反而要我幫忙做另外一件事情。最後，只好自行解決問題，完成這件工作後，令我憶起，從小都是這樣子自立自強長大的，我經常鼓勵中國同胞努力站起來，我自己更應該努力站起來。&lt;br /&gt;&lt;br /&gt;0 BIGVARIABLE A1 1000 ALLOT&lt;br /&gt;0 BIGVARIABLE B1 1000 ALLOT&lt;br /&gt;0 BIGVARIABLE C1 1000 ALLOT&lt;br /&gt;&lt;br /&gt;: MAIN BASIC&lt;br /&gt;10 LET B{ A1 =&lt;br /&gt;S" 1230186684,5301177551,3049495838,4962720772,8535695953" FIRST-SECTION&lt;br /&gt;S" 3479219732,2452151726,4005072636,5751874520,2199786469" NEXT-SECTION&lt;br /&gt;S" 3899564749,4277406384,5925192557,3263034537,3154826850" NEXT-SECTION&lt;br /&gt;S" 7917026122,1429134616,7042921431,1602221240,4792747377" NEXT-SECTION&lt;br /&gt;S" 9408066535,1419597459,8569021434,13" &lt;br /&gt;NEXT-SECTION&lt;br /&gt;S&gt;BIG }B&lt;br /&gt;20 LET B{ B1 =&lt;br /&gt;S" 3347807169,8956898786,0441698482,1269081770,4794983713" FIRST-SECTION&lt;br /&gt;S" 7685689124,3138898288,3793878002,2876147116,5253174308" NEXT-SECTION&lt;br /&gt;S" 7737814467,999489" &lt;br /&gt;NEXT-SECTION&lt;br /&gt;S&gt;BIG }B&lt;br /&gt;30 LET B{ C1 = A1 / B1 }B&lt;br /&gt;40 PRINT " A1 = : "&lt;br /&gt;50 RUN A1 BIG.&lt;br /&gt;60 PRINT " B1 = : "&lt;br /&gt;70 RUN B1 BIG.&lt;br /&gt;80 PRINT " C1=A1/B1= : "&lt;br /&gt;90 RUN C1 BIG.&lt;br /&gt;100 END&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;執行結果如下：&lt;br /&gt;&lt;br /&gt;MAIN &lt;br /&gt;A1 = : &lt;br /&gt;232 digits &lt;br /&gt;12301866845301177551304949583849627207728535695953&lt;br /&gt;34792197322452151726400507263657518745202199786469&lt;br /&gt;38995647494277406384592519255732630345373154826850&lt;br /&gt;79170261221429134616704292143116022212404792747377&lt;br /&gt;94080665351419597459856902143413 &lt;br /&gt;B1 = : &lt;br /&gt;116 digits &lt;br /&gt;33478071698956898786044169848212690817704794983713&lt;br /&gt;76856891243138898288379387800228761471165253174308&lt;br /&gt;7737814467999489 &lt;br /&gt;C1=A1/B1= : &lt;br /&gt;116 digits &lt;br /&gt;36746043666799590428244633799627952632279158164343&lt;br /&gt;08764267603228381573966651127923337341714339681027&lt;br /&gt;0092798736308917  ok&lt;br /&gt;&lt;br /&gt;驗證無誤。&lt;br /&gt;&lt;br /&gt;另一件必須向讀者交待的事情，是有關於算出超大質數(Prime number)之事，我在2009-02-10『質數』網文中，提供過算出質數之一般FORTH程式，它並不是什麼偉大的創作，只適合用來當作小型範例程式，當時(2008-09-18)梅森質數大搜索組織(GIMPS, Great Internet Mersenne Prime Search)活動的結果，已經算出了2的43112609次方減1為新發現的大質數，此數大於1200萬位數(10^12978188)，現在該組織可能已經發現更大的數字了。&lt;br /&gt;我重提此事的目的，是想告訴大家，尤其是全體中國人，找梅森質數的數學計算方法非常簡單，但一般程式語言系統不易設計出那樣的程式，必須是擁有無窮位數大整數計算功能的程式語言系統，才能用來輕易的設計出程式。我不想批評別種程式語言在這方面的能力，只問自己設計出來的ABC FORTH數學計算系統，又能做到什麼程度？現在則是展示本領的時候了。&lt;br /&gt;因為我已設計出了輕巧的工具，可以實現這套尋找大質數方法的程式，並快速執行後，得到測試結果。也因此能通順、詳細的解釋這套技術。我們先行詳細解釋一些相關術語。&lt;br /&gt;任何數只要可以表示為M(P) = 2 ^ P – 1，就被稱為梅森數(Mersenne number，梅森是一位法國數學家，1588~1648)，如果P不是質數，則M(P)也不會是質數，若M(P)為質數，則P必定為質數，但是，P為質數，M(P)卻不一定為質數。&lt;br /&gt;梅森當初提出上述研究時，宣稱：當P = 2,3,5,7,13,17,19,31,67,127,257等11個質數時，M(P)都是質數，而除了這11個質數以外，比257小的其他質數P，計算出來的M(P)都不是質數。&lt;br /&gt;可是，後人發現M(67)不是質數，M(257)也不是質數，但M(61)、M(89)、M(107)反而都是質數。&lt;br /&gt;當P為較大的質數時，能夠計算出來的M(P)就會非常的大，因此，就必須經過更大數字的大量計算測試，才能確定該M(P)是否為質數？早期沒有電腦可用的時代，這種工作，實在難以實現。後來，法國數學家盧卡斯(Edouard Lucas)，於1856年與1878年，分別提出過發現了用來測試M(P)是否為質數的方法，1930年代，萊默(D. N. Lehmer)又研究出改良的測試方法，這種測試方法，後來就被稱為盧卡斯萊默測試法(Lucas Lehmer test, LLT)，可以高效率測試出梅森數是否為一質數？目前，此法是被普遍用來發現梅森數中更大質數的最佳方法。國際網路梅森質數大搜索組織，就是專門從事於這種活動的一個組織。&lt;br /&gt;盧卡斯萊默測試法，可以用下列程式語言式的敘述表達清楚，意義能夠直讀，我就不用詳細解釋。&lt;br /&gt;&lt;br /&gt;\ Determine if M ( P ) = 2 ^ P – 1 is a prime?&lt;br /&gt;\ Lucas-Lehmer test&lt;br /&gt;Lucas-Lehmer( P )&lt;br /&gt;var S = 4&lt;br /&gt;var M = 2 ^ P – 1&lt;br /&gt;repeat P – 2 times:&lt;br /&gt;S = ( ( S * S ) – 2 )  MOD  M&lt;br /&gt;if S = 0 return PRIME else return COMPOSITE&lt;br /&gt;&lt;br /&gt;但是，讀者請注意，敘述中的S及M都必須能夠被處理成無限位數的大整數，上列程式才有效，P則暫時還可以被處理成21億以下的一般單整數。不是所有現成的程式語言都能辦到此事，能辦到的大概也不會是免費的軟體。我改寫出一個精簡交談式的ABC FORTH程式，簡單到就如下列所示，重點顯現在可以快速測試出能夠告訴大家特性的實際數字結果。&lt;br /&gt;&lt;br /&gt;INTEGER I&lt;br /&gt;INTEGER P&lt;br /&gt;&lt;br /&gt;0 BIGVARIABLE S 10008 ALLOT&lt;br /&gt;0 BIGVARIABLE M 10008 ALLOT&lt;br /&gt;&lt;br /&gt;0 BIGVARIABLE BIG0&lt;br /&gt;1 BIGVARIABLE BIG1&lt;br /&gt;2 BIGVARIABLE BIG2&lt;br /&gt;&lt;br /&gt;: LUCAS BASIC&lt;br /&gt;10 PRINT " Input P for (2^P-1), but P must be &gt; 2 !!! "&lt;br /&gt;20 INPUTI P&lt;br /&gt;30 RUN CR CR &lt;br /&gt;40 LET B{ S = I&gt;BIG ( 4 ) }B&lt;br /&gt;50 LET B{ M = BIG2 ^ P - BIG1 }B&lt;br /&gt;70 FOR I = 1 TO P - 2&lt;br /&gt;80 LET B{ S = ( ( S * S ) - BIG2 ) MOD M }B&lt;br /&gt;90 NEXT I&lt;br /&gt;100 IF B{ S = BIG0 }B THEN 130&lt;br /&gt;110 PRINT " For P = " ; P ; " : (2^P-1) is a composite. "&lt;br /&gt;120 GOTO 150&lt;br /&gt;130 PRINT " For P = " ; P ; " : (2^P-1) is a prime. It is: "&lt;br /&gt;140 RUN M BIG.&lt;br /&gt;150 RUN CR CR &lt;br /&gt;160 END&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;程式再經簡單的改寫、調整，就能自動的執行從所有梅森數中找出梅森質數的工作，以下為只計算到2000位數時的印出結果：&lt;br /&gt;&lt;br /&gt;For P = 3 : (2^P-1) is a prime. It is: &lt;br /&gt;1 digits &lt;br /&gt;7 &lt;br /&gt;For P = 5 : (2^P-1) is a prime. It is: &lt;br /&gt;2 digits &lt;br /&gt;31 &lt;br /&gt;For P = 7 : (2^P-1) is a prime. It is: &lt;br /&gt;3 digits &lt;br /&gt;127 &lt;br /&gt;For P = 13 : (2^P-1) is a prime. It is: &lt;br /&gt;4 digits &lt;br /&gt;8191 &lt;br /&gt;For P = 17 : (2^P-1) is a prime. It is: &lt;br /&gt;6 digits &lt;br /&gt;131071 &lt;br /&gt;For P = 19 : (2^P-1) is a prime. It is: &lt;br /&gt;6 digits &lt;br /&gt;524287 &lt;br /&gt;For P = 31 : (2^P-1) is a prime. It is: &lt;br /&gt;10 digits &lt;br /&gt;2147483647 &lt;br /&gt;For P = 61 : (2^P-1) is a prime. It is: &lt;br /&gt;19 digits &lt;br /&gt;2305843009213693951 &lt;br /&gt;For P = 89 : (2^P-1) is a prime. It is: &lt;br /&gt;27 digits &lt;br /&gt;618970019642690137449562111 &lt;br /&gt;For P = 107 : (2^P-1) is a prime. It is: &lt;br /&gt;33 digits &lt;br /&gt;162259276829213363391578010288127 &lt;br /&gt;For P = 127 : (2^P-1) is a prime. It is: &lt;br /&gt;39 digits &lt;br /&gt;170141183460469231731687303715884105727 &lt;br /&gt;For P = 521 : (2^P-1) is a prime. It is: &lt;br /&gt;157 digits &lt;br /&gt;68647976601306097149819007990813932172694353001433&lt;br /&gt;05409394463459185543183397656052122559640661454554&lt;br /&gt;97729631139148085803712198799971664381257402829111&lt;br /&gt;5057151 &lt;br /&gt;For P = 607 : (2^P-1) is a prime. It is: &lt;br /&gt;183 digits &lt;br /&gt;53113799281676709868958820655246862732959311772703&lt;br /&gt;19231994441382004035598608522427391625022652292856&lt;br /&gt;68889329486246501015346579337652707239409519978766&lt;br /&gt;587351943831270835393219031728127  &lt;br /&gt;For P = 1279 : (2^P-1) is a prime. It is: &lt;br /&gt;386 digits &lt;br /&gt;10407932194664399081925240327364085538615262247266&lt;br /&gt;70480531911235040360805967336029801223944173232418&lt;br /&gt;48424216139542810077913835662483234649081399066056&lt;br /&gt;77320762924129509389220345773183349661583550472959&lt;br /&gt;42054768981121169367714754847886696250138443826029&lt;br /&gt;17323488853111608285384165850282556046662248318909&lt;br /&gt;18801847068222203140521026698435488732958028878050&lt;br /&gt;869736186900714720710555703168729087 &lt;br /&gt;&lt;br /&gt;我以不建立質數表的方式，讓上列程式就直接逐次加1的往上計算到2000為止，所以可以確定其間沒有其它的質數是梅森數了。我寫出程式的目的，不在與前人比高下，只想用程式證明，除了上列數字外，確實沒有其他的梅森質數了。我沒有用我的電腦繼續算下去，只算出了刊出這篇文章所需要的數字就夠了，讀者大約很難在其他的場合，見到一個名符其實的386位數的真正質數了。我將系統暫時設定成可以得到一個萬位數以下的質數，因此，就目前全世界已經公開的47個梅森質數而言，我的系統不改設定，可以算得第32個以下的梅森質數。修改設定，可以提高記錄，但我只有艱苦環境裡的電腦，不必與有錢人爭長短。我的電腦在這個程式執行期間，CPU的冷卻風扇不斷的起動運轉，這是紐西蘭冬日裡，環境溫度接近0度C時的罕見現象，可見它們跑得有多累！&lt;br /&gt;這些數據都是有用的大數據，用來測試系統時可以派得上用場。我從科學美國人期刊上取得116位數的質數，就能檢驗出系統的輸出輸入，會受到微軟作業系統內不良設計的嚴重影響。大家都花了那麼多錢向微軟購買軟體，受到這種氣，卻不能告它來索賠，只能透過這種技術網文，將問題披露出來。我也不是光會在社會上取得資源而不回饋的人，上述資料，就回饋給全世界，比科學美國人期刊能夠提供的數字大三倍位數的質數，更大位數的資料，我也能夠產生。&lt;br /&gt;我在2009-02-10：『質數』網文中，詳細介紹的程式及其執行結果，對找出超大質數的研究也有幫助。如果將那些質數建成檔案，再利用本文內的程式，兩者配合起來執行，就能更快速的找出更大的梅森質數，不必以每次加1的方式，逐次的往上計算。兩者配合起來的找法，可以輕易的執行到2的二十一億次方的計算，可以超過第47個梅森質數的限量，但我對安排硬體來執行可能可以打破記錄的事情，沒有興趣。&lt;br /&gt;&lt;br /&gt;談完了技術，可以話點家常。&lt;br /&gt;&lt;br /&gt;前兩天，一對老朋友夫婦來訪，順便找我協修一些修不好的電器，肉眼能夠瞧出來的問題，大概都難不倒我，所以東西很快就都修好了。&lt;br /&gt;第一個問題電器，是被拆到螺絲頭完全毀損、變型而無法受力之深槽內的螺絲，老友確定已經拆不下來了，所以帶來找我協修。我找遍了自己花了不少錢買來的所有工具，確實也沒有適當的螺絲起子，可以派得上用場，因為那根螺絲是一個故意將螺絲頭設計成三線凹槽式的螺絲，目的就在防止一般使用者，任意自行拆開電器來維修，發生觸電意外。&lt;br /&gt;後來，我突然想到，一般人動手工作的方式與我不同，我因經常自己動手做事，知道一些工作技巧，也許那根螺絲換我直接拆，就能拆得下來，因此，就取用了一根1字型的長起子直接拆卸，果然不錯，深槽內螺絲頭全毀成圓洞的螺絲，我直接拆出來了，電路斷掉了的電器，當然也就修好了。&lt;br /&gt;第二個問題電器，是一個新型獨立的液晶顯示幕，不能正常工作，系統告知傳輸線有一條是斷訊狀態，老友不敢擅拆機背板來查線，所以拿來找我協修。我只看了看整組機子的情況，就告訴他，這種東西敢出廠銷售，多股訊號傳輸線發生機內斷線的可能機率相當低，反倒是訊號傳輸接頭又接了轉換接頭，出問題的可能性較高，不如先拆驗接頭。直接拆開一看，又是果然不錯，D型多孔接頭的一個凸針，根本沒插入對應插孔，全被壓歪了。以小起子併同尖嘴鉗，小心扳回銅針後，看來還能使用，修好了這個大概並不便宜我都還沒買過的液晶顯示幕。&lt;br /&gt;做這些事情，會令我想起自己曾經有過的艱苦人生。&lt;br /&gt;我拆螺絲時，知道扳轉起子的第一時間，必須壓得夠緊，並只施以小角度的衝擊式扭力，感到螺絲確實鬆開時，必須立刻解除壓緊之力，改成單純的只施以扭轉之力，特別是金屬螺絲安裝於塑膠機殼的情況尤然，否則螺絲要不是拆壞螺頭都還拆不下來，就是發生滑牙現象，從此之後都難再拆裝了。英文有句俗語，能幫助經常搞不清楚扭轉方向的人，記住『旋緊』或『扭鬆』的方向，他們說：『Right ~y tight ~y, Left ~y loose』，~y要拖長了發[i]的音，是『右旋變緊，左旋變鬆』的意思。&lt;br /&gt;我的表達能力很好，這一段話是標準起子使用技巧的經典說明，如果您能讀懂這一段話，終身牢記，身體力行，保證您受用不盡。至於話語的意義，您應自己體會，我大學學的是機械工程，是一名具有工程師執照的淘汰老兵，當然能夠詳細解釋出道理，但我會告訴想學的人，就像學FORTH程式語言一樣，您只宜拿著起子直接動手照著做，多做熟練之後，手腦才能配合得起來，光知道道理沒有用。大家同時拿著起子拆螺絲，同做這麼簡單的一件工作，為什麼會拆出不一樣的結果？因為我出身卑微，有過艱苦的人生。&lt;br /&gt;從小到井邊打水、挑水回家、生火煮飯，其實都還稱不上艱苦，但現代人都不必做了。&lt;br /&gt;我沒上學之前，就陪著家人到海邊防風林撿柴火，當個小樵童，經常要躲避森林巡守員的為難，這也不算什麼，但聽到穿林的松風，環顧四下無人的荒野森林時，心中卻油然生起強烈的意志，立志將來要讓家人不必這樣過日子。&lt;br /&gt;我年紀雖小，找柴迅速，每次都是我陪著媽媽最先回到產業道路旁約好的集合地點，我們要先藏好媽媽的一擔柴，與我能背的一竹簍子柴，等了一陣子還不見鄰居來會合，我媽媽就會要我去路的盡頭把風，她才高喊：&lt;br /&gt;『花~ ~ 草嬸媽哦 ~ ~，好轉去了 ~ ~ 』(要用台語喊，是要花草嬸回去的意思)&lt;br /&gt;這樣的吆喝，一輩子在我腦海裡迴盪。我永遠記得，來到這個世界，媽媽把我養育長大，我負有重任，要改善我們的環境，要改善我們的生活，一生遭受任何打擊，都不得低頭，必須昂首闊步，堅強前行。&lt;br /&gt;從小生活環境不好，經常要倒馬桶，有夠粗鄙吧？那又如何？夜晚穿過黑漆漆的暗巷，端著馬桶，前往公廁後面的糞便池，您以為我心裡能想甚麼？我只想到將來絕不讓我的家人，還要這樣過日子。&lt;br /&gt;我14歲時就上過大夜班，在木器工廠當童工，賺錢貼補家用，清晨四點鐘，下班騎自行車回家，一路上只有我孤獨的一個人，也是黑漆漆的，只有星光照著路面，路過無人看守剛撞死人的鐵路平交道，那時，屍體都只能放在現場好幾天，只蓋上草蓆，您以為我這個童工這麼勇敢，什麼都不怕？但是我從不跟家人提起這些事情，說出來就表示自己將來一定沒出息。&lt;br /&gt;大學畢業時，母親過世了，家人生活還是很苦，我沒能盡任何孝道，我媽媽也從來不曾要求我要回報她。因此，改善環境、改善生活的志向，轉而奉獻社會，這絕對就是我爸爸、媽媽的意思。&lt;br /&gt;有過這些卑下的人生，才會顯示出我拆螺絲與眾不同之處，通常光憑肉眼看不出來。就算成年踏入社會了，我也並非就能過著好日子，一切仍然都要靠著自己，不努力就不可能有好的結果。前面說過，吃公家飯時，我盡是幹著別人不愛幹的掃放射性工作，那是打從進入公家單位開始，就長期被人欺負的結果，後來毅然決然的離職了，還脫離不了不良的影響。&lt;br /&gt;我估計台灣當今也沒幾個能把放射性測量工作做得比我確實的人，十五年前，移民之前，我自購測量放射性用的蓋革─米勒計數器(Geiger-Muller counter)，自行測量家中器具有無輻射？以便決定是否搬到紐西蘭繼續使用。我熟知儀器的性能，就算沒有校準儀器的機會，我也還能量得出有意義的數據。只要儀器能夠反應，您將測量時間加長，精確程度就可增加，這是不變的真理，讀數的意義就靠比較，也能凸顯出來。最後，量出了床上長期使用的兩個枕頭，放射性計量讀數，是環境平均背景讀數的三倍，我知道輻射不算太強，等同於大家每次搭飛機，飛上高空後所必須接受的輻射強度，那時，搭飛機時，沒有不得使用任何儀器的管制，我用同一儀器在搭飛機時測量了幾小時，確實獲得這樣的數據，所以也沒必要將枕頭當輻射物質處理，我太太氣得當場就將兩個枕頭當垃圾丟了。長期在原子爐內工作，不可能每天下班前洗完澡才回家，頭髮就像一個標準的空氣過濾器，什麼東西都能吸附，長期工作下來，能不帶點放射性物質回家？&lt;br /&gt;同樣的，長期使用電腦執行數學計算程式，在現今全世界的數學計算軟體環境中，我怎麼不知道誰會欺負誰？我在學習原子爐爐心設計工程時，是拉計算尺過日子的，那時，買一台進口的小型計算器(Calculator)要幾萬台幣，教我這門課程的鄭季康博士，有一台公家買的裝備，我每星期寫好50張單光紙，留下空格，標示程序，就等著鄭老師來教課時借用他的計算器，利用下課時間，一口氣填完表格，晚上再拉計算尺驗證。這是大四下學期的事情，四下的成績不列入畢業後分發工作的參考，全班同學都不想學太囉嗦的東西了，只剩我一個人努力完成原子爐爐心的工程設計，只有我交了報告，裡面全是大量的數學計算。&lt;br /&gt;今天，中國人的環境，可以說電腦已經普及了，可是，有誰還會在乎與電腦相關的數學計算？大家用的是花大錢買來的鴉片式軟體，吃了就上瘾了，誰還想要自行設計？當老師的，選擇軟體之依據只有一個，看看是否有利可圖？管它什麼公益軟體？我聽到台灣開FORTH月會時，講員吐出來的心聲，學生拿到文憑進入社會工作後，沒人想用老師強教、強用的鴉片式軟體，要不然就盜用。還想正式的用，就得花大錢，而且愈來愈不知道裡面在算些什麼？大家還是希望能夠見到公益性軟體，可是，去那裡找？請問？我怎麼不知道誰在欺負誰！&lt;br /&gt;最近，寫完書後，開始貼一些比較特殊的數學計算網文，有幾天，見到我的網文點閱記錄顯示，德國人的點閱數，比台灣的國人同胞還要高，大家認為我的心裡應該有什麼感想？德國人全國國民平均素質，優於其它國家，有許多技術冠蓋全世界，他們可能比台灣人更了解，在FORTH這麼艱苦的環境中，一個人單打獨鬥，產生出來的創作，比什麼都可貴，所以願意看台灣人不願意看的東西，是中文也無妨。&lt;br /&gt;不單純只是我用起子與別人用起子的方式有所不同，也不單純只是我用電腦與別人用電腦的方式有所不同，更不單純只是我用FORTH與別人用FORTH的方式有所不同。我過過苦日子，從艱苦環境中長大，意志與人不同，心中有點分寸，我寫的全是通順的中文，要想增進全人類的福祉，也是從自己同胞的生活環境作為開始呀！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1097161848825759583-4403725836969124004?l=forthfortnight.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://forthfortnight.blogspot.com/feeds/4403725836969124004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1097161848825759583&amp;postID=4403725836969124004' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/4403725836969124004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/4403725836969124004'/><link rel='alternate' type='text/html' href='http://forthfortnight.blogspot.com/2011/07/blog-post.html' title='艱苦環境裡的大整數精確計算'/><author><name>Chings World</name><uri>http://www.blogger.com/profile/15191167870271612229</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_AchTsJsrvZw/STdFzdxFJaI/AAAAAAAAAAM/ZR_kphZVVHQ/S220/PC040006.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1097161848825759583.post-3608213103175241826</id><published>2011-07-01T06:39:00.000-07:00</published><updated>2011-12-26T17:35:21.123-08:00</updated><title type='text'>ABC FORTH的新發展</title><content type='html'>曾慶潭2011-07-02於紐西蘭&lt;br /&gt;Ching-Tang Tseng&lt;br /&gt;ilikeforth@gmail.com&lt;br /&gt;http://forthfortnight.blogspot.com&lt;br /&gt;&lt;br /&gt;1. 前言&lt;br /&gt;&lt;br /&gt;這可能又是一篇沒人愛看的文章了，其中卻蘊含了不少難以發展的技術，您愛不愛看就悉聽尊便，我不會很在乎，您若還想繼續讀下去，千萬別受我個人意念的影響，否則得不到好結果。&lt;br /&gt;我的各種研究與發展，長久以來就不被重視，沒人理睬，更不可能得到任何支持，我早已習慣，處之泰然，唯一覺得欣慰的事情，就是發佈網文之後，還真有不少人來拜訪，全世界都有，但未必是因我的研究與發展而來。&lt;br /&gt;事實上，我個人在ABC FORTH數學計算系統上的發展，已經與大眾漸行漸遠。當初為了顧及系統的實用性，曾將ABC FORTH系統發展之事，暫停了一段時日，改為努力地寫出一本能讓大眾接受的書本。結束寫書之長期工作後，我便再度開始大肆發展這個系統，第一件挑選的重任，就是實現我曾經在『玄數』網文中介紹過的技術，將超大整數的數學計算能力加進系統，實現了！耗時約兩星期，還有後續發展，準備再收集幾個超級大整數的特殊函數功能程式，將它們全加進系統。&lt;br /&gt;這些新發展，與我已經寫成的書本不相關；這些新功能，也與一般大眾的使用需求不相關。我長期思考過這些問題，所以發展再難，也應該可以一一突破；我也做好心理上的準備，所以完成一項，就還會冒出新的一項。每個新發展，都需要讀不少書，也要研究許多先聖先賢設計出來的大型程式，全面融會貫通之後，才能組織出自己的東西。能有具體結果的發展，都不是輕鬆的工作，如果您親眼目睹我這個60歲的老頭，這麼老了還這樣子幹活，您適合在年輕時及時享樂而懈怠學習嗎？希望我的努力能夠成為年輕人的鼓勵。&lt;br /&gt;首先，讓大家見一見超大整數數學計算系統的基本功能，以網文容量容得下，真實資料刊得出來為原則，利用將圓周率Pi(π，為打字便利計，本文一律簡稱Pi)算到2500位數的計算技術，展示程式與執行結果。&lt;br /&gt;我對大數計算系統性能上的設計基本要求是：程式必須讓高中生也能讀懂，除了清楚還必須精確。清楚，就能讓大家容易利用這個系統來設計大數的數學計算應用程式，精確，才能作為大數問題的分析工具。&lt;br /&gt;本文除了展示，免不了必須談一點理論根據與比較分析，這些內容可以告訴大家，新聞報導將Pi計算到五兆(5T digits)位數，只是技術不錯，卻並不是甚麼天大的突破，所以，技術值得鼓勵，卻值不上因此而應頒給實現者任何學術學位。使用FORTH程式語言，能夠輕而易舉的估算出計算這種問題的記憶體耗用量，我在發展出ABC FORTH系統的大數計算能力後，便有資格告訴大家，現行個人電腦的能力，大約就是能將Pi處理到達十兆位數，以後呢？以後再說。&lt;br /&gt;&lt;br /&gt;2. 程式及其執行結果&lt;br /&gt;&lt;br /&gt;\ 求Pi至2500位數的程式，以2501位整數來表示&lt;br /&gt;&lt;br /&gt;INTEGER I&lt;br /&gt;INTEGER KK&lt;br /&gt;&lt;br /&gt;0 BIGVARIABLE X&lt;br /&gt;0 BIGVARIABLE DD&lt;br /&gt;0 BIGVARIABLE PI#1    2500 ALLOT&lt;br /&gt;0 BIGVARIABLE W#     2500 ALLOT&lt;br /&gt;0 BIGVARIABLE ATAN#  2500 ALLOT&lt;br /&gt;0 BIGVARIABLE PI#2    2500 ALLOT&lt;br /&gt;&lt;br /&gt;0 BIGVARIABLE BIG0&lt;br /&gt;10 BIGVARIABLE BIG10&lt;br /&gt;&lt;br /&gt;: RESET BASIC&lt;br /&gt;10 LET B{    W# = BIG0 }B&lt;br /&gt;20 LET B{ ATAN# = BIG0 }B&lt;br /&gt;30 LET B{    DD = BIG0 }B&lt;br /&gt;40 LET KK = 0&lt;br /&gt;50 END&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;: SUBATAN BASIC&lt;br /&gt;10 REM Subroutine ATAN(X), in fact, X=1/N&lt;br /&gt;20 LET B{ DD = X * X }B&lt;br /&gt;30 LET B{ W# = X }B&lt;br /&gt;40 FOR I = 1 TO 2500&lt;br /&gt;50 LET B{ W# = W# * BIG10 }B&lt;br /&gt;60 NEXT I&lt;br /&gt;70 LET B{ ATAN# = BIG0 }B&lt;br /&gt;80 LET KK = 1&lt;br /&gt;90 LET B{ W# = W# / DD }B&lt;br /&gt;100 LET B{ ATAN# = ATAN# + ( W# / I&gt;BIG ( KK ) ) }B&lt;br /&gt;110 LET KK = KK + 2&lt;br /&gt;120 LET B{ W# = W# / DD }B&lt;br /&gt;130 LET B{ ATAN# = ATAN# - ( W# / I&gt;BIG ( KK ) ) }B&lt;br /&gt;140 LET KK = KK + 2&lt;br /&gt;150 IF B{ W# &amp;lt;&gt; BIG0 }B THEN -90&lt;br /&gt;160 END&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;: PAI1 BASIC&lt;br /&gt;10 LET B{ X = BIG0 }B&lt;br /&gt;20 LET B{ PI#1 = BIG0 }B&lt;br /&gt;30 RUN RESET&lt;br /&gt;40 LET B{ X = I&gt;BIG ( 5 ) }B&lt;br /&gt;50 RUN SUBATAN&lt;br /&gt;60 LET B{ PI#1 = PI#1 + ( I&gt;BIG ( 16 ) * ATAN# ) }B&lt;br /&gt;70 RUN RESET&lt;br /&gt;80 LET B{ X = I&gt;BIG ( 239 ) }B&lt;br /&gt;90 RUN SUBATAN&lt;br /&gt;100 LET B{ PI#1 = PI#1 - ( I&gt;BIG ( 4 ) * ATAN# ) }B&lt;br /&gt;110 RUN CR CR&lt;br /&gt;120 PRINT " 2500 digits pi = : "&lt;br /&gt;130 RUN PI#1 BIG.&lt;br /&gt;140 END&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;: PAI2 BASIC&lt;br /&gt;10 LET B{ X = BIG0 }B&lt;br /&gt;20 LET B{ PI#2 = BIG0 }B&lt;br /&gt;30 RUN RESET&lt;br /&gt;40 LET B{ X = I&gt;BIG ( 57 ) }B&lt;br /&gt;50 RUN SUBATAN&lt;br /&gt;60 LET B{ PI#2 = PI#2 + ( I&gt;BIG ( 176 ) * ATAN# ) }B&lt;br /&gt;70 RUN RESET&lt;br /&gt;80 LET B{ X = I&gt;BIG ( 239 ) }B&lt;br /&gt;90 RUN SUBATAN&lt;br /&gt;100 LET B{ PI#2 = PI#2 + ( I&gt;BIG ( 28 ) * ATAN# ) }B&lt;br /&gt;110 RUN RESET&lt;br /&gt;120 LET B{ X = I&gt;BIG ( 682 ) }B&lt;br /&gt;130 RUN SUBATAN&lt;br /&gt;140 LET B{ PI#2 = PI#2 - ( I&gt;BIG ( 48 ) * ATAN# ) }B&lt;br /&gt;150 RUN RESET&lt;br /&gt;160 LET B{ X = I&gt;BIG ( 12943 ) }B&lt;br /&gt;170 RUN SUBATAN&lt;br /&gt;180 LET B{ PI#2 = PI#2 + ( I&gt;BIG ( 96 ) * ATAN# ) }B&lt;br /&gt;190 RUN CR CR&lt;br /&gt;200 PRINT " 2500 digits pi = : "&lt;br /&gt;210 RUN PI#2 BIG.&lt;br /&gt;220 END&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;ok&lt;br /&gt;&lt;br /&gt;2500 digits pi = : &lt;br /&gt;2501 digits &lt;br /&gt;31415926535897932384626433832795028841971693993751&lt;br /&gt;05820974944592307816406286208998628034825342117067&lt;br /&gt;98214808651328230664709384460955058223172535940812&lt;br /&gt;84811174502841027019385211055596446229489549303819&lt;br /&gt;64428810975665933446128475648233786783165271201909&lt;br /&gt;14564856692346034861045432664821339360726024914127&lt;br /&gt;37245870066063155881748815209209628292540917153643&lt;br /&gt;67892590360011330530548820466521384146951941511609&lt;br /&gt;43305727036575959195309218611738193261179310511854&lt;br /&gt;80744623799627495673518857527248912279381830119491&lt;br /&gt;29833673362440656643086021394946395224737190702179&lt;br /&gt;86094370277053921717629317675238467481846766940513&lt;br /&gt;20005681271452635608277857713427577896091736371787&lt;br /&gt;21468440901224953430146549585371050792279689258923&lt;br /&gt;54201995611212902196086403441815981362977477130996&lt;br /&gt;05187072113499999983729780499510597317328160963185&lt;br /&gt;95024459455346908302642522308253344685035261931188&lt;br /&gt;17101000313783875288658753320838142061717766914730&lt;br /&gt;35982534904287554687311595628638823537875937519577&lt;br /&gt;81857780532171226806613001927876611195909216420198&lt;br /&gt;93809525720106548586327886593615338182796823030195&lt;br /&gt;20353018529689957736225994138912497217752834791315&lt;br /&gt;15574857242454150695950829533116861727855889075098&lt;br /&gt;38175463746493931925506040092770167113900984882401&lt;br /&gt;28583616035637076601047101819429555961989467678374&lt;br /&gt;49448255379774726847104047534646208046684259069491&lt;br /&gt;29331367702898915210475216205696602405803815019351&lt;br /&gt;12533824300355876402474964732639141992726042699227&lt;br /&gt;96782354781636009341721641219924586315030286182974&lt;br /&gt;55570674983850549458858692699569092721079750930295&lt;br /&gt;53211653449872027559602364806654991198818347977535&lt;br /&gt;66369807426542527862551818417574672890977772793800&lt;br /&gt;08164706001614524919217321721477235014144197356854&lt;br /&gt;81613611573525521334757418494684385233239073941433&lt;br /&gt;34547762416862518983569485562099219222184272550254&lt;br /&gt;25688767179049460165346680498862723279178608578438&lt;br /&gt;38279679766814541009538837863609506800642251252051&lt;br /&gt;17392984896084128488626945604241965285022210661186&lt;br /&gt;30674427862203919494504712371378696095636437191728&lt;br /&gt;74677646575739624138908658326459958133904780275900&lt;br /&gt;99465764078951269468398352595709825822620522489407&lt;br /&gt;72671947826848260147699090264013639443745530506820&lt;br /&gt;34962524517493996514314298091906592509372216964615&lt;br /&gt;15709858387410597885959772975498930161753928468138&lt;br /&gt;26868386894277415599185592524595395943104997252468&lt;br /&gt;08459872736446958486538367362226260991246080512438&lt;br /&gt;84390451244136549762780797715691435997700129616089&lt;br /&gt;44169486855584840635342207222582848864815845602850&lt;br /&gt;60168427394522674676788952521385225499546667278239&lt;br /&gt;86456596116354886230577456498035593634568174324095&lt;br /&gt;2  ok&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PAI2 &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2500 digits pi = : &lt;br /&gt;2501 digits &lt;br /&gt;31415926535897932384626433832795028841971693993751&lt;br /&gt;05820974944592307816406286208998628034825342117067&lt;br /&gt;98214808651328230664709384460955058223172535940812&lt;br /&gt;84811174502841027019385211055596446229489549303819&lt;br /&gt;64428810975665933446128475648233786783165271201909&lt;br /&gt;14564856692346034861045432664821339360726024914127&lt;br /&gt;37245870066063155881748815209209628292540917153643&lt;br /&gt;67892590360011330530548820466521384146951941511609&lt;br /&gt;43305727036575959195309218611738193261179310511854&lt;br /&gt;80744623799627495673518857527248912279381830119491&lt;br /&gt;29833673362440656643086021394946395224737190702179&lt;br /&gt;86094370277053921717629317675238467481846766940513&lt;br /&gt;20005681271452635608277857713427577896091736371787&lt;br /&gt;21468440901224953430146549585371050792279689258923&lt;br /&gt;54201995611212902196086403441815981362977477130996&lt;br /&gt;05187072113499999983729780499510597317328160963185&lt;br /&gt;95024459455346908302642522308253344685035261931188&lt;br /&gt;17101000313783875288658753320838142061717766914730&lt;br /&gt;35982534904287554687311595628638823537875937519577&lt;br /&gt;81857780532171226806613001927876611195909216420198&lt;br /&gt;93809525720106548586327886593615338182796823030195&lt;br /&gt;20353018529689957736225994138912497217752834791315&lt;br /&gt;15574857242454150695950829533116861727855889075098&lt;br /&gt;38175463746493931925506040092770167113900984882401&lt;br /&gt;28583616035637076601047101819429555961989467678374&lt;br /&gt;49448255379774726847104047534646208046684259069491&lt;br /&gt;29331367702898915210475216205696602405803815019351&lt;br /&gt;12533824300355876402474964732639141992726042699227&lt;br /&gt;96782354781636009341721641219924586315030286182974&lt;br /&gt;55570674983850549458858692699569092721079750930295&lt;br /&gt;53211653449872027559602364806654991198818347977535&lt;br /&gt;66369807426542527862551818417574672890977772793800&lt;br /&gt;08164706001614524919217321721477235014144197356854&lt;br /&gt;81613611573525521334757418494684385233239073941433&lt;br /&gt;34547762416862518983569485562099219222184272550254&lt;br /&gt;25688767179049460165346680498862723279178608578438&lt;br /&gt;38279679766814541009538837863609506800642251252051&lt;br /&gt;17392984896084128488626945604241965285022210661186&lt;br /&gt;30674427862203919494504712371378696095636437191728&lt;br /&gt;74677646575739624138908658326459958133904780275900&lt;br /&gt;99465764078951269468398352595709825822620522489407&lt;br /&gt;72671947826848260147699090264013639443745530506820&lt;br /&gt;34962524517493996514314298091906592509372216964615&lt;br /&gt;15709858387410597885959772975498930161753928468138&lt;br /&gt;26868386894277415599185592524595395943104997252468&lt;br /&gt;08459872736446958486538367362226260991246080512438&lt;br /&gt;84390451244136549762780797715691435997700129616089&lt;br /&gt;44169486855584840635342207222582848864815845602850&lt;br /&gt;60168427394522674676788952521385225499546667278239&lt;br /&gt;86456596116354886230577456498035593634568174324130&lt;br /&gt;4  ok&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;上列程式中包括了兩個同樣可以求得Pi 的設計，PAI1為根據標準論文發佈的式子計算而得。PAI2引用的式子，則為網路上德國人曾經公開過的設計，號稱也能獲得同樣的結果。經上列二程式執行、測試後的結果發現，當計算到2500位數時，兩者僅最後四位數有所不同，PAI1為4,0952而PAI2為4,1304，經與uBASIC執行後的結果比較，有更多的5位數不同。因此，這種尾部幾位數的誤差，純粹起因於電腦執行多次數字計算，最後引致的捨位誤差(Round off error)，調整上列設定為2510位數後，可得正確的結果應為4,1125.............。&lt;br /&gt;目前，我將ABC FORTH數學計算系統設定成最大輸出為10008位數，要增加位數，更改相關設定便能辦到。我用別人廢棄的電腦來設計系統，Pentium II 0.266GHz的CPU，執行出一萬位數，耗時約五分鐘。夠了，再多的位數，不是我的目的所在，所以不去浪費時間提升位數。&lt;br /&gt;我用我自己設計的大數計算系統，把求解Pi到幾位數的計算原理澈底搞清楚，是實際執行後的了解。也把現行系統能夠處理Pi到幾位數的極限能力澈底搞清楚，也是實際設計出程式後的了解。為什麼選2500位數刊入網文？因為它是uBASIC系統的最高上限能力，2500位數就能夠拿來進行有根據的實際比較。現行的套裝軟體Maple或Mathematica也都能獲得比較數據，但是它們很貴，我買不起，它們也不提供像我這樣的源程式，只能得到不知所云、沒有意義的答案，無補於增進知識或技術，我一直當它們是腐化人心的套裝軟體，全國只須買一套來進行數據比對就夠了。&lt;br /&gt;別的程式語言，早就能計算Pi到許多位數了，傳統的FORTH程式語言也行，網文上可以輕鬆得到許多這方面的資料。但是，說實在的，一般程式都很難讀懂或比對，因為程式與實際的數學表示式相去太遠，除了BASIC或FORTRAN式的數學專用程式語言外，大概都是如此。所以我才設計ABC FORTH數學計算系統的大數計算能力。實現了設計，需要夠份量的測試程式，求解Pi到許多位數的問題，就是最佳範例。&lt;br /&gt;&lt;br /&gt;3. 理論依據&lt;br /&gt;&lt;br /&gt;如果您最近光顧過FORTH程式語言發明人─ Charles H. Moore先生的個人網頁，您會發現他也留了一篇新近討論Pi的簡短網文，標題是『Thoughts about Pi』。他當寫詩一般的方式寫這篇短文，還有哲學推理般的結論，他說：根據推論，一個四度空間內的超級球形體，圓球面積應為直徑d的3次方乘以Pi。(關於這項哲理，我們改在本文文末的附註內，另行討論)&lt;br /&gt;我用會講話的程式語言ABC FORTH系統，讀Charles H. Moore先生網頁中他所留下來的愛詩，韻味十足，還刻意去調整詩中押韻部份的腔調，簡直就像是一種特殊的享受。分享他的喜好之外，也响應他的討論，本文就討論Pi，用的也全是他留下來的技術所設計出來的ABC FORTH數學計算系統。他網文中也提到，最近有人將Pi算到兆(A Trillion)位數，還建議了可參考之『Pi計算技術』的網頁。我因很久以前便已見過許多這種網頁，雖未再度按址前往一覽究竟，但對計算Pi的技術，已有一點認識。&lt;br /&gt;能寫這篇網文之前，缺乏的就是實際使用程式進行各種快速的測試。以前雖寫過許多次這種程式了，但都因為發展困難，程式寫成，得到結果之後，便作罷了，不敢再度多寫另外的程式。這一次，我設計出了極為方便的系統，可以用來快速設計出相關程式，以便深入了解問題，現在，就培養出了許多的認識。&lt;br /&gt;計算Pi的最原始根據，可以是只需要一個非常簡單的數學式子：&lt;br /&gt;&lt;br /&gt;π= 16 * ATAN( 1/5 ) – 4 * ATAN ( 1/239 )    (1)&lt;br /&gt;&lt;br /&gt;以及ATAN(X)的冪級數展開式(Power series expansion)&lt;br /&gt;&lt;br /&gt;ATAN( X ) = X – X^3 / 3 + X^5 / 5 – ………   (2)&lt;br /&gt;&lt;br /&gt;現在，我深刻的了解到，如果能夠設計出一個具有大整數計算能力的系統，使用上述最原始的計算依據就夠了，並不需要其它的理論式子。後來被發現出來的許多可用計算式子，是為了讓計算過程，能因收斂較快而得到結果，才被提出來的，在位數的精確度上，並沒有另外實質上的貢獻。換句話說，不管您用那一套數學式子來計算許多位數的Pi，都能算得出來，差別只在算得結果的快慢而已。&lt;br /&gt;因為，上列的(1)與(2)式，都是恆等式，不是近似式，恆等式代表理論上絕對相等，只要您有本事一路精確的計算下去，計算結果就絕對正確，執行PAI1的程式，用的就是(1)與(2)式，PAI2則使用(2)式與下列的(3)式。&lt;br /&gt;&lt;br /&gt;π= 176 * ATAN( 1/57 ) + 28 * ATAN(1/ 239 ) – 48 * ATAN( 1/682 )&lt;br /&gt;+ 96 *ATAN( 1/12943 )       (3)&lt;br /&gt;&lt;br /&gt;那麼，本文實在沒有必要再寬列各種其它的計算式子了，甚至於最近算出五兆位數Pi者，所依據的數學式子，也沒有必要去探尋。因為，如果我將大數計算系統設計得很好，再大的數字都能計算，給我一個十兆(10的14次方)位數的數字，送得進系統，就使用本文設計出來的程式，也一樣能得到十兆位數的Pi。不過，若僅用上述程式處理這樣的問題，單將10自乘十兆次以得到十兆位數的超級大整數，就已經是一個相當驚人的乘法計算量了，隨後還得進行更多的計算，因此，不是輕鬆的計算。&lt;br /&gt;我所設計出來的大數計算系統，並沒有計算位數的上限，現行的上限只受限於硬體，指的是FORTH系統以上所有未被用到的記憶體容量，全部都能用來放置計算之值。算法中只需設計三個位數容量相同的大數，而每8個位元組(Bytes)能表示大約21億以上，也就是大約10位數。FORTH系統的選址能力可以到達多少空間？計算過程就能存取到相同的程度。那麼十兆位數就需要三十兆乘以0.8的位元組量，能裝24T Bytes的記憶體，執行64位元為一單元選址能力的FORTH系統就能辦到。FORTH是能將類似硬碟之大批儲存媒體的實體記憶體，納入選址範圍的程式語言，這樣的FORTH系統可以設計得出來。我設計的ABC FORTH系統，全用FORTH高階指令設計，可隨基礎FORTH系統而轉殖，上列程式也就能繼續被執行。&lt;br /&gt;系統的選址能力而不是計算能力，成了解決這個問題的絕對關鍵。這也就是為什麼能算五兆位數Pi的人，沒有能夠得到學術地位的原因了。以學術方式，首先提出(1)或(3)式的人，才能獲得學術名聲，還有許多人提出過各種冪級數來算Pi，都寫成了論文，並證明提出的式子是一個恆等式，學術界以這種方式接受研究結果，也很合情合理，重點就在『恆等』而不僅只是『幾位數』。&lt;br /&gt;本文列出了實際程式與理論依據的數學式子，兩者間的對應，是直接的關係，不太需要解釋。計算Pi到小數點後面幾位數的問題，必須使用固定點算術來計算，而不可以使用浮點算術，因為浮點數表示的數字，離小數點愈遠的位數，就有愈多的棄用數字(De-normal number)，它的不精確數字表示方式，算不出精確的Pi。固定點數字還必須當作放大了等同位數的大整數來處理，才能得到運算後的正確絕對值，因此，設計程式時，想算幾位數？就得先行將那麼大的一個超級大整數先行準備好。例如：我們想算2500位數，就得準備一個2500位數的大整數，它代表一個10的2500次方的超大數字，再以它為根據來進行ATAN函數的計算，算得出來，就能得到正確的結果。&lt;br /&gt;上述程式，ATAN的累積演算結果，就存放在ATAN#內，演算過程中的暫存數字，放在W#中，要計算冪級數多少項？才會令暫存數字W#內已無數可算，是一個算了才知道結果的問題，因此，把W#算到0了，就表示計算位數到達了設定的位數了。算得的ATAN再經過(1)或(3)式的逐項累積計算，就能存進PAI1或PAI2，就能得到最終結果。&lt;br /&gt;隨著系統的不同，將W#算到0的計算次數會有所不同，我的系統統計數字如下：&lt;br /&gt;&lt;br /&gt;1/N     KK&lt;br /&gt;5      3581&lt;br /&gt;239 1057&lt;br /&gt;57 1429&lt;br /&gt;682 885&lt;br /&gt;12943 613&lt;br /&gt;&lt;br /&gt;換句話說，如果1/N=5，程式便計算了( 3581 - 1 ) / 2 = 1790項，才讓W# 等於0，也就是算到了 X^3851 / 3851這一項，W#的內容才消失成0。&lt;br /&gt;解釋到這裡，讀者應該明白，我們已經有了(1)式，為什麼還去發展出(3)式來的原因了。因為&lt;br /&gt;&lt;br /&gt;(1)式要計算&lt;br /&gt;( 3851 - 1 + 1057 -1 ) / 2 = 2453(次)&lt;br /&gt;(3)式要計算&lt;br /&gt;( 1429 - 1 + 1057 -1 + 885 - 1 + 613 - 1 ) / 2 = 1990(次)&lt;br /&gt;&lt;br /&gt;如果要求位數愈多，計算次數的差別就會愈來愈大，所以不要小看從德國人那裡得來的資料，(3)式有它存在的價值。&lt;br /&gt;還有，演算過程中使用了大量的除法，除到最後，免不了會有除不盡的捨位問題，計算次數愈多，捨位的可能次數就愈多，結果就造成了2500位數最後的幾位數不夠精確的問題。PAI1與PAI2的計算結果都有173與179的誤差，是算了幾千次累積出來的結果。uBASIC的誤差則為17013，uBASIC內的計算方式不得而知，顯然計算次數至少也是幾萬次，否則不會累積出這麼大的誤差。&lt;br /&gt;耗用記憶體與執行速度，均非現行電腦程式設計上必須嚴格考慮的問題，因此，我在設計程式時，2500位數就直接宣告2500 ALLOT，要求系統控留出2500個位元組(Bytes)的記憶體空間來，不去考慮可以乘以0.8以節省記憶體用量的問題。要等幾分鐘才能得到一萬位數的答案，大概是我個人可以容忍的時間耗用量，因此，我也把系統處理位數的設定，暫時固定在一萬位數，系統內就固定規劃了10008個位元組的印出數字緩衝區，不過，這些規矩純粹只是我的個人喜好設定，可以隨時修改。&lt;br /&gt;&lt;br /&gt;4. 討論&lt;br /&gt;&lt;br /&gt;上述簡單的說明，都只是針對求Pi到幾位數的問題而進行實測後的敘述，若非基於簡明的程式與輕易的操作性能，想體會出這些結果，並不容易。指令SUBATAN中，在150列後面新插入一列&lt;br /&gt;&lt;br /&gt;155 PRINT KK&lt;br /&gt;&lt;br /&gt;重新載入程式再執行，您就可以得到第3節中的分析數據。調整新的設定數據，也是輕而易舉、簡單、明白。這是我設計出這個大數計算系統的基本目標。&lt;br /&gt;我還有後續工作必須進行，就是為這樣的系統添加可有的常用函數，例如：大數的整數方次，或大數的開平方，其它類似一般整數運算所需要的函數已經建好了。待函數建立齊全之後，就能落定ABC FORTH數學計算系統的大數計算全套功能，算是系統性能的一大躍升。&lt;br /&gt;發展這個系統最大的難題，不在數學計算自身，因為源程式是先聖先賢的創作，為了完成我自己的要求，源程式不得不進行大肆修改，發展時，主要的困難出現在如何安排出恰當的大數輸入、輸出指令。&lt;br /&gt;上列程式中尚未顯示輸入功能，只顯示了一個名為I&gt;BIG的小整數轉換成大整數的指令。我下了很大的功夫，以自己設計的ABC FORTH系統追蹤出一些問題，發現如果僅藉助於S”………”標準指令來安排大數的輸入，系統文字輸入緩衝區，規劃了最多只能為&lt;b&gt;260個字數&lt;/b&gt;的限量，限制了輸入大數的可用數字量。直接輸入的數字，如果超過限制量，便無法正確轉換。因此，必須另行設計新的指令或新的格式來解決問題。大數的後面，必須配合另一個名為S&gt;BIG的指令，它可以根據任意指定位址作為起始位址，轉換出該位址以後任意位數的數字。目前，僅暫時使用S”………”標準指令設計一般程式。&lt;br /&gt;如果您嫌直接將大數寫在程式內太麻煩，而想把一個超大數字明明白白的儲存在純文字檔案中，例如就儲存了10K Bytes大約為一萬位數的數字，想要轉換進我的大數計算系統，一點問題都沒有，依靠S&gt;BIG指令就能完成。轉換的位數沒有上限，我估計，只要您單憑打字打得出來的數字，它都能辦得到。上列程式顯示了BIG.(Big dot，大數拓印)為數字的輸出指令，它的輸出上限，基本上暫定為10008位數，是為了避免輸出您我都看不完的位數而故意設定的，它也可以沒有上限。&lt;br /&gt;幾個典型的測試程式，就如下列，它們都是執行無誤的標準程式。&lt;br /&gt;&lt;br /&gt;\ 大數測試程式&lt;br /&gt;&lt;br /&gt;INTEGER I&lt;br /&gt;&lt;br /&gt;0 BIGVARIABLE A1 2504 ALLOT&lt;br /&gt;0 BIGVARIABLE B1  100 ALLOT&lt;br /&gt;0 BIGVARIABLE C1  100 ALLOT&lt;br /&gt;&lt;br /&gt;10 BIGVARIABLE BIG10&lt;br /&gt;0 BIGVARIABLE DD&lt;br /&gt;&lt;br /&gt;: TEST01 BASIC&lt;br /&gt;10 LET B{ A1 = S" 12,3456,7890,1234,5678,9012,3456,7890 " S&gt;BIG }B&lt;br /&gt;20 LET B{ B1 = S" 98,7654,3210,9876,5432,1098,7654,3210 " S&gt;BIG }B&lt;br /&gt;30 LET B{ C1 = A1 + B1 }B&lt;br /&gt;40 RUN CR&lt;br /&gt;50 PRINT " C1=A1+B1 and C1 = : "&lt;br /&gt;60 RUN C1 BIG.&lt;br /&gt;70 RUN CR CR&lt;br /&gt;80 END&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;: TEST02&lt;br /&gt;B{{ A1 = S" 3 " S&gt;BIG }}B&lt;br /&gt;B{{ B1 = S" 5 " S&gt;BIG }}B&lt;br /&gt;B{{ C1 = A1 * B1 }}B&lt;br /&gt;CR ." A1=3 , B1=5 , C1=A1*B1 , and C1 = : "&lt;br /&gt;C1 BIG.&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;: TEST03  BASIC&lt;br /&gt;10 LET B{ A1 = BIG0 }B&lt;br /&gt;20 IF B{ A1 = BIG0 }B THEN 60&lt;br /&gt;30 PRINT " A1&amp;lt;&gt;0 "&lt;br /&gt;40 GOTO 999&lt;br /&gt;60 PRINT " A1=0 "&lt;br /&gt;999 END&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;: TEST04 BASIC&lt;br /&gt;10 FOR I = 1 TO 10&lt;br /&gt;20 LET B{ DD = BIG0 + I&gt;BIG ( I ) }B&lt;br /&gt;30 RUN DD BIG.&lt;br /&gt;40 NEXT I&lt;br /&gt;50 END&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;系統還有其它許多功能，舉例而言，本文列示的程式，實際上不單只是求Pi到幾位數的功能而已，別忘了，程式中設計了ATAN函數，它就代表一個非常標準，能將ATAN函數精確值求到非常多位數的程式。&lt;b&gt;凡是可以寫成冪級數方式表示的任何函數，都可以依照本文中設計的基本方式設計出來，這種函數有無限多個。&lt;br /&gt;&lt;/b&gt;我曾經參與fig總會科學程式庫中一個公益程式的審核工作，程式希望將特殊函數之值，精確的計算到小數點後面十幾位數，該函數也能用冪級數展開式表示。那時，專注於原作者建議的多精度浮點計算系統的運用，自己尚未發展這一套大整數計算，所以是糊里糊塗的接受別人提供，以C程式語言寫成的的多精度浮點功能，根本不知道計算結果到底精不精確？或絕對精確到幾位數？現在自己設計出了這個大數計算系統，再度從事那樣的工作時，會有最好的比較依據了。&lt;br /&gt;&lt;b&gt;大整數計算的精確度，是可以辦得到絕對精確的，多精度浮點數系統則辦不到，這是兩者最大的差別所在。&lt;br /&gt;&lt;/b&gt;多年以前，我就曾經在eForth系統上設計過固定點數字計算系統，也實現了全套必要基本函數的設計，有過充足的設計經驗。現在，我如果還想硬幹，再設計一套小數點後面有一千位數精確度，小數點以上也有一千位數大數容納能力的固定點數字計算系統，絕非難事。&lt;b&gt;那些斤斤計較於小數點後面十幾位數還算不準的浮點計算問題，相形之下，就根本算不了什麼了。&lt;/b&gt;從執行這個算出2500位數Pi值的程式顯示，我的舊電腦所須耗用的時間，還在我可以容忍的範圍之內，因此，必要時，我會用這樣的固定點計算系統，去解釋別人的浮點計算結果精不精確？&lt;br /&gt;大學裡教我數值分析課程的王九龍老師，教過我們，二的一百次方(2^100)在程式中要改寫成下式：&lt;br /&gt;&lt;br /&gt;(((((2^2)^2)^5)^5)&lt;br /&gt;&lt;br /&gt;系統才會算得更準，為什麼？&lt;br /&gt;如果您手頭有科學用小型計算器，直接算算看，我所得到的答案如下：&lt;br /&gt;2^100 = 1.267650599E30&lt;br /&gt;(((((2^2)^2)^5)^5) = 1.2676506E30&lt;br /&gt;兩個答案確實有一點不一樣，那一個比較準？據說是後面算出來的這一個。現在，我有了我自己設計出來的大數計算系統，何不自己驗證？&lt;br /&gt;&lt;br /&gt;\ 精算2的100次方&lt;br /&gt;&lt;br /&gt;INTEGER I&lt;br /&gt;0 BIGVARIABLE A1&lt;br /&gt;1 BIGVARIABLE BIG1&lt;br /&gt;2 BIGVARIABLE BIG2&lt;br /&gt;&lt;br /&gt;: 2^100 BASIC&lt;br /&gt;10 LET B{ A1 = BIG1 }B&lt;br /&gt;20 FOR I = 1 TO 100&lt;br /&gt;30 LET B{ A1 = A1 * BIG2 }B&lt;br /&gt;40 NEXT I&lt;br /&gt;50 RUN CR CR&lt;br /&gt;60 PRINT " A1=: "&lt;br /&gt;70 RUN A1 BIG.&lt;br /&gt;80 END&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;執行2^100後顯示：&lt;br /&gt;&lt;br /&gt;A1=: &lt;br /&gt;31 digits &lt;br /&gt;1267650600228229401496703205376  ok&lt;br /&gt;&lt;br /&gt;我的系統可以明確的告訴您，那一個才比較準了，確實是後面那一個。不僅如此，我還能驗證系統內軟體或硬體的精確度，到達什麼程度？如果您勤快一點，就分別去開啟任何具有浮點數功能的FORTH系統，例如：Win32Forth的前後兩種版本V4.2與V6.14，然後執行下列指令&lt;br /&gt;&lt;br /&gt;30 SIGDIGITS !&lt;br /&gt;2E0 100E0 F** FE.&lt;br /&gt;&lt;br /&gt;您將得到浮點系統告訴您之2的100次方的答案，它們都來自於硬體的數學處理器(Co-processor)，再經軟體設計的輸出指令告訴您結果，V6.14版使用的是8 Bytes/Float，而V4.2版使用的是10 Bytes/Float，實際輸出結果如下：&lt;br /&gt;&lt;br /&gt;V6.14版：1.26765060022822944000000000000 E30&lt;br /&gt;V4.2版： 1.26765060022822940000000000000 E30&lt;br /&gt;絕對值   1267650600228229401496703205376&lt;br /&gt;&lt;br /&gt;您請自己看看上面列示的評鑑結果，不管您未來是幾位元的系統，或者是您很自以為是的使用現成邏輯閘(Logic gate)，燒製出了一顆能算出許多位元的數學處理器(Co-processor)，我現在就準備好了工具，能用來明確說出系統計算數字後的絕對精確程度。&lt;br /&gt;我也曾經公佈過將階乘( Factorial, ! )計算到一億階乘(100000000 !)的網文，用的是浮點數計算方式。現在，可以用大整數來算出非常大的精確答案了，這些指出來的功能，都能讓許多高等數學教科書的內容進行改寫。我不是數學家，但我設計出了研究這種問題所需要的最佳工具系統。&lt;br /&gt;完成的發展證明了我在『玄數』網文中的數字資料格式觀念是正確的，所以設計程式時，才能腦筋清楚的進行規劃。同樣的模式，可以運用在基因圖譜的運算系統發展上了。生物學我尚外行，基因圖譜該如何運算？得再讀不少書才能了解。但我知道，世上還沒有能用BASIC程式語言來設計基因圖譜比對運算程式的系統。我想設計一個輸入900個AGTC基因圖譜後，能自動到圖譜資料庫中，比對出資料的系統來。或者是進行兩套基因圖譜的比較後，獲得有百分之幾相同的數據。甚至於生物學家能夠告訴我的運算需求，我應該都設計得出來。&lt;br /&gt;我的研究發展確實是離一般群眾愈來愈遠，所以這些網文的讀者也會愈來愈少，但不管怎麼說，這些技術都還是一些有用的東西，已經寫出來公佈了，就放著吧。表面上，我的生活習慣看起來似乎很窮，使用32位元老掉牙的電腦發展系統，太落後了。大家都期盼著64位元的裝備普及起來，就有64位元的FORTH系統可用了，也許64位元的裝備確實能夠提供許多難以想像的電腦性能，但就數學計算而言，今天我所完成的ABC FORTH系統大數計算功能，已經突破了不僅只是64位元的整數範圍而已，沒有上限！而且可以『永遠』沒有上限！&lt;br /&gt;&lt;br /&gt;5. 附註：Pi的哲學&lt;br /&gt;&lt;br /&gt;四度空間中的超級球形體，其圓球面積推測應為直徑d的三次方乘以Pi。為什麼？直徑d的因次是長度，因此，這樣的描述就形同是：『球形體之面積上的體積是π*d^3』。哲學意味這麼濃厚的『面積上的體積』到底指的是什麼東西？這一篇附註，就來簡談這一項哲學問題。&lt;br /&gt;據說，哲學家蘇格拉底經常忍不住，想到大街上高談闊論他的哲學，每次出門時，他太太都氣得從二樓倒他一盆冷水，希望他腦袋清醒一點，不要成天不務正業，不顧家庭。因此，如果我打網文要涉及哲學時，也會看一看我太太的臉色，還好，她知道我有痛風的老毛病，只會強迫我按時喝水，不是往我頭上倒水。&lt;br /&gt;想說明哲理，就得強調需要很好的表達能力，否則就會胡說八道；自己也必須透徹了解談論的主題，否則隨後自己也會不知所云。對一般人而言，四度空間是一種形而上的東西，難以表達也難以理解。我在近代物理學中，學過愛因斯坦的相對論，開頭第一章就是四度空間的問題，所以能夠解釋這種形而上的物理現象。&lt;br /&gt;想把Charles H. Moore先生推測出來的四度空間球形體之面積計算方法搞清楚，就不得不從四度空間的觀念來探討問題。我們生活的這個世界，並不容易找到足供描述此一物理現象的模型或模式，來進行比擬式的解釋，難怪一般人就不容易了解四度空間的問題。&lt;br /&gt;我小的時候想過這個問題，腦海中也有一幅連貫的推理圖形，在學過相對論後才具體的成形，這樣的推論模式，便作為自己終身對四度空間問題的解釋工具。我先將說明圖示列示此處，再來解釋四度空間內的物理量，是如何計算出來的？然後對應到四度空間的球形物，大家就能夠明白，Charles H. Moore先生為什麼能夠推測出那種圓球面積是Pi乘上直徑d的3次方了。&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-LSYOgwK3MAM/Tg3Np1O1BhI/AAAAAAAAAig/0gSkGXaki-c/s1600/%25E6%2596%25B9%25E5%25BD%25A2%25E7%2589%25A9%25E7%259A%2584%25E7%2589%25A9%25E7%2590%2586%25E9%2587%258F.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="250" width="400" src="http://4.bp.blogspot.com/-LSYOgwK3MAM/Tg3Np1O1BhI/AAAAAAAAAig/0gSkGXaki-c/s400/%25E6%2596%25B9%25E5%25BD%25A2%25E7%2589%25A9%25E7%259A%2584%25E7%2589%25A9%25E7%2590%2586%25E9%2587%258F.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;圖一、各維度空間中『方形物』的物理量&lt;br /&gt;&lt;br /&gt;三度空間中的圖形有點、線、面、體，這是大家都熟悉的物理量表示方式，線對應到長度，面對應到面積，體對應到體積。四度空間內，我們必須增加一個維度的考慮量，以實例來解釋，例如：除了長寬高外，時間可以是第四個維度，或相對速度接近光速的另一個環境，那種相對速度環境就得表示成第四個維度，才能表示原來三度空間中的長寬高。&lt;br /&gt;圖一中的XYZ分別代表的就是長寬高，T就代表時間維度，相對速度接近光速的環境，就會使第四維度表示的時間維度隨之而變。相對論告訴我們，第四維度不同時，原來三度空間內的長寬高就會縮短或變長，或者就說成時間的長短有所不同。&lt;br /&gt;那麼，圖一最右邊的一個稱為『方泡』的圖示，就是用來表示這種物理現象用的。圖示中有兩個方形體，一大一小，小的方形體方方正正的被包在大的方形體中，它是表示對應於第四維度的兩個座標點處，應該顯示的方形體樣式。例如：相對運動速度較慢的方形體，它的尺寸應該是比較大的這一個方形體，一旦相對運動速度接近光速，長寬高都會縮短，方形體的尺寸就應該是比較小的那一個。&lt;br /&gt;透過這樣的實際圖形解釋，大家就容易體會出那個眼不能見的第四個時間維度了，簡述它的效果，就是會使長寬高脹或縮，如此而已。&lt;br /&gt;接下來，我們來計算這些東西的物理量，然後，才能根據前後連貫的推理去解釋Charles H. Moore先生推測的超級球面公式。根據這樣的圖示，我們也才能依樣畫葫蘆的繪出超級球形體，在四度空間內的球面應該如何表示？並對應到計算公式。&lt;br /&gt;點沒有物理量，就只是一個點，我們必須以數字單位元素中的1來代表，什麼東西都沒有才是0。線是長度，我在圖示中故意稱它為方線，以便有別於圓周線，方線的長度是1乘上X。面是面積，我故意稱它是方面，它的面積是1乘上長度X再乘上寬度Y。體就是體積，我故意稱它是方體，它的體積是1乘上長度X再乘上寬度Y再乘上高度Z。依次類推，四度空間的方形物，我賦予它名稱，叫作『方泡』，為什麼這樣命名？等一下再解釋。它的『泡積』就應該是1乘上X再乘上Y再乘上Z再乘上T。繼續擴大上去，五度空間就在那裡，太不容易表示了，所以我打了一個問號『？』。再往圖一中的最左邊看，那裡還有負維度的空間表示圖示，我們暫時沒有興趣，所以不再討論。&lt;br /&gt;現在可以展示各維度空間中的球形物之面積，應如何表示？的圖示了。如圖二所示：&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-BoZG3kMUTqk/Tg3N7Rj66lI/AAAAAAAAAio/Fg8uMRMjssA/s1600/%25E5%259C%2593%25E5%25BD%25A2%25E7%2589%25A9%25E9%259D%25A2%25E7%25A9%258D.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="250" width="400" src="http://3.bp.blogspot.com/-BoZG3kMUTqk/Tg3N7Rj66lI/AAAAAAAAAio/Fg8uMRMjssA/s400/%25E5%259C%2593%25E5%25BD%25A2%25E7%2589%25A9%25E9%259D%25A2%25E7%25A9%258D.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;圖二、『球形物』之面積&lt;br /&gt;&lt;br /&gt;我們再度依序推理，以便獲得合理的面積計算公式。圓點是沒有面積的，但它應該與前述的方點有所不同，所以，它的起始計量方式就不應該是1，而應該是1乘上Pi。圓點演變成了圓圈，它對應出來的長度稱為圓周，圓周長的計算公式是1乘上Pi再乘上d。繼續演變成3度空間的球形體時，球面的面積計算公式是1乘上Pi再乘上d再乘上d。那麼，在四度空間中表現出來的圓球形物，我賦予它名稱『圓泡』，『圓泡積』就是Charles H. Moore先生所稱的四度空間內超級球形體的面積，按上述推理，當然應該就是1乘上Pi再乘上d再乘上d再乘上d。&lt;br /&gt;現在，大家明白整件事情從頭到尾的類比推理過程了吧？這就是一種哲學上推論的方式，我們還能推下去：&lt;br /&gt;&lt;br /&gt;五度空間內的更超級球面積是1*Pi*d^4。&lt;br /&gt;N度空間內的非常超級球面積是1*Pi*d^(N-1)。&lt;br /&gt;&lt;br /&gt;Charles H. Moore先生是我們大家的FORTH老師，我們都是他的學生。&lt;br /&gt;1200多年前，唐朝文學家韓愈(西元768~824年)河南河陽縣(今孟縣)人，曾任官至吏部侍郎(吏部掌管全國官吏人事，首長稱尚書，下設左、右侍郎)，在『師說』一文中有句名言：『師者，所以傳道、授業、解惑也。』。&lt;br /&gt;我則延伸韓愈的名言，跟著說：『生者，所以道傳、業受、惑解也。』&lt;br /&gt;&lt;br /&gt;最後，解釋一下我為什麼採用『方泡』、『圓泡』來命名？&lt;br /&gt;如果您有機會跌落到太平洋裡面的馬里亞納海溝(Mariana Trench)最深的溝底，深度約11000公尺(沒有人能夠量得絕對準確，想號稱最準，我也未必相信。因為沒有人能讓他的測量值可以一再重覆，就違反嚴謹的科學定義。堅持只測了一次的數據，還號稱最準，就叫作吹牛，有不少人喜歡幹這種事情，僅測一次的結果，通常僅具參考價值，非絕對值，Wiki百科上刊了一大堆，千萬不要隨便引用，引用了就成笑話，本文此處就暫時使用11000公尺解釋問題，沒有甚麼不好)，然後從那裡放出一個氣泡(非常困難，等同於大約有一萬一千公斤以上的海水壓力，壓著您放不出氣泡)，這個氣泡就會一直往上竄升到海面上來，氣泡會不斷地因為海水壓力的降低而愈變愈大，它整個變化的過程，就形同是四度空間內的球形物；它的面積連續變化的過程，就像是面積連續變化累積成了體積，學術上的形容，就是具有厚度的面積，厚度還跟它最後浮上水面時的直徑d直接相關。您現在知道我為什麼採用『方泡』、『圓泡』作為名稱的原因了吧？這種面積就叫作『泡積』。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1097161848825759583-3608213103175241826?l=forthfortnight.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://forthfortnight.blogspot.com/feeds/3608213103175241826/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1097161848825759583&amp;postID=3608213103175241826' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/3608213103175241826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/3608213103175241826'/><link rel='alternate' type='text/html' href='http://forthfortnight.blogspot.com/2011/07/abc-forth.html' title='ABC FORTH的新發展'/><author><name>Chings World</name><uri>http://www.blogger.com/profile/15191167870271612229</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_AchTsJsrvZw/STdFzdxFJaI/AAAAAAAAAAM/ZR_kphZVVHQ/S220/PC040006.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-LSYOgwK3MAM/Tg3Np1O1BhI/AAAAAAAAAig/0gSkGXaki-c/s72-c/%25E6%2596%25B9%25E5%25BD%25A2%25E7%2589%25A9%25E7%259A%2584%25E7%2589%25A9%25E7%2590%2586%25E9%2587%258F.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1097161848825759583.post-8921002531136007961</id><published>2011-06-15T15:10:00.001-07:00</published><updated>2011-06-15T15:10:21.849-07:00</updated><title type='text'>會講話的程式語言</title><content type='html'>曾慶潭2011-06-16於紐西蘭&lt;br /&gt;Ching-Tang Tseng&lt;br /&gt;ilikeforth@gmail.com&lt;br /&gt;http://forthfortnight.blogspot.com&lt;br /&gt;&lt;br /&gt;    這幾年，我在FORTH程式語言方面，長期努力出來的一些成果，都不是很能被大家接受的東西。我也體會到這個程式語言日趨沒落的下場，它本就不易流行，更何況鋒芒已過，處境一年不如一年。&lt;br /&gt;新近電腦技術的發展環境是封閉的，FORTH元老不滿於被要求『跟著用』的方式設計程式或系統，紛紛走避老同好的要求，不願浪費自己的生命，讀那些不能增長技術的程式呼叫參考手冊，改而享受自己的人生，不搞FORTH了。從這個程式語言的發明人，首先開始講：『要這樣搞，我就不搞了』這句話起，過了十幾年，現已有無數的好手跟進，國際網路論壇若偶見他們發言，也是一句『多年不用FORTH了』的答覆。 &lt;br /&gt;我自知沒有必要力挽狂瀾，應該面對現實，所以念頭也從還想推廣，跌落到順其自然，再跌落到自己玩玩就算了。趨勢雖不是天道，形勢就是比人強，流行一定蓋過不流行，東西再好，也只能好在自己，就是沒人真心想要。&lt;br /&gt;即使日趨沒落，FORTH還有利用價值，不少人喜歡拿它特有而別人沒有的術語，在社會上招搖，聽者不易反駁，因為沒有人能夠再用FORTH證明任何脫口而出的性能，所以也不用管它是否能被證明？可以隨便地講。這種事情，單純的只是一聽一講，應該都無所謂，不就是討論、聊天嘛？我自己則深知情況，喊出一個術語，要忙好久才能略有收穫。經常發生的，卻是百思均不得其解，封閉發展環境的雷池，難越任何一步。&lt;br /&gt;設計出來的東西沒人想用，看來非常正常，我應坦然面對。現在所能做的，大概就僅剩設計完成的東西是用滑鼠點兩點就可用的產品了。我曾經想為弱勢團體盡一點心力，想要設計一個會講話的程式語言：『啟明FORTH』，免費供給視障同胞使用，發展的歷史與下場，就如上述。發展不出來，不能怪任何人，因為就像是愚公在移山，我卻在搬海。&lt;br /&gt;有老朋友記得我三十年前就在APPLE II上搞過這種東西，教我女兒講話，那時純粹只是好玩，沒有考慮別人。那個年頭，能讓那種電腦講人話，是很值得稱道的事情，原始的程式是好友徐欣志提供的，我們都沒去想到視障同胞。三年前，我開始搞地震早期警報監測系統研究，以超低聲頻為依據，要碰聲音。同時，我見到這裡的視障作家，使用品質低劣的有聲電腦打文章，才觸動了我的感覺，於是，又再開始下手發展。&lt;br /&gt;夜深人靜時，我自己模擬過視障者的心理，回憶起APPLE II上的CALL -151真好，那是進入ROM BIOS裡面游走程式的起點，裡面的東西我們都熟得不得了，來去自如。如果電腦還是那樣，視障同胞就也能夠在電腦的技術領域與我平起平坐。曾幾何時？不能打字了，要用滑鼠，只有視窗。&lt;br /&gt;讀者讀到這裡，心中可能要開始懷疑我這個糟老頭，怎麼老而糊塗到與世界發展背道而馳？且慢，先不要這樣想，我是在為視障同胞著想。&lt;br /&gt;視障同胞也能讀到『彩虹真美麗』的形容辭句，我請教過視障同胞對這句話的感受，他告訴我：『雨過天晴後，這個世界確實比較清新，嗅得到，大概就是您們形容美麗帶來的效果』。我聽了真難過，不該與視障同胞談彩虹，連顏色都不該談，太傷他的心了，尤其是曾經與一個原本正常，後來視力全無的朋友聊天時，我更是戰戰兢兢。&lt;br /&gt;微軟為全世界開了視窗，人人感到過癮，花花綠綠的世界全上了電腦。我們的程式好手，套用別人新開發出來的彩色透明處理程式，就得意的不得了，到處展示，3D更是不在話下，我陪搞出能夠執行程式的同好高興，但時間很短暫。晚上夜深人靜時，我再度為視障同胞難過，他們心裡完全沒有視窗。&lt;br /&gt;有時，我也會趁著家人熟睡不受影響之際，使用搜索引擎，輸入最惡劣、變態的色情句子，逛色情網頁，體會色情之最。您看那些不堪入目的內容，怎能不加速搞亂我們生活的世界？回頭專心思考設計視障同胞能用的程式語言系統之事，應該如何發展？結果，閉上眼睛，卻只體會到視障同胞不受污染的心靈，他們不逛色情網頁，是弱勢團體，弱到不做壞事。&lt;br /&gt;世界發展不顧視障者，視窗對視障者無用，害得我設計系統啟動的方式都遇到困難。我閉上眼睛，能夠打得出CALL -151，能聽得到自己有沒有打錯任何一個鍵？我想與視障同胞平起平坐，因此，懷舊沒有錯。&lt;br /&gt;資本主義只講功利與搜括，從付費信用卡開始，先括走5%，電話線路月租費，網路連線月用費，長期括走每個月大約兩千台幣，ixx又來了，它形同小雲端，又是一筆開銷，以後會擴大，我們的政府說：『都是商機』，但小老百姓必須付出的代價愈來愈多，錢都付給大資本家，否則您就落後。弱勢團體賺錢的本領本就薄弱，相對於我們，他們將來會離這些東西愈來愈遠。&lt;br /&gt;程式設計累了，關機閉目養神，搖椅上休息一下，我就想去選總統，選上了不怕別人暗殺，解散警衛，成立視障同胞護衛隊，立法保護他們，以後還敢欺負視障同胞的人，加重其刑。其實，我自己能力也很薄弱，只能設計能講話的程式語言，用來幫助視障同胞。但我與視障同胞一樣，受難的人那有悲觀的權力？於是想到應該自己努力站起來！能講話的程式語言，就是能夠幫助視障同胞站起來的工具，能讓您用來學習、設計、寫作、溝通、享受…，也許也能用來賺一點錢。&lt;br /&gt;能講話的程式語言可以設計得出來，前面的網文，簡單的強調要『講人話，唸文章，配合視障操作而反應』，我已經實現過了，但沒有人欣賞，我坦然面對這樣的結果。這一陣子有朋友來訪，我隨便展示一下，也許他們慣於誇獎朋友吧，我聽了興起，於是又拿出來加強功能性的設計。&lt;br /&gt;程式語言與人類之間的溝通，不外乎輸出與輸入。我有閒錢時，曾經買過語音輸入系統，試用後才發現，要把房門關死，先做用前語音識別安裝測試，花了不少錢，也耗了不少時間，結果可用率低到無法接受，連配售的麥克風，品質也低劣到一折就斷，斷過兩套，屍體還在。因此，我深知目前語音識別輸入功能的發展，很不實際，距離理想還遠，發展這種技術，並非我力所能及，不要隨便在社會上高談闊論而獻醜。&lt;br /&gt;單純的只要求程式語言能夠輸出語音，並不困難，我也早已完成過設計了。但要程式語言能夠輸出程式執行後所得結果的變化性語音，就不是那麼簡單了。這就是我在前面提到的：喊出一個術語，輕而易舉，做下去，您才知道問題出在那裡？&lt;br /&gt;如果輸出還是只有單純的話語，程式也很容易辦到輸出希望中的組合語句，透過邏輯判斷後的分支就能完成，程式只需設計成合理的模組，互相配合就行。我在發展的過程中，發現了嚴重的問題，想將計算出來的數字插入語句，不是直截了當可以寫成程式的。這一點功能，若不能妥善解決，就算不上是能講話的程式語言。&lt;br /&gt;苦思良久，結果設計出了具有相當規模的程式，問題才獲得解決。數字有很多種，整數、小數、浮點數…等都須要考慮，為了配合文字，程式執行結果打算輸出時，就不能採取就地解決掉資料的方式來進行輸出。比較妥善的作法就是另開一個看不到的終端機緩衝區，將資料送到那裡去集中處理。&lt;br /&gt;這樣的系統規劃方式，程式的內容就等同於另外設計一個編輯器了。曾經自行設計過編輯器的同好，知道程式的起碼規模，我在那裡花費了不少時間，最後設計出來了。&lt;br /&gt;數字要移到新的終端機緩衝區去，與匹配文字正確的組合在一起，才容易處理出完整語音輸出的效果。原來的文、數字資訊，也還要在原來的螢幕上顯現結果。因此，會同時有語音與螢幕的輸出，是兩套並行的輸出設計。試用時還發現，聽力想配合視力時，視覺暫留的效果，時間必須長一點，等同於自己先看了螢幕，等一秒後才聽到聲音，才聽得清楚。換句話說，如果大家都用有聲電腦來設計程式，我的速度是不如視障同胞的，我雖有正常的視力，在視障同胞面前，一點都不夠格得意。&lt;br /&gt;為了設計這些程式，我仍採用許多先聖先賢的程式，數量很多。要把數字傳送到指定位址的規格指令，是一個大程式。類似於編輯器的規劃設計，又是一個大程式。想唸整篇文章的功能，要動用到檔案傳輸協定來設計，也是一個大程式。一堆方便的測試指令，又形成一類程式。為了要將功能添加進我設計的ABC FORTH數學計算系統，也形成另一堆程式。用上了這麼多的程式，才讓這個系統勉強稱得上是『會講話的程式語言』了。&lt;br /&gt;FORTH系統中的指令，很容易賦予適當名稱，這是拿FORTH來設計出能講話程式語言的優勢所在；但FORTH程式語言用了許多符號當指令，這又是拿它來當會講話的程式語言之劣勢所在。問題不是不能解決，只要將來多關心一點視障同胞，就能辦到。我不愛視窗，沒試過觸控，也許那邊有一點好心的設計。&lt;br /&gt;我自知，即使如此，距離能幫視障同胞設計出完整規格的程式語言系統還相當遙遠，我上網讀教育學家發表的論文與論述，知道視障同胞最難讀得的資訊是圖形資料，那怕是一個最簡單的三角形圖形，話語都難以描述得清楚。但我也產生了靈感，我設計過不少數學計算程式所需要的繪圖程式，我知道一些：想繪出理想圖形時，必須提供給繪圖程式的基本要素。因此，有一天，我會將這些要素整理出來，也許就能促成自創的一套，視障同胞派得上用場之圖形描述語言。FORTH程式由指令統一組成新指令的方式，也對這種設計哲理大有幫助。&lt;br /&gt;會講話的程式語言，對大家來說，可能根本沒有意義，但我不覺得如此。反正大家已經覺得FORTH沒有用了，我也已坦然面對這個趨勢，大家說它沒有用就沒有用吧，老手都明白此事，不願再費唇舌。&lt;br /&gt;『啟明FORTH』也許是一個永遠設計不出來的東西，甚至於設計好了，對視障同胞而言，也是個廢物。但因為要設計這樣的系統，能讓我為視障同胞設想一些事情，就能得到一些心靈上的愉快，顯現出FORTH的剩餘價值。至少，我單拿他能唸英文文章這一項功能，交給台東的原住民同胞使用，必能派上用場，能讓原住民未來的英文使用能力，會比你我都好。&lt;br /&gt;發展我自己的構想，確實很需要一點錢，才能使用較好的硬體設備，我原本想寫書賣了換錢，籌一點經費。看到FORTH最終的下場就是這樣，我看還是算了，我自己買我自己的一本，充當發展基金就夠了。書不會有人要的，硬要投資印書，搞不好還弄得血本無歸，想買硬體的打算，反而愈來愈遠。&lt;br /&gt;我看到新聞報導，政府一出手就是五十億，搞個大約只有幾秒鐘提前預警效果的『媽祖』計劃。此前不裝『媽祖』設備，光用傳統偵測儀，不就早已能夠提前幾秒了嗎？系統上也看不出增設了那一項極有意義的測量元件，那五十億豈不是白花的？如果凍結兩年存在銀行，光那些利息，就夠我來回搞好幾筆研究了，就算我若失敗了，五十億本金也還可以還給政府啊！&lt;br /&gt;見到這些現象，坦然面對吧。網文貼了幾年，實做也做了幾年，誰在乎呢？每當我聽到親友介紹啟明學校的視障小幼苗，他們自知視障沒有好的未來，經常令家人陷入愁雲慘霧，從小就爹不疼、娘不愛的過日子，反而愈加堅定自己發展能講話的程式語言之信念。&lt;br /&gt;希望有一天，我可以告訴他們，沒有關係，啟明FORTH可以帶你們勇敢的站起來，你我都要有骨氣一點，莫管誰來嘲笑，我繼續搞我的FORTH，你們儘管用，隨時用啟明FORTH告訴我FORTH的缺點。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1097161848825759583-8921002531136007961?l=forthfortnight.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://forthfortnight.blogspot.com/feeds/8921002531136007961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1097161848825759583&amp;postID=8921002531136007961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/8921002531136007961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/8921002531136007961'/><link rel='alternate' type='text/html' href='http://forthfortnight.blogspot.com/2011/06/blog-post.html' title='會講話的程式語言'/><author><name>Chings World</name><uri>http://www.blogger.com/profile/15191167870271612229</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_AchTsJsrvZw/STdFzdxFJaI/AAAAAAAAAAM/ZR_kphZVVHQ/S220/PC040006.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1097161848825759583.post-2194767331820719215</id><published>2011-05-15T13:21:00.000-07:00</published><updated>2011-10-12T14:55:11.741-07:00</updated><title type='text'>ABC FORTH系統通告彙編</title><content type='html'>ABC FORTH系統通告(之一)2011-4-7&lt;br /&gt;&lt;br /&gt;全體FORTH同好，大家好：&lt;br /&gt;&lt;br /&gt;金城不斷言及FORTH發展情況，是好事，我也非常感激他的關心，但他實在把事情講嚴重了，我就不得不好好的寫這封信通知大家。&lt;br /&gt;&lt;br /&gt;我的生活品質可能比大多數的同胞要好，但不必比誰的財產多，請了解我為人處事的態度，也許『新生活運動』一文能告訴大家，我是如何過生活的？大家請不要看我老是那麼『寒酸』，就想辦法捐東西給我，我實在是心領了，感謝萬分，但在我已經同時使用八台電腦發展程式的狀況下，我不該再接受任何的捐贈了，再次萬分感謝。&lt;br /&gt;&lt;br /&gt;我也不想用『ABC FORTH使用說明』來賺錢，賣到底，最多也只有幾萬台幣，我非常清楚，但不能不要錢的印書奉送大家，因我辦不到。那200元台幣只夠來讓大家誠心誠意的使用這個系統，我不會用這種錢來做其他事情，積存夠了，我就買超低聲頻探頭，再找朋友幫忙發展硬體，不改變我的宗旨，繼續研究地震。&lt;br /&gt;&lt;br /&gt;我文章內提到的社會資源，不是大家的買書錢，指的是正式的國家研究經費，或各種各類的研究發展基金、獎金，我也不肯在研發時受制於人，絕不為五斗米折腰，所以不談那些資源也罷。也許，那一天社會制度改善了，能獲得一些資源，到時我都還想分黃大一一點錢，幫他搞也是無利可圖的恐龍研究，但這些事都與大家無關。&lt;br /&gt;&lt;br /&gt;有關的事是大家支持我的創作，我當然會負起永遠的責任，繼續發展系統，系統永遠是公益免費軟體，您不需要跟任何人買，只要您有書，您就有永遠的權力，來信要求我，提供發展出來的ABC FORTH，此事已實施很久了，我未爽約過。&lt;br /&gt;&lt;br /&gt;系統被刻意的固定了，原因有三：&lt;br /&gt;一是如此才能穩定，不會被亂改而影響我日後的發展。&lt;br /&gt;二是如此才能見到大家的使用誠意，也才值得將真正的技術傳給大家。&lt;br /&gt;三是我不希望有人拿它來賺錢，因為它的基礎都是不要錢的公益軟體。&lt;br /&gt;&lt;br /&gt;目前，不要談我如何達到保護目的之技術，以後可以教大家，但為師者也應該牢記『不教惡徒』，否則日後社會上到處都是駭客與病毒、無禮與亂來，您若教過這種人任何技術，您就是也曾經為害過社會，而且後悔莫及，因為您再罵他，他卻再也不理您了，搞不好還被回罵，何苦自取此辱！&lt;br /&gt;&lt;br /&gt;想學真技術的人，首先就該要求自己的德性要好，我這麼基本的要求，一點都沒有錯，我的老師丁陳與王九龍德性都非常高超，只有他們有資格罵我教人技術還這麼霸道，對或者是不對？&lt;br /&gt;&lt;br /&gt;今天，台灣的社會好人比惡人多，但卻是惡人當道，為什麼？因為惡人容易勾結成幫派，好人全是一盤散沙，多數的好人卻很容易被少數的惡人擊倒。我不希望我所關心的這個中華民國FORTH語言協會也是這樣，所以我要勸大家，好人全面團結起來，聯合抵制惡人，這樣才能永遠有真技術在這裡流傳，以後，協會也才能作為整個社會的好榜樣，對整個世界都有利。&lt;br /&gt;&lt;br /&gt;見到大家肯支持了，我就願意回頭增改Win32ForthV4.2版的ABC FORTH數學計算系統，使其也具有新增的功能，改妥後，我會在我的個人網頁上通知大家來信索取。所有購買過使用說明者的名單，我會手抄記錄建立資料，沒有使用說明的同好，請不要索取，因為，您任意使用，只會帶來抱怨，全世界的程式語言都有規矩，也沒有那一個人的系統夠資格說它就是真理。我的版本都有編號，聯絡時就便於引用。我的網頁上會有永遠的售後服務，這個世界已經很少人願意像我這樣服務社會了。&lt;br /&gt;&lt;br /&gt;系統內的程式編輯器，請統一使用Tom Zimmer捐贈的WinEd，不要用其他的編輯器，因為只有WinEd考慮了非英文的問題。新時代的系統操作方法，強調使用滑鼠，包括載入程式(Loading FORTH file)，所以，我現在大量使用中文當檔案名稱，載入程式時不用打字，發展程式時加快許多。還有許多經驗細節，我打算寫成另外一本書來交待，書中一定提供永遠可以使用而且有價值的應用程式，目前已經累積不少了，但需要時間來整理，大家好好用吧。&lt;br /&gt;&lt;br /&gt;我覺得協會裡許多人的功力都遠高於我，不需要我在這裡炒酸菜，所以我也很少發言，最近是回金城的信多才會不斷發言。今年回台時，我想去台東教偏遠地區的弱勢族群，自己先行準備很弱小的人就能操作的很有用FORTH。大陸地區的服務我缺乏概念，因此暫不考慮將ABC FORTH推廣進大陸，也許有掌控能力的大陸同胞能協助我達到目的，此事待確定以後再說吧。&lt;br /&gt;&lt;br /&gt;曾慶潭自紐西蘭發音&lt;br /&gt;&lt;br /&gt;****************************************&lt;br /&gt;&lt;br /&gt;ABC FORTH系統通告(之二)2011-4-10&lt;br /&gt;&lt;br /&gt;敬告ABC FORTH系統的使用者：&lt;br /&gt;&lt;br /&gt;前曾通知V6.14版的複數處理程式會有問題，經過兩天的研究，初步發現問題是源自於V6.14版系統自身，而非由本人增建程式部份產生的問題，這樣的問題對我而言，想處理妥當，確實比較困難，需要一點時間。至於一般浮點數而非複數的範疇，則全無問題，可以放心使用。&lt;br /&gt;&lt;br /&gt;目前的狀況為：複數程式硬要由程式中送進複數數值時，程式只能執行一次，且可以得到應有的正確答案。但送進複數的部份，會是一個『自殺指令』，執行過後，就自毀執行內容，因此而讓凡想再用到此指令的程式，都跟著失效，造成程式只能執行一次的現象。V4.2版的ABC FORTH沒有這種問題，只有V6.14版的才會如此。&lt;br /&gt;&lt;br /&gt;我在網文中介紹過V6.14版的問題，接手發展的人大肆修改V4.2版的原始結構，該V6.14系統，有三個堆疊，三個指令字典區，大部份添加功能，主要靠使用者無法追蹤到底的動態連結檔案程式.dll來完成。後來的這批發展者，可能想將系統發展成必須賣錢的規格，才會這樣改系統。因為這幾天已經有人發難，要付原設計人Tom Zimmer權力金來賣附加設計，但被Tom Zimmer客氣的拒絕了，回絕的理由是：『希望大家站在巨人的肩膀上發展，不要踩在巨人的腳指頭上搞名堂』。這句話還留在最近的網頁上。&lt;br /&gt;&lt;br /&gt;我堅持只為公益自由軟體系統寫程式，商售系統本就應該為特殊的技術付出懲罰性代價，不能老想到公開論壇偷學技術去賺錢。如果V6.14版的走向不改變，將來就應該以對待商售系統的態度來對待它，別人想如何附和？我無權置喙，但我會永遠保持這樣的態度推廣FORTH。&lt;br /&gt;&lt;br /&gt;專門討論V6.14那種網站的論壇，我從不去回應，我見到不少台灣同好在那邊發言，基本上，我都見不到獲益的內容。許多那個論壇內有關V6.14的問題，我都有自己的答案，但不必公開，因為我也不想為虎作倀。他們要賣錢，您想用，就請找他們買。我努力工作的對象，是公益軟體，與他們無關，更不可能提供想成為商售軟體的系統，任何免費技術了。&lt;br /&gt;&lt;br /&gt;看來，還是我們金城尊稱的figTaiwan最好，大家都努力貢獻。&lt;br /&gt;&lt;br /&gt;舉簡單例子解釋問題的狀況如下：&lt;br /&gt;&lt;br /&gt;complex z1 ok&lt;br /&gt;complex z2 ok&lt;br /&gt;: putz {[ z1 = 6 + 3 i ]} {[ z2 = 1 - 2 i ]} ; ok&lt;br /&gt;address-of z1 z@ z. 2.212597897E-317 + 0.000000000E0 i ok&lt;br /&gt;putz ok (注意！此後就再也不能執行這個指令了)&lt;br /&gt;address-of z1 z@ z. 6.000000000E0 + 3.000000000E0 i ok&lt;br /&gt;address-of z2 z@ z. 1.000000000E0 - 2.000000000E0 i ok&lt;br /&gt;: doit {[ z1 = z1 + z2 ]} z1 z. ; ok&lt;br /&gt;doit 7.000000000E0 + 1.000000000E0 i ok&lt;br /&gt;doit 8.000000000E0 - 1.000000000E0 i ok&lt;br /&gt;see doit &lt;br /&gt;: DOIT lit "0x4455A0" lit "0x4455A0" Z@ lit "0x4455B8" Z@ + = lit "0x4455A0" Z@ Z. ; ok &lt;br /&gt;(除了putz不能用see來看外，其他程式都不會有問題)&lt;br /&gt;&lt;br /&gt;上列程式都能以直接輸入的方式來執行，但是putz執行過一次之後，就別再去碰它，否則系統會告訴您它不能被執行了。所以我稱它是一個自殺式的程式，V6.14的系統會將我設計的程式碼造成雙執行現象，正式設計的部份照常執行，隱性病態的部份就執行自殺。還好只是自殺，如果它殺，還殺到系統外面去的話，就成了惡性病毒，而且，此系統的追蹤程式，根本完全看不出被雙執行的現象，也就是殺人不留痕跡，您若不信，自己用DEBUG putz多看幾次就能明白，系統不顯示任何殺人的訊息，DUMP指令則可以協助破案，比對出來。以後我會追蹤出問題所在，看他們是怎麼處理我所設計的程式碼？&lt;br /&gt;&lt;br /&gt;標準的FORTH系統是不會造成這種結果的，我的程式已經在許多正式公益系統上試過，均無此問題，只有V6.14的Win32Forth系統才如此，追蹤時追到了.dll的碼就追不下去了，所以系統難改，指令被雙執行的潛伏設計，大概就在.dll內。上列完全一樣的程式，可以在V4.2版的ABC FORTH系統中重試一遍，您就更容易明白。&lt;br /&gt;&lt;br /&gt;目前出現了這種情況，我暫時只能建議使用者稍待，我先增建V4.2全部的新功能，讓數學計算程式有固定良好的歸宿，回頭再處理V6.14這個搞怪系統。提醒大家！浮點數在V4.2中使用硬體計算器上的全10個bytes來表示，V6.14則抄襲商售軟體的8個bytes。事實上這兩個版本就形同是兩個完全不同的系統，V6.14是架在V4.2的INTERPRET上，再自建一層INTERPRET產生的，連指令基本結構也完全不同，使用時請自己小心。&lt;br /&gt;&lt;br /&gt;ABC FORTH系統作者 曾慶潭於紐西蘭&lt;br /&gt;&lt;br /&gt;****************************************&lt;br /&gt;&lt;br /&gt;ABC FORTH系統通告(之三)2011-4-11&lt;br /&gt;&lt;br /&gt;敬告ABC FORTH系統的使用者：&lt;br /&gt;&lt;br /&gt;我已經忘了那一篇網文中曾經提過，遇到嚴重的FORTH系統問題，我一思考對策，就得耗掉三天，這次果真不錯，又耗了我三天，想出克服Win32ForthV6.14不能順利執行我的ABC FORTH系統的解決辦法了。&lt;br /&gt;&lt;br /&gt;解決辦法說來話長，基本上是找出了系統將我的程式碼進行雙執行現象的位置，然後大胆的修改系統的核心程式，硬插入DROP指令，將系統取我之碼棄除，這個踩在巨人腳指頭上搞名堂的系統就能用了。系統不執行我的ABC FORTH系統時，我仍將插入之DROP去除，令系統恢復成原樣，至於執行別人的程式，如果也會出現同樣的問題，則不是我的責任。&lt;br /&gt;&lt;br /&gt;昨晚深夜已試成了ABC FORTH-635的版本，太晚了，沒有將其固定下來，待我落實系統後，便會通知大家來信索取。&lt;br /&gt;&lt;br /&gt;另外，我最近設計關於複數運算的程式時，發覺原只提供的R&amp;gt;Z指令太精簡了。複數處理程式，除了常有需要將浮點數轉換進複數的實數部份外，也常需要將浮點數轉換進複數的虛數部份。因此，以後的新系統，應該分別提供R&amp;gt;ZR與R&amp;gt;ZI兩個指令，取消R&amp;gt;Z單一指令，方便於複數處理程式的設計。&lt;br /&gt;&lt;br /&gt;原本大家都不想用我的ABC FORTH系統，我可以自由自在的自己玩，現在，使用者多了，我便應該主動負起責任，長期維護這個系統的存在。請大家注意，我設計的ABC FORTH系統，都是站在巨人的肩膀上發展出來的，原來的基礎系統我都盡量避免破壞，所以，每當您啟動ABC FORTH系統時，您也可以無視於我增建部份的存在，原系統功能完全沒有絲毫影響，所有改變原系統功能的新指令，執行完畢後，都會將原系統功能完全恢復成原始狀態，這是我的程式設計修養。我在後來累積之應用程式設計中，也開始採用這樣的精神設計程式，例如：新完成的繪圖程式，就完全不改原始的WINDEMO.F設計內容，一樣可以達到妥善運用WINDEMO.F來繪圖的目的，這樣就更能表示我對所有FORTH界巨人的尊敬，這種精神對FORTH技術的傳承很有幫助。&lt;br /&gt;&lt;br /&gt;這個中華民國FORTH語言協會共同認可的論壇，適合各個系統的創作者，大方的來此通告新版訊息，國際知名網站的格調也是如此。因此，以後針對ABC FORTH系統的通知，我會盡量來此處發佈，自己則將文件建案歸檔，如果這個網站出了問題，最起碼還有我自己的個人網頁足以支持。有關於ABC FORTH系統的訊息，因此開始編號發佈，這一篇是第三篇了。&lt;br /&gt;&lt;br /&gt;ABC FORTH系統作者 曾慶潭於紐西蘭&lt;br /&gt;&lt;br /&gt;****************************************&lt;br /&gt;&lt;br /&gt;ABC FORTH系統通告(之四) 2011-4-11&lt;br /&gt;&lt;br /&gt;敬告ABC FORTH系統的使用者：&lt;br /&gt;&lt;br /&gt;我剛完成ABC635FORTH系統的落定工作，已有使用說明書者可以開始來函索取。還是永遠的原則，不出售、不公開、不中止發展。&lt;br /&gt;&lt;br /&gt;由於email信件可以傳送的檔案，不得為.exe式的可執行檔，因此，我在傳送之前均將其檔名修改成.txt的文字檔以騙過系統。&lt;br /&gt;&lt;br /&gt;使用者收到郵件後，請不要編改其內容！也勿試圖直接執行！&lt;br /&gt;&lt;br /&gt;請先將其置入Win32ForthV6.14原來的資料夾內，然後再設法將檔案名稱還原成.exe的可執行檔，方法有很多種，您也可以直接闖入系統命令提示字元類似DOS的操作環境，使用rename ABC635.txt ABC635.exe的操作命令來完成，還有問題，請就近請教陳爽大哥或鄧淵元老弟來解決問題。&lt;br /&gt;&lt;br /&gt;想試試看系統是否正常了？就執行通告(之三)中的例子，便能驗證。同時宣告，ABC634版的FORTH系統從此永遠廢棄，也請使用者勿以此系統討論問題，以免橫生枝節，謝謝大家的愛用。&lt;br /&gt;&lt;br /&gt;這幾天我該準備下一篇網文了，除了回信傳送這一個ABC635FORTH系統外，我可能無時間處理其他事情，請大家見諒，但我會為自己所做過的承諾負責。&lt;br /&gt;&lt;br /&gt;願ABC FORTH與大家同在&lt;br /&gt;&lt;br /&gt;ABC FORTH系統作者 曾慶潭於紐西蘭&lt;br /&gt;&lt;br /&gt;*************************************&lt;br /&gt;&lt;br /&gt;ABC FORTH系統通告(之五)2011-5-16&lt;br /&gt;&lt;br /&gt;敬告ABC FORTH系統的使用者：&lt;br /&gt;&lt;br /&gt;負責任的設計，應該有永久的服務，因此，ABC FORTH系統的通告將永不中止。&lt;br /&gt;這一次，在回頭修改、增補Win32Forth V4.2版本的過程中，發現了一些有關於ABC FORTH系統的嚴重問題，特此公告：&lt;br /&gt;&lt;br /&gt;(1). 前文『高級數學函數』於2010-01-16刊出時，附貼過『篇後語』，提及V4.2版本的浮點計算功能程式，係由Robert Smith於1995年捐贈，他也曾在2009-11-29史丹佛大學舉辦的矽谷FORTH年會(SVfig)中公告過：FEXP、FLN、 FSQRT、FSINH、FCOSH、FASINH、FACOSH…等一般函數指令，處理負的輸入值時，會得到錯誤的結果。&lt;br /&gt;我們對他的首先捐贈程式作風，只應感激，絕對不可批評。因此，當時，我所建議的做法，僅只能避免使用這些函數。而且，我也一直以為自己曾經公開過的應用範例程式，均不曾使用到上述的函數。&lt;br /&gt;這幾天，整理舊程式，轉到V6.14新版本系統上全面測試時，才發現，在『解單變數任意方程式的實數根』一文中，以二分法(Bisection method)求解答案時，用過FLN函數，結果當然是出了差錯。但是，我自己一直未曾注意此事，該篇網文雖然已經撤除許久，但不宜敷衍了事，知道其中有錯，就應該通知大家。&lt;br /&gt;測試V4.2版本浮點處理功能錯誤的方法很簡單，輸入-1e5 fln f.就能得到錯誤的結果11.5129，但這是對應的正浮點數之答案，對數函數不應對負的數字操作。因此，我曾公開的一份曲線圖，就是錯誤的計算顯示，該圖如下所示：&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-Hjdv-bd6x1A/TdA1pj7FWZI/AAAAAAAAAh4/6vvESVK_jf0/s1600/FIG00.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="267" src="http://2.bp.blogspot.com/-Hjdv-bd6x1A/TdA1pj7FWZI/AAAAAAAAAh4/6vvESVK_jf0/s400/FIG00.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;正確的曲線圖，在x值大於80以後，將只會一直朝無限大而去，不會回頭再降下來，所以解這個非線性問題的實數根時，就只有一個實根，而不可能有兩個，我重繪此圖如下所示，右邊朝向無限大的部份，V6.14版可以正確繪出，此處就不繪右邊繼續的顯示，此圖才是正確之圖。&lt;br /&gt;至於文章中討論的解題方法，完全沒有錯誤，此文會重新整理成書，全書完成後才發行。大家見到舊網文中的錯誤時，不要詫異，那些東西，都是系統程式自動執行出來的結果。&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-ntClugtgZdo/TdA119cSdDI/AAAAAAAAAiA/w8eHsHXYQas/s1600/FIG3-1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="222" src="http://4.bp.blogspot.com/-ntClugtgZdo/TdA119cSdDI/AAAAAAAAAiA/w8eHsHXYQas/s400/FIG3-1.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;公告曾經出現過的錯誤，是應該做的事情，但我自己未能對系統內的錯誤進行修正。Robert Smith公告錯誤後，曾在網文上詢問大眾，是否需要進行修正？有一位惡劣的讀者答覆，說在V6.14版中已經公告了新的版本，意思是舊版沒意義了，結果造成Robert Smith不再進行修改V4.2版中錯誤的工作，惡劣的發言，造成了這樣的結果。這是一個實例，任何讀者對義務貢獻者有所不敬，全世界都會跟著遭殃，該讀者確實惡劣。&lt;br /&gt;將來有空時，我也許會嘗試修改錯處，最近較忙，無法分心做此事，因此，為V4.2版增補ABC FORTH新功能的工作，只好打住。&lt;br /&gt;&lt;br /&gt;(2)關於修改Win32ForthV6.14版本，讓其能夠顯示中文的問題，我在網文中，曾向陳爽兄及燕南兄提供修改資料之事，道過謝。&lt;br /&gt;&lt;br /&gt;*****************************************************&lt;br /&gt;&lt;br /&gt;但實際上是幕後另有高手，Jeffer先生默默的公佈過修正程式在先。&lt;br /&gt;&lt;br /&gt;*****************************************************&lt;br /&gt;&lt;br /&gt;我離台已久，不認識Jeffer先生，透過郵件詢問亦無結果，看來只能在此再度公告致謝了。大家使用此系統的中文顯示功能時，不要忘了Jeffer先生有過的貢獻。(未經Jeffer先生同意前，恕本人不便公告Jeffer先生的中文姓名)&lt;br /&gt;&lt;br /&gt;最近發展程式時，我開始使用中文作為程式檔案的名稱，再度發現操作滑鼠快速載入程式後，視窗內依然顯示出錯誤的中文命名，但對程式的執行沒有影響，完美的系統仍應修改這個錯誤，以後有空時，我會試著進行修改。&lt;br /&gt;同理，我估計系統中還有其它地方，會再出現相同的問題。例如：設計開新視窗程式，要顯示並執行中文指令的狀況，就可能受影響，我尚未深入測試此類程式，不知效果，發現了就會另行公告。&lt;br /&gt;免費的公益系統，恆會有一些問題，但無可責難之處，要不然，就請使用者自行購買系統，要求販售者服務，不要使用免費的公益系統。&lt;br /&gt;我個人則只對免費公益系統進行發展，商售系統不是我該貢獻的對象，而且我也拒絕支援任何商售系統，不想談論。&lt;br /&gt;&lt;br /&gt;(3) 今後，為易於自行掌控有關ABC FORTH系統的通告方式，以便萬一需要處理圖示資料時，能夠順利進行。因此，此後所有相關問題，將只在我的個人網頁上公佈，是屬於不定期性的公告，使用者請根據發佈序號及公告日期了解進展。前面四次曾經刊載於中華民國FORTH語言協會figTaiwan的公告，此次亦一併刊載於我的個人網頁。這篇通告的文字部份，則同時傳至figTaiwan的論壇網頁。&lt;br /&gt;&lt;br /&gt;(4) 最近忙於整理出這三年來未曾在網頁上發表的資料，希望今年九月回台前，能有具體的結果，暫時無法兼顧網文的寫作。&lt;br /&gt;figTaiwan論壇，最近非常熱鬧，也不欠缺我一個人的發言，所以我就少去打擾，各位好手請繼續努力，任何討論都有意義，大家的FORTH技術，也都遠高於我，我甚至於不會操作任何新版的作業系統，我沒那種電腦，跟不上時代，現在只宜去教小學生使用FORTH，但樂此不疲。&lt;br /&gt;將來，我想試著在其它領域發展，也許嘗試幾乎是完全空白的台東地區，回台之前，先行準備好最精簡、有用、適當的教材，絕對是首要工作，現在就以ABC FORTH系統忙這些事情。&lt;br /&gt;&lt;br /&gt;(5) ABC FORTH系統的發展，今年六月便屆滿三年，配合這個系統的『使用說明』，有一些錯處應該修正，此前一直未曾公告，此次一併刊載如下：&lt;br /&gt;&lt;br /&gt;● 第3及27頁中均有本人長期慣於使用的『各自為陣』句子，網文中曾經小葉指正，應改為各自為『政』，謝謝指正。&lt;br /&gt;● 第4頁[說明]欄起始處首次用到的J、K前面漏了一個I。&lt;br /&gt;● 第18頁中，因系統後來的發展，必須增添或修改函數的使用名稱。&lt;br /&gt;第一個是自2011-1-10起，增添浮點數函數FINT。&lt;br /&gt;複數函數中的R&amp;gt;Z，則於2011-4-12起，重新設計成R&amp;gt;ZR與R&amp;gt;ZI。&lt;br /&gt;這些函數係本人實際設計程式時，曾經有過三次以上的需求者，才予以增添或修改。&lt;br /&gt;● 仍為第18頁中最後一列，於#57後面，應增加#60。前者為亂數產生程式，後者為複數系統程式。&lt;br /&gt;● 第37頁中，原只能使用6種邏輯判斷，自2011-1-10起，增添AND、OR、XOR、NOT、NOR、NAND的中、英文邏輯比較功能，其使用方法，請參考今年2011-1-2網文中的『邏輯運算』，文中詳細的講解使用方法，但這些材料並不打算增補進『使用說明』中，必須當它們是一般函數來看待。&lt;br /&gt;● 第44頁最後一頁中，TEST35應修正為TEST44。&lt;br /&gt;&lt;br /&gt;羅馬城不是一天建成的，ABC FORTH也永遠需要進行發展，『使用說明』的設計格式，則希望確保永遠不必修改，如此才能有穩定的系統。&lt;br /&gt;未來可能新添加的功能，則安排成以專篇網文公告後使用，原則上，『使用說明』沒有必要進行全面性的修改。&lt;br /&gt;&lt;br /&gt;****************************************&lt;br /&gt;&lt;br /&gt;ABC FORTH系統通告(之六) 2011-6-11&lt;br /&gt;&lt;br /&gt;敬告ABC FORTH系統的使用者：&lt;br /&gt;&lt;br /&gt;1.曾經購買『ABC FORTH數學計算系統使用說明』，自覺不滿意者，於2011年9月30日以前，可以全額退款，書籍不必退還，自行撕毀丟棄便可，作者仍然敬謝惠顧。退款方式請裘尚立先生先行處理，本人回台後全部認帳。&lt;br /&gt;2.相關軟體系統、書籍、資料，請勿隨意散佈，作者保有永久版權。 &lt;br /&gt;3.系統永遠繼續發展，作者接受系統相關問題反應，盡力處理。&lt;br /&gt;4.顧及中國人之人情習慣，凡同為一家人的愛用者，您只須購買一次使用說明便可。換句話說，兄弟同及，父子同繼，作者會感到更為榮幸。尤其類似Jeffer一家三兄弟的情況，三人均為FORTH同好，還對ABC FORTH系統有過貢獻，理當禮遇。&lt;br /&gt;5.本第六次通告，分別在作者個人網頁與中華民國FORTH語言協會網頁同時刊載。主旨為通知大家，系統已增建出語音輸出功能。現在，這是一個『能講話的程式語言系統』，但因基礎系統架建於微軟的作業系統之上，原始基礎程式的貢獻者為Thomas Dixon，整個語音輸出功能，無法以標的系統(Target system)方式固定下來，系統的釋出只好藉助於出版書籍的方式提供大家使用，以確保系統永不故障。作者沒錢印書，不知出版書籍要如何安排？也不想污染這個世界。印書之事，九月回台後再行處理，可能以影印裝訂方式發行，也可能放棄發行，請大家靜候新的系統通告。&lt;br /&gt;&lt;br /&gt;這項新的功能舉例如下：&lt;br /&gt;&lt;br /&gt;1981年Charles H. Moore在『Programming a BASIC Compiler in FORTH』一文中公佈他的詩作程式為：&lt;br /&gt;&lt;br /&gt;433 LIST&lt;br /&gt;0 [ Dwyer, page 17, Program 1]   SCR&lt;br /&gt;1 INTEGER J   INTEGER K&lt;br /&gt;2&lt;br /&gt;3 : RUN   START&lt;br /&gt;4 10 PRINT “ THIS IS A COMPUTER “&lt;br /&gt;5 20 FOR K = 1 TO 4&lt;br /&gt;6 30 PRINT “ NOTHING CAN GO”&lt;br /&gt;7 40 FOR J = 1 TO 3&lt;br /&gt;8 50 PRINT “ WRONG “&lt;br /&gt;9 60 NEXT J&lt;br /&gt;10 70 NEXT K&lt;br /&gt;11 80 END&lt;br /&gt;12 RUN&lt;br /&gt;13&lt;br /&gt;14&lt;br /&gt;15&lt;br /&gt;&lt;br /&gt;作者的ABC FORTH數學計算系統，不但實現了上述程式的文字顯示式功能，現在，更進一步實現了立即唸出功能，改寫成功的程式如下：&lt;br /&gt;&lt;br /&gt;INTEGER J INTEGER K&lt;br /&gt;&lt;br /&gt;: CharlesMoorSaid     BASIC&lt;br /&gt;10 RUN S" THIS IS A COMPUTER. " SPEAKING&lt;br /&gt;20 FOR K = 1 TO 4&lt;br /&gt;30 RUN S" NOTHING CAN GO. " SPEAKING&lt;br /&gt;40 FOR J = 1 TO 3&lt;br /&gt;50 RUN S" WRONG. " SPEAKING&lt;br /&gt;60 NEXT J&lt;br /&gt;70 NEXT K&lt;br /&gt;80 END&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;程式執行CharlesMooreSaid時，能在螢幕上顯示文字詩作，同時清楚的唸出英文詩來，請注意！是程式中隨意唸英文。全世界非英文語言的語音輸出，則須藉助於英語拼音來進行語音輸出，不理想，但可行。&lt;br /&gt;以純粹傳統FORTH的格式來設計語音輸出時，更為簡單與直接，本通知不擬細述，所有功能均在書中介紹。&lt;br /&gt;進一步的發展，係為視障同胞準備這個程式語言系統，程式千變萬化執行之後，得到的任何數字計算結果，將可以隨程式自動插進語句，自動唸出，如此便能讓視障者自行設計複雜數學計算程式，得到語音輸出報告。這項系統性要求，已經可以實現，但需要時間仔細思考後安排出合乎語法的指令。&lt;br /&gt;作者不保留此項特殊構想，只要能為視障同胞服務，歡迎任何其他程式語言跟進並實現此一構想。&lt;br /&gt;6.待出版之書籍，總計約400頁，內容簡介於作者個人網頁2011-6-2貼文。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ABC FORTH作者曾慶潭於紐西蘭&lt;br /&gt;&lt;br /&gt;****************************************&lt;br /&gt;&lt;br /&gt;ABC FORTH系統通告(之七) 2011-7-12&lt;br /&gt;&lt;br /&gt;敬告ABC FORTH系統的使用者：&lt;br /&gt;&lt;br /&gt;系統通告(之六)中的下述辦法宣告作廢！&lt;br /&gt;&lt;br /&gt;****************************************&lt;br /&gt;1.曾經購買『ABC FORTH數學計算系統使用說明』，自覺不滿意者，於2011年9月30日以前，可以全額退款，書籍不必退還，自行撕毀丟棄便可，作者仍然敬謝惠顧。退款方式請裘尚立先生先行處理，本人回台後全部認帳。&lt;br /&gt;****************************************&lt;br /&gt;&lt;br /&gt;由於本人的疏忽，未將購買使用說明者的名單提供給裘尚立先生，通告(之六)的這一條敘述，事後必然造成他的困擾，深感抱歉。裘尚立先生的義務服務同時暫時終止，亦請勿再度打擾。&lt;br /&gt;&lt;br /&gt;想全額退款者大可不必急於一時，本人九月初便回台灣，絕對親自負責處理退款事宜，因此，想退款者必須以下列電子郵件信箱&lt;br /&gt;&lt;br /&gt;ilikeforth@gmail.com&lt;br /&gt;&lt;br /&gt;與本人直接聯絡，不可再打擾裘尚立先生。&lt;br /&gt;&lt;br /&gt;凡購過書者，均曾留下真實姓名，因此，喜歡蓋頭蓋臉見不得人者，就不必費心來浪費我的時間了，收到這種來信，我也必然置之不理，將來信設定為垃圾。&lt;br /&gt;&lt;br /&gt;如果您根本沒買過書，還不要臉到想藉機騙錢，那麼請報上真實姓名，以便在後續通告中公告，讓您終身日日丟臉，當然，您也不可能騙得到任何一毛錢。&lt;br /&gt;&lt;br /&gt;ABC FORTH作者曾慶潭於紐西蘭&lt;br /&gt;&lt;br /&gt;*******************************************&lt;br /&gt;&lt;br /&gt;ABC FORTH系統通告(之八) 2011-7-15&lt;br /&gt;&lt;br /&gt;敬告ABC FORTH系統的使用者：&lt;br /&gt;&lt;br /&gt;經cnidance測試告知，並經呂明貴先生迅速協助測試，確定ABC FORTH635.exe無法在Windows7作業系統下執行之問題已經解決，特向這兩位FORTH同好致謝。另外，感謝郎明倫先生大方出借電腦，供本人發展此份公益軟體使用一天，亦一併致謝。&lt;br /&gt;&lt;br /&gt;可以執行之系統版本名稱，新訂定為ABC635W7.EXE執行檔，此版本也只宜在Windows7作業系統中自動展開Win32Forth V6.14基礎系統後才能配合執行，但不能在XP作業系統中使用。這些問題，不是本人所設計的系統問題，而是基礎系統自身所造成的問題。因此，新版本系統的內容，完全沒有修改。&lt;br /&gt;&lt;br /&gt;另外，藉借來電腦之便，順便簡易測試了一些有時效性的程式功能，摘要敘述測試結果如下：&lt;br /&gt;&lt;br /&gt;(1)中文顯示沒有問題。&lt;br /&gt;(2)繪圖顯示沒有問題。&lt;br /&gt;(3)浮點數計算沒有問題。&lt;br /&gt;(4)語音輸出沒有問題，而且發聲方式改為具有甜美聲音的女士，XP作業系統中為男士。&lt;br /&gt;(5)其它性能則無時間測試。&lt;br /&gt;(6)同時藉機測試Win32Forth V4.2版發展出來的ABC FORTH系統，則完全可以直接執行。可見V6.14與V4.2兩版系統上的強烈差異，V6.14版的內容，已經被改得不是一般使用者容易操作的狀況了。&lt;br /&gt;&lt;br /&gt;這個版本的執行檔案，現在開始接受購過使用說明書籍者正式來信要求傳贈使用，本人因在艱苦環境中發展軟體為大家服務，此版問題的解決方式，僅是一時權宜之計，若果還有問題，就必須擱置到我回台灣之後才能繼續服務，有所不便之處，深感抱歉，亦請體諒本人發展環境之艱難。&lt;br /&gt;&lt;br /&gt;與新進使用者接洽使用方式後，感到應公告一些新的系統使用要求：&lt;br /&gt;&lt;br /&gt;(1)系統為非賣品，但作者擁有版權，請勿公開傳用。&lt;br /&gt;(2)永遠保持購買使用說明後便可終身使用的規矩，但僅限於公告方式中的個人。&lt;br /&gt;(3)個人使用者發表論文用及本系統時，僅須公告系統為本人創作，並以信函通知本人，給予尊重便可，本人必回信致謝。&lt;br /&gt;(4)如果應用於營利或國家、社會、團體編列了預算發展之計劃，本人亦同意可以使用，但以每一版本之公開使用份數，作為等同於個人的使用方式計費，以便支持本人繼續服務發展之意願。&lt;br /&gt;(5)弱勢團體的成員，如：原住民同胞、低收入家庭的學生或同胞、視障同胞…等，可以直接與本人接洽後，獲得完全免費的終身使用權力。我尊重這些同胞，願意培養大家壯大之後回饋社會，購書確有困難時，請不必客氣，直接與本人聯絡，我必酌情協助。&lt;br /&gt;(6)以上臨時洽談後，產生涉及本系統的使用新規定，請愛用者配合，謝謝。&lt;br /&gt;&lt;br /&gt;ABC FORTH數學計算系統作者&lt;br /&gt;曾慶潭於紐西蘭&lt;br /&gt;&lt;br /&gt;****************************************&lt;br /&gt;&lt;br /&gt;ABC FORTH系統通告(之九) 2011-07-19&lt;br /&gt;&lt;br /&gt;敬告ABC FORTH系統的使用者：&lt;br /&gt;&lt;br /&gt;為解決Windows7系統內能夠使用ABC FORTH系統之問題，特別發展出以最原始版本之Win32ForthV4.2系統建立之ABC421FORTH系統。&lt;br /&gt;&lt;br /&gt;正式通告系統使用者，可以開始向作者索取使用。使用者請注意下列事項：&lt;br /&gt;&lt;br /&gt;(1)這種系統的安裝與V6.14不同，同一個資料夾內必須同時存在ABC421.exe及ABC421.img兩個檔案才能執行，因此，作者在傳送信件內，會附上兩個檔案，其中，ABC421.exe被更名為ABC421.txt，但ABC421.img仍用原名。收到信件後的安裝方式，與前文公告者相同。&lt;br /&gt;(2)新建的ABC421.exe系統，已修正了浮點函數中的錯誤問題，並按前文加入FINT函數，將R&gt;Z函數修改成兩個函數R&gt;ZR及R&gt;ZI。&lt;br /&gt;(3)整數與浮點數中的邏輯判斷指令，均添加了AND與OR功能，並包括中文之『而且』與『或者』兩個對應指令，其它邏輯比較指令，則考慮實質效用，暫時不予加入。&lt;br /&gt;(4)在W7系統中欲加裝此一系統時，因Win32ForthV4.2系統無法在W7系統中自動展開，故須在XP作業系統中先行安裝妥當後，再以copy整個資料夾的方式複製到W7系統中去。這樣的麻煩操作，係一時權宜之計，根本的解決辦法，還是應該等到Win64Forth系統出現後，再來安裝ABC FORTH較為妥當。作者絕對有信心配合任何FORTH系統發展出ABC FORTH系統。&lt;br /&gt;(5)此次新系統的發展，依靠呂明貴先生的全力協助，經過數次密集、迅速的測試，方得以完成。靠copy的方法才能移入W7系統，即呂明貴先生的發現，他願意將經驗與大家分享，作者在此特別表示感謝。&lt;br /&gt;&lt;br /&gt;另外，作者沒有能執行W7的電腦，但為大家請教服務公司，有關此系統的關鍵問題，本地公司服務部門告訴我，他們只為『終級版』(Windows7 ultimate)的作業系統，負責正體中文的顯示問題，其它版本已正式宣告過不予負責。&lt;br /&gt;在64位元系統內安裝32位元的軟體，確實是不恰當的用法，所以使用者自己必須注意，是否將系統設定成『共容模式』(compatibility-mode)？如此才能確保軟體能夠勉強執行。因此，您若有64位元的硬體時，裝了目前的ABC FORTH系統卻跑不起來，請自己先行確定模式設定。&lt;br /&gt;我若打算發展真正64位元多CPU的FORTH系統，至少也得確定要兩顆以上的真正64位元CPU確實裝於系統才行，實質選址範圍也必須直接大於4Gb，這是全球趨勢。如果後續還想要能夠有所作為，繼續為大家服務，獲得這樣的一個電腦，是不可或免的了。&lt;br /&gt;&lt;br /&gt;我將專業服務人員的答覆信件摘錄如下，提供大家參考。&lt;br /&gt;&lt;br /&gt;There appear to be three issues that may affect your Forth that you need to consider. &lt;br /&gt;&lt;br /&gt;1. Compatibility with Windows 7. Does your software work with Windows 7, or does it work in Windows 7 when you use compatibility mode? See: http://www.sevenforums.com/tutorials/316-compatibility-mode.html&lt;br /&gt;&lt;br /&gt;2. East Asian language support. Do you need to have Windows 7 Ultimate to have full Chinese support? This page suggests: http://answers.microsoft.com/en-us/windows/forum/windows_7-windows_install/windows-7-support-for-east-asian-languages/36f583a0-fac2-4358-93b0-f2414d0879f7 That  you may need windows 7 Ultimate, because the microsoft support engineer states "If you do not have Windows 7 Ultimate you can't use the Language packs."&lt;br /&gt;&lt;br /&gt;3. 64 Bit support. Does your software work in the 64 bit edition of Windows 7. 64bit windows is necessary if you want to use more than 4Gb of memory in your computer. Over the next 10 years, this will probably be necessary. For the average user, whether it is necessary now, is debatable, but that is the current direction of progress that Intel and AMD are heading in.&lt;br /&gt;&lt;br /&gt;ABC FORTH數學計算系統作者&lt;br /&gt;曾慶潭於紐西蘭&lt;br /&gt;&lt;br /&gt;*****************************************&lt;br /&gt;&lt;br /&gt;ABC FORTH系統通告(之十) 2011-10-10&lt;br /&gt;&lt;br /&gt;敬告ABC FORTH系統的使用者：&lt;br /&gt;&lt;br /&gt;為了要解決W7作業系統中不能執行ABC FORTH系統的問題，我刻意回台買了64位元的新電腦，十月八日回到紐西蘭後，立刻展開工作，有實體可用，兩天就能有結果。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;通告不談技術，只告訴大家系統執行狀況，並通告大家來函索取專用於W7作業系統中的最新版本ABC FORTH637.EXE。&lt;br /&gt;&lt;br /&gt;傳送此檔的方式，與以前的方式相同。&lt;br /&gt;&lt;br /&gt;這一版的設計，只能在W7作業系統中執行，而其基底的Win32Forth V6.14系統，則必須『直接』在W7作業系統中先行展開。&lt;br /&gt;請注意！不必再使用宣告出32位元的『虛擬模式』來安裝系統。&lt;br /&gt;然後才將ABC FORTH637.EXE置入同一資料夾使用。&lt;br /&gt;&lt;br /&gt;附帶必須先行通知大家的使用注意事項如下：&lt;br /&gt;&lt;br /&gt;(1). 目前許多掃毒軟體，會將Win32Forth V6.14系統中的安裝程式，及自動展開後的SETUP.EXE執行檔，視同為病毒程式而直接殺掉。但實際上，沒有病毒在內，而是提供掃毒程式的廠商，心態越來越惡劣，提供大家不負責任的產品，才造成這種現象。&lt;br /&gt;&lt;br /&gt;解決辦法就是取消或完全不用掃毒程式。&lt;br /&gt;&lt;br /&gt;(2). 由原為XP作業系統環境內的設計產品，轉入W7作業系統使用之後，原來能夠直接操作滑鼠於視窗功能表列，選擇『File』，拉下菜單式選項，再點選『Load Forth File』來載入程式的功能，部份失效。&lt;br /&gt;&lt;br /&gt;如果僅只是載入一般性的程式，例如：純粹只是數學計算性的程式，單以滑鼠操作，尚無問題。&lt;br /&gt;&lt;br /&gt;但某些語音輸出程式，在檔案中叫用其他作業系統中的特殊功能，便會失效。遇此狀況，正式載入檔案程式的操作，若改為回到與V4.2版完全相同的操作方式，則能完成。V4.2版中的CD指令在V6.14版中改為CHDIR，DIR及FLOAD指令則仍相同。&lt;br /&gt;&lt;br /&gt;本人閱讀過原在XP中的滑鼠操作相關源程式後，自覺程式太繁雜，此事又與數學計算完全不相關，因此放棄為W7系統進行上述問題之增加或修改程式設計。&lt;br /&gt;&lt;br /&gt;(3). 截至目前為止，通告大家使用的ABC FORTH系統有三套：&lt;br /&gt;&lt;br /&gt;XP 中V4.2  版使用者為ABC FORTH421 (需要加裝.exe及.img兩個檔案)&lt;br /&gt;XP 中V6.14 版使用者為ABC FORTH635 (只需加裝.exe一個檔案)&lt;br /&gt;W7 中V6.14 版使用者為ABC FORTH637 (只需加裝.exe一個檔案)&lt;br /&gt;&lt;br /&gt;使用時發現任何與本人設計相關之問題，不用客氣，請隨時主動與本人聯絡，只要力所能及，我必負起責任。&lt;br /&gt;&lt;br /&gt;至於其他非本人設計所致之問題，則可以來函探討，但本人不負解決問題的責任。&lt;br /&gt;&lt;br /&gt;(4). 凡純屬數學計算問題的程式，上述三套公告系統均能執行，且已發現的錯誤均經修正，中文顯示的功能，亦已經過修正。目前三套系統均能顯示中文，也能接受以指定之中文指令設計程式。&lt;br /&gt;&lt;br /&gt;不屬於純粹數學計算的程式，例如：語音輸出，則僅能就版本現況來進行設計。&lt;br /&gt;&lt;br /&gt;曾慶潭於紐西蘭&lt;br /&gt;&lt;br /&gt;*****************************************&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1097161848825759583-2194767331820719215?l=forthfortnight.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://forthfortnight.blogspot.com/feeds/2194767331820719215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1097161848825759583&amp;postID=2194767331820719215' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/2194767331820719215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/2194767331820719215'/><link rel='alternate' type='text/html' href='http://forthfortnight.blogspot.com/2011/05/abc-forth.html' title='ABC FORTH系統通告彙編'/><author><name>Chings World</name><uri>http://www.blogger.com/profile/15191167870271612229</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_AchTsJsrvZw/STdFzdxFJaI/AAAAAAAAAAM/ZR_kphZVVHQ/S220/PC040006.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-Hjdv-bd6x1A/TdA1pj7FWZI/AAAAAAAAAh4/6vvESVK_jf0/s72-c/FIG00.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1097161848825759583.post-4227495417613183623</id><published>2011-05-01T13:48:00.001-07:00</published><updated>2011-05-13T20:07:15.926-07:00</updated><title type='text'>此地無銀三百兩</title><content type='html'>曾慶潭2011-05-02於紐西蘭&lt;br /&gt;Ching-Tang Tseng&lt;br /&gt;ilikeforth@gmail.com&lt;br /&gt;http://forthfortnight.blogspot.com&lt;br /&gt;&lt;br /&gt;************************************************&lt;br /&gt;謝謝Gloria來函指正：&lt;br /&gt;&lt;br /&gt;『此地無銀三百兩』文中，不知所『挫』應修正為不知所『措』。打網文時，確實是不慎選錯了字，特此修正，並感謝指正。&lt;br /&gt;本文未經內人先行審稿後便予以貼出，錯誤與內人無關。且因近日忙於其他文章與程式，未再顧及此文，如此刊文確有不當，錯則勿憚改，以後應更謹慎。就我個人而言，這一字值得了千金，不只是三百兩。&lt;br /&gt;&lt;br /&gt;************************************************&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;民國七十四年，我在美國田那西州橡樹嶺國家實驗室工作過一段時日，租住了田納西大學近旁的民宅，以便還能就近與那裡的同胞來往活動。有一天，適逢當地舉辦慶典園遊會，人稱舉辦Gala活動，各國留學生可以自由擺攤，小規模的經營三天免稅生意，為自己創造一點留學生活期間的小收入。&lt;br /&gt;台灣那個人沒見過園遊會？這種事情那有甚麼值得稱道的事情？是的，現代學生只喜歡看賺錢的點子，寫園遊會擺攤位賺點小錢的事情，沒有價值，根本不值得看，此地卻確確實實的無銀三百兩。&lt;br /&gt;小吃攤、物品攤確實是乏善可陳，沒有描述價值，我也早就忘了那些攤位的情景。有一個學長頭腦聰明，才能來到田納西大學攻讀博士學位，他也低姿態的為自己申請了一個攤位，卻完全與眾不同。他擺了一張80年代共產黨幹部辦公室裡面，才見得到的那種小辦公桌，桌上只有紙、筆、硯、墨文房四寶，紙是我們過年期間門口張貼的那種大紅紙，他的桌前張掛了長條橫式紅紙，上書『Would you like a Chinese name?』，意思是：您想要一個中國名字嗎？然後就開張做了三天生意。&lt;br /&gt;與我一同前往Gala捧場的同胞，對這位學長的攤位沒有興趣，都四處搜羅來自各國的新奇擺飾物品，買了帶回台灣當作紀念品，我只買見識，但不用花錢。&lt;br /&gt;就在田納西河畔的場地內，我見到了那位學長擺攤的效果了，幾乎所有被家長帶來參加園遊會的小孩，無論男孩、女孩統統都一樣，手上提著一張墨汁未乾的大紅紙條，上面寫著他或她的中國名字，非常得意，也有一個人提著三或四張，包括了爸爸、媽媽、兄弟姊妹大紅貼紙名字的兒童，小孩見了面就比一比，看誰的中國名字比較特別？都有一番說詞，真是一場歡樂的園遊會。&lt;br /&gt;這位學長的毛筆字也確實不錯，我還識得了貨，覺得足以見得了大場面，但這不稀奇，我相信，就算現在，比較上進的同胞，也都能寫得一手漂亮的毛筆字。後來，我開始仔細的研究，到底他給的那些中國名字有甚麼學問？竟然發現還是一點也不稀奇。原名叫『Tom』的就叫『湯姆』，原名叫『Mary』的就叫『瑪莉』，原名叫『David』的就叫『大衛』，原名叫『Alice』的就叫『愛莉絲』……等等。我來回在這位學長的攤位前逛過好幾遍，見到桌前一直都排著小隊伍，家長聊天，小孩盼望，就深怕今天造訪此次園遊會，缺了一個取得中國名字的機會。那時，中華民國政府實施外匯管制，美金對台幣的匯率是1比40，取一次中國名字，索價兩塊錢。重點是有一個面目和藹可親的博士研究生，給活潑可愛的小孩解釋他們中文名字的意義，都是好話，家長也覺得臉上太光彩了。&lt;br /&gt;三天下來，賺了六百多美金，這個好學長還是低姿態過日子，他邀請我們幾位最親近的同胞，吃了一頓中餐式的『隨你吃，吃到飽』(All you can eat)，每人收費才4.99美元，還沒有把六百多以上的零頭子花光。因此，此地無銀不只是三百兩，是超過了六百兩，翻了一番。&lt;br /&gt;經常對事物視若無睹的人，可能就看不到三百或六百兩了。去年(2010年)元旦，這個網頁刊出『FORTH與音樂』，文首的樂譜實在不起眼，我卻與不少人聊過這首簡短樂譜的相關故事，願意欣賞與體會的人，可以感受出許多的正面意義。可是，我也見過硬想要來挑釁的人，打岔、插嘴、干擾大家感性的聊天，用台語說：『它明明就是一條『543』(要用台語發音，才知道543的含意)的死人歌，有什麼好講的？』。這個人會酗酒上班、潦倒一生，一直到現在還是如此，他就經常對一切事物視若無睹。&lt;br /&gt;有一部電影，描述一個畫家的一生，劇中有一幕令我終身難以忘懷的場景。一個小男孩在畫家尚未成名之前，老愛靜靜的坐在畫家旁邊，看他寫生，畫家也很高興寫生時有一個天真無邪的兒童為伴。有一天，畫家畫完了一幅得意的風景畫，終於想到應該問一問這位長期作伴，卻從未被他重視過的小男童了，畫家說：『你覺得我畫得如何啊？』小男孩突然覺得受寵若驚，一時答不上話來，結結巴巴的勉強回了畫家的話說：『嗯…，我覺得…，我覺得…，您畫得很快。』&lt;br /&gt;然後，暴跳如雷的畫家反應，把天真無邪的小男孩，給嚇得不知所措。畫家摔掉所有的畫具，立刻撕掉剛完成的得意畫作，並告訴小男孩，他以後不畫了。要過了很久，畫家才能明白他自己的處境，對小男孩答話的反應，確實是反應過度了，還堅持那樣做，就表示他一輩子都不會成功，後來，他才真正的成功了。此地無銀三百兩，您認為到底有沒有三百兩？&lt;br /&gt;當兵初入伍時，最痛恨的事情，就是每天要把棉被疊成豆腐乾的樣子。完成大學學業初到軍中服役時，仍被要求每天必須疊棉被，心中的怒火實在是無以名狀，心想要這樣子過一生，真是窩囊。直到有一天，同寢室的王組長勸了一句話，才讓我終身釋懷了。他建議我把棉被當個藝術品來把玩，仔細感受一下，每天能不能玩出一點心得來？就不會那麼生氣了。他說我們都是軍官，棉被只要有疊就夠了，沒有人來要求我們的寢室內務，如果這樣子都還不能接受，一生何以度日？我能接受的這種教導，價值何止三百兩？要不然，怎麼可能以軍人為業？&lt;br /&gt;溫室裡長大的花朵，養尊處優，可能會視三百兩如無物。可是，沒人能確保永遠的溫室，更何況溫室效應還是一種很糟糕的效應，因此，從小體認三百兩的價值，還是必要的。我在俄羅斯經商期間，算得上經常是腰纏萬貫，有一次碰上了隔夜通膨，物價瞬間暴漲三倍，次日早起，店裡面甚麼東西都不賣了，這種情況要持續好幾天，您有錢也買不到吃的，勉強還見得到的交易，就只剩老婦人自種的溫室(Green house)番茄，和放養(Free range)的雞蛋，不把三百兩當一回事的人，如何過活？&lt;br /&gt;我是識得三百兩的人，我每天一樣快樂的過日子，我自煮的菜，雖然只有番茄炒蛋，卻還每天都有花樣。有時是番茄炒蛋、有時是蛋炒番茄、有時是番茄不炒蛋，就是：蛋是蛋、番茄是番茄、有時是番茄炒乾蛋，就是：先煎好蛋，弄碎了再拌進番茄、有時是番茄炒濕蛋，就是：炒好番茄，再直接把生蛋倒進番茄。就這樣，過了十幾天，市場上才出現了新食品，我卻愛上了番茄炒蛋。&lt;br /&gt;我在海外上班工作時，公司規定，一定要員工領用一些當地貨幣，列為薪資，以作為個人零用金。台胞大概就唱卡拉OK給花掉了，要不然就乾脆打個小牌，打完就吃光、喝光、花光光。我的心態與大家不同，重視我自己的每一塊錢，能存就要將其存成三百兩，存不成的，也要變成有用物品。所以，我會從上海買它一大堆當年每本只要一至三元人民幣的科技用書，還弄回家一整套『大中國百科全書』，終身翻閱。從俄羅斯買回家的東西就更奇怪了，形形色色都有，有套娃娃、純鈦手環、西伯利亞木質梳子……等等，東西都很便宜，才幾塊錢，但很實用，花掉的那些錢，都是存不成三百兩的銀子。&lt;br /&gt;發生隔夜大通膨後不久，沙夏(俄羅斯人名為亞力山大者，均簡稱沙夏)來取房租金，他是房東的兒子，由於出生於音樂世家的關係，會拉小提琴，當時，生活環境不好，他常需要到地鐵車站的入口處，當個街頭藝人，賺點小錢。那天，他好高興的告訴我，一天就賺了1200元，當時俄羅斯公務人員的工資大約是月薪500元，那時，俄羅斯貨幣盧布的實際價值，也與台幣相當，但能賺那麼多，就很可觀了。&lt;br /&gt;我請教他是如何賺的？他告訴我，地鐵賣輔幣(Token)的職員，都欽佩他的琴藝，想幫他一點忙，所以搞了一次內線交易，提供了一次讓他發財的機會。大通膨前一天，交給他3600枚輔幣，每枚只算一塊錢，但一星期後才結帳，先不用急著付錢。第二天清早起，市政府突然宣佈，一個輔幣漲價成1.5元了，搭地鐵上班的市民依然非搭地鐵不可，乘客完全沒有減少，這個車站一天進站的乘客，大約就是三千多人。他的3600枚輔幣仍然是一天內就賣光了，結算之後，他分到了1200元。這麼看來，此地無銀非止六百兩，又翻了一番，是一千兩百兩了。但是，您請先別心動，如果沙夏沒有琴藝，如果不在那麼艱苦的環境，此地就真的無銀一千兩百兩了。&lt;br /&gt;我不拿真銀子來解釋今生所見識過的所有事情，這些三百、六百、一千二的真錢，在當時的環境，事實上比等量的真銀還值錢。我也不是孤陋寡聞到現今銀價到底是多少？都不知道，我從一英兩才幾美元就長期注意它了，昨天(2011年4月30日)的國際收盤行情，已經是每英兩47.94美元了。我的一生曾有多次實戰經驗，一次便能賺進幾百萬台幣，但根本不適合以出入動輒百萬的例子來教大家，那會壞了正常人的心性，這幾個例子倒很恰當，數目雖小，道理相同。您可以只愛聽賺錢的點子，真正有效的點子背後，卻都蘊藏了正面、豐富的人生，您若對有意義的事物始終視若無睹，那麼，給您再多的賺錢點子，您也是有看沒有懂，無濟於事的。&lt;br /&gt;我曾經一次為中華民國FORTH語言協會獲得三萬兩，您相信嗎？但別拿那個『兩』字來衡量錢財，也請先別懷疑獲得的錢，是不是早就被我私吞了？我告訴大家這個真實的故事。&lt;br /&gt;已經忘了是那一年了，大概是民國七十九年左右，那時，我一直為中華民國FORTH語言協會的事務而奔走，有好幾年的時間，每次美國的fig總會出版了新的FORTH DIMENSIONS期刊，我就得為繳了年費的會員，印發這本期刊，數量很大，造成協會很大的負擔。因此，我想買一台舊的影印機來減輕負擔，以便會費能夠用來做其它事情。可是，清算一下，總共也只能挪出五千塊錢台幣來，不知道能不能買得起一台舊的影印機？&lt;br /&gt;每當我自認為在為群眾犧牲時，就很敢厚著臉皮講離譜的話。那天，也不例外，我來到桃園市街上的一家優美牌影印機經銷商店，想買一台5000元的舊影印機，店裡面堆滿了別人舊機換新機後的仍然堪用品，服務員了解了我的用途，介紹了一台最適合的舊機器。問題是，一台要價三萬八，而且一分錢都不能少，因為老板攤開帳目資料，是前兩天才折價換機的記錄，若低於三萬八，他要虧本做生意，還得繼續售後服務，太划不來了。我卻只想花5000元買，太離譜了。&lt;br /&gt;但我不死心，眼見店內只有一個客人，自顧自的影印他自己的資料，估計服務員與老板應該可以忍受我耗一點時間，講一些冠冕堂皇的話來讓他們深明大義，於是義正詞嚴的向他們介紹，我正全面為FORTH語言協會犧牲奉獻的狀況，希望社會上有為的商人，也能共襄盛舉，更何況老板生意做得很成功，顧客才願意舊機換新機，天下的買賣都只有錯買沒有錯賣的，如果能賣我五千，老板應該還是賺錢，只要他心地善良這一次，保證以後會賺得更多，我這個稍懂一點電腦知識的人，必然是有點眼光，才會大大方方走進這個未來充滿了希望的商店。&lt;br /&gt;店裡面三個人聽我演講了一陣子，開始時，老板還很堅持，絲毫不肯讓步，後來，他們都無言以對了，那個影印完文件的客人也不走了，索性就聽我介紹如何推廣FORTH語言，我也推誠置信的拿出協會帳本，裡面總共只有五千多現金，表示多一分錢也買不起。結果呢？真是出人意料！&lt;br /&gt;那位客人幫我說話了，他是這家影印機店的老顧客，跟老板熟識的不得了，他告訴老板，他一生沒見過我這種人，講起話來一點都沒錯，老板應該把握機會，賣我這一台影印機，這可能是老板今生再也見不到的因緣，千萬不要錯過。&lt;br /&gt;然後，他大方的說，他無條件為我出三萬，老板要為積功德奉獻一點費用，否則錯失良機，就算認同三千好了，剩下的五千才是真正最有意義的錢，這件大善事，大家應該共同的讓它繼續在社會上發揚光大。&lt;br /&gt;生意當然是成交了，客人還要求老板送我新的機座子，以免日後不好操作。我請教了這個客人尊姓大名，他卻只告訴我是張老師，而且只留連絡電話，其它的事情就是為善不欲人知。&lt;br /&gt;我與這位張老師一起出了店門，我還是追問他為什麼要這樣子幫我？日後我也會記得要感激受惠的。他告訴我，他在教學生算命，一期三個月，一個學生收費八萬塊錢，一年可以收到六十幾個學生，他教人洩漏天機，有違天意，要靠行善來彌補過失。他也希望我盡管在凡間行我該行之事，不用管這區區三萬塊錢的事情。他的連絡電話記在我的電話簿內，今年九月回台灣期間，應該給他一個驚喜，並通知他，我經營了三年的網文。&lt;br /&gt;三十幾年前的往事，三萬『兩』的故事，協會裡有多少人都曾受惠於這位張老師的好意，能不寫進『此地無銀三百兩』？&lt;br /&gt;&lt;br /&gt;光看賺錢的點子，能看出甚麼名堂？這一次，我要出個FORTH考題，考考大家了，兩的三百次方是多少？寫個小程式算一算吧，否則您那能真正的明白，此地到底有沒有三百兩呢？&lt;br /&gt;我提供答案供您比對，我早已養成習慣，備妥了用來計算的程式，打算終身不靠雲端，維持自己隨時能解這個問題的能力，直接操作FORTH系統，論秒可以完成，此地是有三百兩，三百兩就是這麼來的。2的300次方是：&lt;br /&gt;&lt;br /&gt;總共91位數&lt;br /&gt;2037035976334486086268445688409378161051468393665936250636140449354381299763336706183397376&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1097161848825759583-4227495417613183623?l=forthfortnight.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://forthfortnight.blogspot.com/feeds/4227495417613183623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1097161848825759583&amp;postID=4227495417613183623' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/4227495417613183623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/4227495417613183623'/><link rel='alternate' type='text/html' href='http://forthfortnight.blogspot.com/2011/05/blog-post.html' title='此地無銀三百兩'/><author><name>Chings World</name><uri>http://www.blogger.com/profile/15191167870271612229</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_AchTsJsrvZw/STdFzdxFJaI/AAAAAAAAAAM/ZR_kphZVVHQ/S220/PC040006.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1097161848825759583.post-4114297835203621428</id><published>2011-04-01T14:17:00.000-07:00</published><updated>2011-04-07T14:41:26.655-07:00</updated><title type='text'>地震專文之三</title><content type='html'>&lt;b&gt;1. 地震專文之三&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;曾慶潭2011-04-02於紐西蘭&lt;br /&gt;Ching-Tang Tseng&lt;br /&gt;ilikeforth@gmail.com&lt;br /&gt;http://forthfortnight.blogspot.com&lt;br /&gt;&lt;br /&gt;讀者的大量反應，促成我必須繼續寫第三篇與地震相關的專文，憑心而論，非我所好，但基於能夠增進人類福祉，不必追求名利的原則，我仍願意進行這樣的工作，它的正面意義也不亞於推廣FORTH。這一篇專文，專論為什麼『測量超低頻的聲音，可能可以提前幾天預測大地震』？&lt;br /&gt;從事於科學研究，要大胆的進行假設，但在未獲得具有科學根據的確切證據前，最好不要鐵齒論斷事物來譁眾取寵，或騙取研究經費，否則就變成了科技界的『術士』，為人所不恥，結果將只能羞愧終身以度日，我希望來訪的讀者，能夠明白這樣的道理。&lt;br /&gt;如果您是記者，可以大方引用我願意負責任的言論，但不要斷章取義去譁眾取寵。如果您是研究人員，也請大方的繼續延伸我願意負責任的言論，繼續深入研究，但不要只想假藉這些論述來立案，騙取研究經費。&lt;br /&gt;由於地震的研究敏感也必須嚴謹，否則將大批浪費民脂民膏與可貴的社會資源。真心想研究的人，應該得不到任何好處，所以這個主題容易誘人藉機斂財，這種情況，絕非我所願見，因而發表這種文章時，特別謹慎。&lt;br /&gt;&lt;br /&gt;這一次，隨文附貼陳爽大哥轉來的一篇溫馨感人文章：『兩個選擇』，該文有益於社會，合乎本網頁的宗旨。如果讀者有同樣意願，也可以提供自己的創作，我斟酌後一次附貼一篇，與大家共同促進社會祥和。但原則是：宗教、政治、商業、與不夠明確的科技文章我都不貼。若不是您自己的創作，最好也別請我轉貼，因為天下可貼之物俯拾皆是，還有版權問題。我說過自己的『意識形態』比任何人都強烈，當然就不可能讓惡意訪客的胡言亂語出現在我的網頁上，讀者也請多多包涵。&lt;br /&gt;所有我曾發表過的網文，均非即興之作，寫好之後，至少也得斟酌三天，才予以刊出，內人也長期協助審核錯字與去除過激言論，它代表我們一家人對這個網頁刊出內容的慎重態度。長期以來，我們也從未接受任何金錢資助，所以我能完全自主貼文。&lt;br /&gt;&lt;br /&gt;三年前，於fig Taiwan首次提出地震研究意念時，讀者根本沒有興趣理解我的觀點，我必須藉助於FORTH實作例題，來引起大家注意，所以有一篇早期的網文：『FORTH操作音效卡』，就留在中華民國FORTH語言協會網頁中，此處則不多留。然後，紐西蘭去年九月發生了基督城的大地震，我進一步嘗試刊載地震科普文章，提醒全體中國人注意，文內的圖示我準備了好幾天，讀者也仍然沒有興趣。不幸，半年後的今天，日本的大地震、大海嘯、大核災引起全球群眾的恐慌，才開始有讀者肯閱讀我的網文了。&lt;br /&gt;如果您能仔細閱讀我的地震專文，您應該了解我絕不亂寫，也絕不丑表自己像個事後諸葛亮。網文敘述的內容，必須是屬於我個人專業範圍內的先見之明，而且必須言之有物，我才寫。專文中有些內容，牽涉到原子爐的專業知識，我能提供正確的建言，但要等很久之後，才會有人照著做。甚至於直到災難發生後，拖過了半個月後的今天，全世界的專家才逐步採用同樣方法來解決問題，大家可以根據網文內容與日本大核災新聞報導的先後秩序，進行比對後體會出來，我大概只獲得了比較高的網文讀者點閱率，完全無利可言，所以不必曰利。這方面，我自覺對全人類足夠熱心了卻只能冷眼，就像我們長期呼籲推廣FORTH一樣，一切只能任由它去，坦然面對。&lt;br /&gt;原子爐燃料棒絕對不能熔毀，爐心只能打進淡水，緊要關頭，空軍總司令都得派飛機運淡水，消防車毀了也得救原子爐、緊急採用『可移入式』裝備、嚴禁狗急跳牆式的盲目運轉……等等，這些描述是在日本大核災發生次日，我就寫進網文，自己審核後，堅持到3月16日才按例行原則貼文，結果，日本好像只能在3月17日以後，照我寫的劇本演進，還愈演愈糟，現在已經是何必當初了。&lt;br /&gt;我並不在乎讀者重不重視我的網文，但我有本領將深奧的專業術語，以通俗語言解釋清楚，我只是在善盡社會責任。這段時日，來訪的讀者點閱人數相當可觀，可惜的是，中華民國當局還見不到任何人採取任何預防行動，為台灣的核能電廠做好準備，甚至於軟性的單位間協調，緊急支援體系的建立觀念都不見蹤影。依我個人見解，與其如此，不如明天就立法，急停核能發展，立刻開始全面進行原子爐的除役計劃，電費高也得接受，苦日子難過也得過，因為，台灣經不起任何一次能預先準備卻不去準備的大海嘯，發生了就得『棄島』，逃往大陸。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;我對日本政府的作風確實憤怒，我支持日本全國國民立刻進行『櫻花革命』，支持他們『無核、無兵』的民意主張，完成了革命，繼續維新，才能得天之助，才能無『大津波』(日語的大海嘯)。全世界的日本人必須永遠記住！有格有方的中國人不會想去欺負日本人，但是，只要你們有核、有兵，中國人就不可能善待你們，這是目前全世界最有道德修養、博愛世人之中國人，所能教導你們治理國家的最正確方法，它的精神來自四書，是孔子的思想。維新只學西方資本主義國家的投機、貪婪，只不過是維了半新，健全的道德思想只有中國才有，學了才能維成全新，我勸你們不要因為只維了半新而自取滅亡，所以全力支持你們進行『櫻花革命』。&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;地震專文之二中的所有呼籲，都是一般人講不出來的見解，但您知道嗎？我是在無書、無資料可供參考的情況下寫成的網文。這一生，我捆綁過兩套書籍，將其束之高閣：一是所有APPLE II的技術資料，另一就是核子工程方面的所有書籍，它們全未隨我移民來紐西蘭。換句話說，我能隨時僅憑記憶，寫出同業也難挑出毛病的科技術語通俗解釋，我也歡迎任何專家對我的網文內容進行善意的指正，但不要做無意義或沒有根據的爭論。如果，我的書本與筆記還在身邊，那我更能立刻使用ABC FORTH系統算給大家看，看看日本鈽式原子爐，以其基本功率運轉一年，能另外滋生出多少的鈽？因為，這只是『核工導論』教科書中的一題習題，我還留有計算程式。我講的不是笑話，我對核子工程的熟悉程度，不亞於我對FORTH的認識。&lt;br /&gt;&lt;br /&gt;以上為前兩篇地震專文的反省，這一篇地震專文之三，主要內容則分成兩部份。一是提供讀者『超低聲頻』可能可以預測大地震的科學根據，我將大地震界定為：芮氏五級以上，較具有破壞力的大地震，超低聲頻界定為：20 Hz以下人耳無法聽到的聲頻。另一則是一般性的討論，指出那些『動物的異象』，可能跟大地震有無關係？是負面列表，用來指正不當的譁眾取寵新聞報導，以正視聽。&lt;br /&gt;大地震來臨前幾天，人類曾觀察到許多次震前的『動物躁動』，而某些動物對超低聲頻的聽覺能力，確實比人類好，是這個研究主題的最基本出發點。&lt;br /&gt;『觀察』是科學研究活動的首要工作，但活動初期，通常是看不出什麼名堂，也因此容易衍生出許多的穿鑿附會。我們不能一看到動物異象，自己無法解釋，就隨便預言，可能與大地震就要來臨有關，常常這樣做，會不斷模糊了可以找出理由的依據，就會誤導實際可以產生結果的研究，大家應該盡量避免如此解釋『動物躁動』與『可以提前幾天預測大地震』間的粗糙關連性。&lt;br /&gt;科學研究初期，遭遇困難無法解釋科學現象時，就很需要大胆的提出有根據的假說，然後以實際行動驗證假說是否合理？這樣才能得到合理的科學結論。&lt;br /&gt;大地震來臨前幾天，地殼可能釋出特殊氣體、電離子增減、地下水位升降、或地磁磁性改變……等現象，都曾被人類記錄比對過，我個人能夠接受這樣的研究結論，但結論也僅只能對提前幾天預測大地震提供參考，不能作為絕對依據。因為，也曾經出現有了那些改變後，卻未曾發生大地震的記錄。&lt;br /&gt;我個人偏向於選擇大地震前幾天，地殼比較可能提前發出『超低聲頻』的物理現象，作為研究根據，它代表大地塊要破裂前，地塊自己快要支撐不住前的地鳴現象，愈大的地震，根據動物躁動現象顯示，震前小震現象發生次數就愈多，且持續更久，能提前幾天預測到的效果就更明顯，而且這種監測方法可以明確指出震央所在，其它方法比較困難。&lt;br /&gt;此前沒有人深入做過這樣的研究，但曾有人發表過偵測聲音的論文，而且結論是無效，但偵測的對象是高頻聲音，非20Hz以下的超低聲頻。我收集過這方面的學術論文，我現在寫的是網文不是論文，所以不必詳列。&lt;br /&gt;因此，我也必須提醒讀者，透過長期監測『超低聲頻』來提前幾天預測大地震的研究方法，不能在這個時候就鐵齒地講它一定有效，要求別人非得給我一筆錢來進行研究不可。它最後的研究結果，也可能會是毫無效果，不值得再研究下去。但我個人認為，就算無效，也要以科學研究方式證明它無效，讓後人不要再浪費時間、精力、與社會資源。讀者必須明白，在我未能證明大地震可以根據這種方法，提前幾天預測得到之前；也沒有任何一位地震專家，能夠證明大地震絕對無法根據這種方法，提前幾天被預測得到。&lt;br /&gt;&lt;br /&gt;90年代早期，我曾在上海寶山區顧村鎮住過一年，那裡沒有大地震，所以磚蓋的房子也不太考慮避震問題。移民紐西蘭後，住的是以木料支架為主的房子，是彈性的耐震結構，有外牆磚但不怕地震。我住過的這些房子，都緊鄰大馬路，重車通過時，房子都會輕微的搖動或震動，半夜三更能夠更清楚的聽到牆磚或水泥地基因震動而發出的沉悶聲響，這是我想將這種物理現象類比至地震研究的起因。&lt;br /&gt;我的聽力很好，不久前還接受紐西蘭勞工體檢聽力測試，結果自最低頻至最高頻的聽力表徵值都是滿分，護士小姐告訴我，那一套儀器不能測出我的聽覺能力極限，因為無論頻率高低，使用最弱的最低檔，我都仍然能夠靈敏反應，她沒得測了，所以全是滿分。&lt;br /&gt;學生時代，我在中正理工學院上課時，經常告訴旁邊座位的同班同學說：『今天晚上中正堂放映電影，影片名稱是什麼我都知道』。同班同學領教過我的聽力，因為那時，學校的廣播系統只對生活區廣播，不對教學區廣播，我卻仍然能夠聽得清清楚楚。&lt;br /&gt;除此之外，我曾經開玩笑的告訴不少來找我修遙控器的朋友說：『我聽得到遙控器發出的電波』，所以能夠告訴他們遙控器是好的還是壞的？誇言這種能力，當然是言過其實了，但不是胡說。&lt;br /&gt;有一次，隔壁的Norman老先生車庫門的遙控器失效了，找我鑑定問題所在，我很誠懇的教他驗證方法，我取出自己的山進牌短波收音機，將天線與電源開關打開，挑選了一個根本沒有電台訊號的收音位置，無論是那一個波段都可以，然後將遙控器靠近天線，壓下按鈕，能發射電波的遙控器，就也能讓收音機發出聲音，不能發射電波的，收音機就仍然寂靜無聲，電池沒電了，聲音就小，新的電池，聲音就大。那一次，就這麼簡單，我告訴Norman老先生，換一組新電池就行了，然後，我告訴他，我確實聽得到遙控器電波的聲音，他大笑一場，說我的耳朵確實與常人不一樣，我又說我還能用看的，他立刻回答，他絕對相信。&lt;br /&gt;我喜歡親自動手做科學實驗，所以能夠輕而易舉的解釋這種監測原理。所有能夠發射電波或聲波的東西，幾乎都不可能只是純粹的一個波長或頻率，否則這種波源就接近雷射。伴生之波，主要就是頻率能以整數乘上去或以整數除下來的諧波，只是振幅比主波小，如此而已。&lt;br /&gt;這樣解釋，您就可以明白，我為什麼能夠用收音機來修遙控器了？電蚊拍內轉換出高電壓直流電的電路、電腦的切換式電源供應器…等許多電器，都有相同的物理現象，這種道理，都能再度活用到其他許多方面。我教您技術時，您得舉一反三才能超越過我。&lt;br /&gt;現在，如果我告訴大家，我閉起眼睛，卻能聽到蝙蝠有沒有飛過我的頭頂，您應該可以相信我了吧？還不相信，就請讀完下表後再來理解。俗話說：『增廣視聽』，我要拿這句話來探討超低聲頻的地震早期監測研究。增廣視野，可以令您變得更為聰明，增廣聽野，就有機會讓大地震的早期警報監測系統，有可能很具體的實現出來。&lt;br /&gt;我對生物知識有興趣，仔細查過各種動物與聲音的關係。LIFE雜誌印行過一套科學文庫(LIFE SCIENCE LIBRARY)其中聲音與聽覺(SOUND AND HEARING)一冊，第194頁，有一張非常清楚的圖表，顯示了各種東西與動物，能發出的聲音，與能感覺得到的聲音，係以頻率作為表示基礎的漂亮示意圖。圖大而清晰，但難以轉刊入網文，只好將其內容列表示意如下：&lt;br /&gt;&lt;br /&gt;(1) 能發出聲音的頻率範圍：頻率單位( Hz)&lt;br /&gt;&lt;br /&gt;高級傳真音响系統 15 ~ 30,000&lt;br /&gt;定音鼓： 95 ~180&lt;br /&gt;管風琴： 10 ~ 8,000&lt;br /&gt;豎笛： 75 ~ 1,800&lt;br /&gt;小喇叭： 190 ~990&lt;br /&gt;鋼琴： 30 ~ 4,100&lt;br /&gt;小提琴： 200 ~ 2,650&lt;br /&gt;指揮牧羊犬用的靜音哨子： 12,000 ~ 14,000&lt;br /&gt;馬叫： 320 ~ 3,040&lt;br /&gt;獅吼： 110 ~ 1,076&lt;br /&gt;蝙蝠聲： 10,000 ~ 120,000 (我能聽得到蝙蝠聲的理由在此，頻率太高時，我也聽不到，牠鼓動翅膀所造成的聲音頻率則很低)&lt;br /&gt;蚱蜢： 7,000 ~ 100,000&lt;br /&gt;人類： 85 ~ 1,100&lt;br /&gt;貓叫： 760 ~ 1,520&lt;br /&gt;狗叫： 452 ~ 1,080&lt;br /&gt;知更鳥叫： 2,000 ~ 13,000&lt;br /&gt;綠蛙叫： 50 ~ 8,000&lt;br /&gt;海豚： 7,000 ~ 120,000&lt;br /&gt;&lt;br /&gt;(2) 能感覺出聲音的頻率範圍： 頻率單位 ( Hz )&lt;br /&gt;&lt;br /&gt;海豚： 150 ~ 150,000&lt;br /&gt;綠蛙： 50 ~ 10,000&lt;br /&gt;知更鳥： 250 ~ 21,000&lt;br /&gt;狗的聽力： 15 ~ 50,000  (請注意只有狗特別低於20 Hz )&lt;br /&gt;貓的聽力： 60 ~ 65,000&lt;br /&gt;人的聽力： 20 ~ 20,000  (我能聽到蝙蝠發出10,000 ~ 20,000 Hz之間的聲音) &lt;br /&gt;蚱蜢反應： 100 ~ 15,000&lt;br /&gt;蝙蝠反應： 1,000 ~ 120,000&lt;br /&gt;鱷魚反應： 20 ~ 6,000　（鱷魚也有較低頻率的聽覺能力）&lt;br /&gt;飛蛾反應： 3,000 ~ 150,000&lt;br /&gt;&lt;br /&gt;　　以上的列表，是我相信某些動物躁動與大地震相關的科學數據依據。&lt;br /&gt;　　不是所有的動物都對超低聲頻能有反應能力，因此，不該隨意將動物異象透過超低聲頻因子來牽連與大地震的關係，文末我會舉一些其它的理由。&lt;br /&gt;　　如果動物躁動與超低頻聲音有關，而想自己設計出偵測器時，該怎麼辦？那就得直接採用超低聲頻的靈敏探頭，將目標鎖定在能測得20 Hz以下聲頻者為主。許多書籍可以提供這方面的知識，我從美國儀器協會(Instrument Society of America)出版的儀器工程師手冊(Instrument Engineers Handbook)第548頁中列出相關資料。&lt;br /&gt;　　能偵測聲音的偵測元件有很多種類，它們對聲音頻率的響應範圍，可以決定能不能用來量出20 Hz頻率以下的超低聲頻？我查找過不少相關書籍後，了解到只有電容式(Capacitor)的偵測元件，聲頻響應範圍才能低到20 Hz以下，其它如碳粉式(Carbon)、動圈式(Coil)、單晶式(Crystal)…等偵測元件，均不符合要求。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;單純電容式的偵測元件，頻率響應範圍大約為：15 ~ 15,000 Hz，如果還想將頻率量得更低，則可採用所謂載頻電容式(Carrier-type Capacitor)的偵測元件，它的工作原理仍是以電容結構形成麥克風(Microphone)，但施加於電容極板間的電壓，非單極性電壓(No polarizing potential is used)，而改將此麥克風的電容納入振盪電路，讓它成為是一種載有振盪頻率的電容式偵測元件。如此一來，被聲壓改變的電容，就能在電路上顯現出對應於聲頻的頻率，電路便很容易輸出對應於頻率的訊號，而頻率響應可以低至0 .1Hz，有效範圍約為：0.1 ~ 20,000 Hz。這些超低聲頻測量元件的知識，是想要完成此一研究的關鍵。&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;也許，中央氣象局號稱可以提供許多長期地震聲頻的測量記錄，但若偵測元件不是使用上述電容式的探頭，那麼，所能提供的記錄，超低聲頻的部份就都是背景雜訊，沒有意義，因為非電容式偵測器，根本量不到頻率在20Hz以下的任何訊號。一般地震的記錄訊號，都是以量度位移者為主，不是聲頻訊號，位移訊號的頻率與聲頻的頻率不等，二者不可混淆。&lt;br /&gt;其實，根據這些簡單卻很重要的基本知識，自行實現想要的麥克風探頭，並不是困難的事情，我相信中國人無論海峽兩岸的那一邊，都有能力辦到，但沒有人重視就沒有人去做。天下也沒有能從0量到無限大全部範圍之信號的儀器，想完成希望中的測量，還有許多工作範圍測試與匹配電路設計的工作得進行，將訊號過濾、放大、成形，最後才能配接到電腦，讓電腦自動完成長期監測，這一段過程要花不少錢，我自己的經濟能力辦不到，只能希望有心人繼續努力了。&lt;br /&gt;&lt;b&gt;人們無法24小時工作，訊號還得靠記憶體留存下來，這就是從事這種監測非藉助於電腦不可的理由。&lt;/b&gt;電腦長期記錄下訊號後，初期還必須經由人工來判讀，這是訊號識別判讀的工作，必須先行依靠人類的智慧來完成。如果一切能如預期中的那麼理想，初期可以先行安裝單一個偵測點，每天人工檢視記錄，觀察有無希望中的訊號被記錄下來，訊號持續的時間，應該也就是一般地震可以持續的時間長度，只不過強度應在五級以下，此為設定信號放大比率的依據，放得太大了，甚麼小地震的信號都聽得到，但都是信號就等於沒有信號，放得太小了，該聽到的訊號就會被錯過，也等於沒有信號，因此，放大比率要經實測後決定，目標則針對五級以上的地震，五級以下的小地震，應該不是發展地震早期警報監測系統研究的主要目標。&lt;br /&gt;然後每星期一次，經由中央氣象局取得監測範圍內所有記錄得到之五級以上的地震，他們的測量依據是來自於精密的位移而非聲頻，無論遠近與深淺，台灣估計平均每一個月會有2到3次的出現機會，反推回一星期內所獲得的超低聲頻訊息，針對某一特定地點，找出其中是否存在固定規則的對應關係，就有機會得到結論。單點有結果，陣列式的測量安排，配合上網路，當然就能進一步定量與定位，地震專文之一講解過這些基本道理。至於超低頻聲音，在地殼中的傳播速度，已有不少實驗數據可供參考。最後，就能設計出完全由電腦自行監測後顯示結果的系統。這是一條頗為慢長的發展路途，要有耐心才能完成，當然，我也不否認，有可能是一次失敗的假設。&lt;br /&gt;您看出上述這一段立論的基礎是什麼了嗎？因為，我假設大地震的發生都不應該是突發的單一事件，它來臨前，都應該有一些小型的地塊崩塌事件會提前幾天發生，才造成動物躁動。除了核子試爆引發的突發大地震外，所有自然發生的大地震，都不應該是那麼乾脆，都應該有大小不一的零星碎震，提前幾天發生，且直接與大地震相關。密集持續的發生，才會是造成動物躁動的主因，突然只嚇動物一跳，影響不大，不斷地嚇動物，牠們就會嚇壞了，才有持續的躁動。所以採用量得碎震來預測大地震的方法，就在實現模擬出動物能夠超越人類的感覺，這是基本立論。&lt;br /&gt;設計出來的系統，也可以與預期可能會躁動的動物擺在一起，共同進行交叉比對性的研究，研究就會更有價值。這樣的建議，聽起來似乎有點幼稚，但是，那一個未經證實前的科學假說不令人覺得幼稚？當初第一個敢講地球是圓的、也不是宇宙中心的科學家，是被權力核心的教會組織，當作瘋子關起來的。&lt;br /&gt;立論如果正確，人類就能超越動物的感覺，因為可以指出震央可能在那裡？立論如果是未必如此，就也無法根據此法提前幾天預測出大地震。因此，此法暫時只適合用來作為提前幾天能預測大地震的永久性先鋒監測方法，還不夠資格被稱為是絕對有效的單一方法，但此前根本沒有更好的方法。&lt;br /&gt;完全放棄不測量高頻聲音的原因，是已有論文發表，顯示沒有效果。一方面是高聲頻本身在地殼中就無法傳得太遠，訊號極易被地殼結構直接吸收掉。另方面是地中高聲頻雜訊非常普遍，動物因習慣成自然，所以也不害怕。而且非地震產生之高聲頻，只要出現，其強度就足以蓋過地震之有意義訊號。美國以前就挖過幾個一公里深的偵測井，長期監測後，未曾得到過有意義的訊息，因而發表過這方面的論文。&lt;br /&gt;&lt;br /&gt;&lt;b&gt; 我在網上提出偵測超低聲頻理念之後年餘，北韓進行了核子試爆，美國則發佈了經由長期監測地殼超低聲頻的訊息，知道北韓核子試爆的事件，它強烈的暗示我們，地殼遠處的超低聲頻，確實是很容易便可以測量得到的訊息，但不是一般聲頻。我在2009-07-05於本網頁刊出的『譜』一文中，詳細的提及此事。美國人是如何辦到的？我可以透過一張非常容易了解的圖表解釋清楚，我花了不少時間完成此圖，主要是想讓所有的中國人都能很容易看懂此圖，原英文圖示則來自作者Paul Scherz的Practical Electronics for Inventers, McGraw-Hill 於2000 年出版，P.300。抱歉，此圖由小畫家製作，原本非常清楚，貼網後，因灰度關係而模糊，僅能作為參考，有興趣的讀者請自行參閱上述書籍。&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-7MW09hpJQE4/TZaAtBddG_I/AAAAAAAAAgs/UsztH36K0ZY/s1600/%25E5%2590%2584%25E7%25A8%25AE%25E9%25A0%25BB%25E7%258E%2587%25E7%259A%2584%25E8%2581%25B2%25E5%25BC%25B71.bmp" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="400" width="274" src="http://2.bp.blogspot.com/-7MW09hpJQE4/TZaAtBddG_I/AAAAAAAAAgs/UsztH36K0ZY/s400/%25E5%2590%2584%25E7%25A8%25AE%25E9%25A0%25BB%25E7%258E%2587%25E7%259A%2584%25E8%2581%25B2%25E5%25BC%25B71.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;讀者請特別注意圖表中的左下角陰影區，那裡沒有標示任何聲強與頻率關係的訊息，但並不代表此區內沒有任何大自然現象，只不過是人類過去不太測量這一區的自然現象而已。&lt;br /&gt;再順著左邊的陰影區往上看，這個低聲頻區仍舊罕有自然現象與之對應，最後，只有頭頂的轟雷(我聽過)、近距離核子試爆、噴射引擎的部份聲頻(我聽過)、近距離飛機失事(我聽過)、或者是砲栓打斷了的8吋榴彈砲爆炸聲(我聽過)……等，才有機會產生超低聲頻。美國就是根據這種特殊現象，測得北韓核子試爆的。因為，近距離超強的超低聲頻訊號，由遠處監測，這一條在圖中處於最左上方的醒目紅粗線，就會平移到圖中的左下方的區域，頻率範圍不變，聲音強度大減。因此，只要專心測量這一區的超低頻聲訊，就能測得核子試爆。可惜美國人沒興趣、沒耐心監測大地震，只想管別人的核子試爆。而核子試爆大概是人類可以模擬出大地震的唯一人造工具了，本文強調的重點，於此明焉！&lt;br /&gt;空氣中的超低聲頻要傳進地殼時，會有地表的反射界面大量的限制其傳入的份量，因此，頭頂轟雷與噴射引擎聲，對近距離安裝的超低聲頻監測探頭會有影響，距離較遠者就可以沒有影響，設計系統時可以考慮這些因素。這張圖表的最大功能，就是透過它來提示我們，如何利用左下角的空白區域？增廣與拓展我們的聽野，達到提前幾天便能預測大地震的目的。這是一片地震研究尚未開發出來的處女地，只要努力妥善進行，當然有機會增進全人類的福祉。&lt;br /&gt;另外，大家也該知道，能提前幾天預測到大地震的事例並不是沒有，但也還不能因此而以偏概全的強調，將來一定可以辦到。發生大地震的可能因子很多，本文則只針對比較普及的單一種『大陸板塊擠壓』學說來探討問題，因為，這樣做後，能夠獲得的結果，必然比較有實質上的效用。其他的因子，例如：大隕石突然撞擊地球，明擺著就已經告訴大家，本文探討的預測效果就根本無效了，所以也不用爭論這種自然現象與本文的關係。&lt;br /&gt;我天生不信鬼神，為文使用『天譴』字眼，只是憤而口出責言，不代表任何宗教意義。我終身愛好科學，自認為沒有科學解釋不了的自然現象，此前還不能解釋的問題，只是暫時性的問題，只因人類的慧眼稍差，需要時間來增廣視聽，將來就能為問題找到答案。屬於宗教性的爭議問題，我根本不談，因為，對提前幾天預測大地震的研究，不會有實質上的幫助，實際一點，還是就事論事比較好，我的任何觀點都跟上帝存不存在沒有關係。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;接下來，我打算討論幾種動物異象，與可能發生大地震有無關連的個人觀點。提出個人看法的目的，就是希望媒體不要經常穿鑿附會誤導群眾。&lt;br /&gt;我見過不少次新聞報導，某地區突然出現大批蚯蚓，就預判可能與大地震就要來臨有關。其實，只要讀者有興趣，我幾乎可以經常挑定日子，帶領大家觀賞成千上萬條蚯蚓同時出現的奇景，同住本市的台灣同胞廖福田先生可以作證。&lt;br /&gt;原本不該教大家認識這種自然現象，因為我不喜歡群眾知曉之後，破壞了大自然，但為去除民眾可能的迷信行為，輕度解釋一下也就無妨。&lt;br /&gt;紐西蘭環境優美，到處綠地，小小一個大約十來萬人的Hamilton市，竟然有一千公頃的綠地，大操場上的草地都有專人照顧，永遠保持平整。每當月黑風高的晚上，如果草地濕潤，成千上萬條蚯蚓就出現了，整年都是這樣。我在網文中提過好幾次，我比一般人更加了解夜晚的世界，此即其中之一，細節有點像是天機，所以不再進一步深入解釋。&lt;br /&gt;如果大家經常能見到成千上萬條的蚯蚓出現在您面前，您還會認為這種自然景觀的經常自然出現，還與大地震即將來臨有關嗎？我希望以後記者不要再進行這一方面的任何報導，它與地震無關。 &lt;br /&gt;&lt;br /&gt;前一陣子，全世界許多地方，出現鳥群大批死亡的異象，大家不明究理，新聞就直接說它是世界末日前的徵兆。後來，有些自然科學家對這種異象進行過解釋，我則有過我自己的實際經驗，可以與大家分享，這個異象還是與可能會發生大地震無關。&lt;br /&gt;很久以前，我住桃園龍潭，鄰居董太太要遠行幾天，委託我們代為照顧養在籠中的小鳥。有一天家裡桶裝瓦斯剛好用罄，請瓦斯行送來新的瓦斯，那時，每次裝上新的瓦斯接管後，都可以聽到積聚在管口的瓦斯衝爆出來的一聲爆音，隨後，屋內就會有一陣瓦斯味，不幸，隔沒多久，我竟然發現籠中小鳥都死掉了，事後對董太太抱歉萬分，並留下了永久的記憶。&lt;br /&gt;鳥類體型相對於人類是相當的小，飛行時要高速鼓動翅膀，心臟跳動比人類快，血液循環迅速，禽類的體溫都高達40度C以上，因此，難以接受對動物而言都是有毒的些微瓦斯，很容易被毒死。我從小看過許多本外國人寫的礦工生活小說，就描寫過礦工經常帶著鸚鵡下坑，牠的死亡，能提前預警坑內出現了瓦斯，礦工就得趕緊逃命。&lt;br /&gt;我也經常看過研究大自然的科普文章，描寫地下積聚的大量甲烷氣體，會發生突然暴開地表而衝向大氣的現象，湖泊、沼澤地帶、腐敗植物大量堆積的地區最易發生。那麼，空中飛行中的大批鳥群，是不是因此種現象的突然發生，就會出現大批同時死亡的現象？這只是經驗上的一種推理，但可以解釋與世界末日無關，也與大地震可能來臨無關。&lt;br /&gt;&lt;br /&gt;魚類大批成群的死亡，通常也與大地震可能來臨無關，魚是冷血動物，體溫經常保持與環境溫度差異不超過兩度C，但突然天寒時降低的大氣溫度，並不足以凍斃魚群，自然科學家解釋是水中溶氧突然大量不足，而致魚群缺氧成群暴斃的，我接受這樣的解釋，它就不成為異象了。許多魚都有群聚性，像沙丁魚一樣，擠在一起，氣溫驟變時，水中溶氧量會突然大量降低，就容易發生這種事情。魚類幾乎是冷不死的動物，我在俄羅斯居住期間，冬天零下30度C時，經常見到好魚釣者，背著冰鑽、小板凳、釣具，就在結冰超過一公尺厚度的河面上鑽洞釣魚，冰下不結冰的水，零度C也凍不死魚，有水中溶氧就行。因此，魚群成群暴斃與大地震會否來臨？無關。&lt;br /&gt;&lt;br /&gt;另外，一個不討論大地震的話題，是鯨魚成群結隊的擱淺。我個人有個獨特的看法，因為見過鯨魚集體捕食沙丁魚或其它種小魚群的實際記錄影片，產生了聯想。鯨魚群在圍捕海邊小魚群令小魚走頭無路前，最後的一個衝刺，一口吃盡大批的小魚群，可能是導致鯨魚不幸成群結隊擱淺的主因。紐西蘭保護近海魚類做得很徹底，因此，海邊有豐富的魚群在此生活，也難怪常有鯨魚出沒，當然也就經常發生大批鯨魚擱淺的事件了。其實想證明這種現象並不困難，迅速解剖一條鯨魚就能驗證，只是紐西蘭人不這樣做而已，每次發生了這種不幸事件，就出動大吊車，進行就地掩埋了事。&lt;br /&gt;&lt;br /&gt;反過來討論，某些動物的異象，可能跟大地震就要來臨有點關係，否則，我就根本不可能完成這篇地震專文之三的文章了。&lt;br /&gt;前述動物對聲頻反應的研究數據顯示，狗與鱷魚具有較低聲頻的聽覺，因此，新聞報導過大地震來臨前幾天，曾經出現狗與養殖鱷魚群的躁動現象，是我可以接受的報導。上述數據並未全面的列出所有動物，我也不可憑空臆測，但一般而言，穴居的動物，例如兔子，大概就具有同樣的知覺。我養過兔子，也見過在菜圃中鏟土時，每下一鏟，籠中兔子皮毛就一陣顫抖的現象，令我不忍，所以每次鏟土時，我都會搬走養兔的籠子，改放到最遠的角落去，但是，還是可以見到兔子皮毛的顫抖，可以想象，大地震來臨前幾天的狂大超低頻地鳴，絕對能令穴居的兔子，發生四處狂奔的異象。&lt;br /&gt;台灣發生921大地震的前一星期，我恰巧返台，見到長年無人居住的房內，出現了三個螞蟻窩，屋內根本就無可食之物，螞蟻實在不必在此築窩，但我清理了兩三天才解決問題。桃園距離南投很遠，大地震前也仍出現這種異象，表示螞蟻窩與震央無關，卻與震前環境異象有關。自那次以後，我每次返台，都再也見不到房內還有螞蟻窩了，甚至於院子內也幾乎不太有螞蟻出現。因此，我接受螞蟻的異象，可能跟大地震就要來臨有關的看法，但不作沒有根據的任何解釋。&lt;br /&gt;當然，大地震來臨前，曾被報導的動物異象，絕非僅是只有這些。子曰『知之為知之，不知為不知，是知也。』，我寫網文，可以比新聞記者更無拘無束，但需要透過盡量誇張的方式來吸引讀者嗎？不知卻強表知之，就是唸錯了孔子的繞口令，就會寫出錯誤的網文，所論內容就不值得一讀。&lt;br /&gt;&lt;br /&gt;已經存在我心中好幾年的理念，並不容易實現。因為，我們的社會資源，都不能歸我隨意享用，別人蓄意浪費資源，我的批評也不會產生任何效果。我則與世無爭，抱著能做多少就做多少的想法研究問題，曾經出現在我網文中的所有研究項目，都是如此。&lt;br /&gt;還想得獎，或者想爭取學術名位的人，可以繼續嘗試發展我在上文中已經提出的看法，成功了，也不必提報我的小名，失敗了也不必氣餒，因為都為我們人類盡過了心力。也許，早日實現它，日本就能在311中少受些損失，全世界包括中國人，將來也能受益，要不要加速它的實現？由我們的整個社會自行決定。&lt;br /&gt;&lt;br /&gt;***************************************************&lt;br /&gt;&lt;br /&gt;看看國外的故事，想像，我們應該也有這樣的事吧！不管您會不會轉寄，思考一下也 ok 啦！&lt;br /&gt;真的很感人！人的選擇往往都在一念之間！ ~~~~~~~&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. 兩個選擇&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;你會怎麼做？請你作出你的選擇，這不是什麼機智問答。總之讀下去，我的問題是：你會作出同樣&lt;br /&gt;的選擇嗎？&lt;br /&gt;在一個學習遲緩兒童學校的募款餐會上，在場的所有人永遠忘不了其中一個學生的父親所說的話。&lt;br /&gt;在推祟學校和教職員的付出和貢獻後，這個家長問了一個問題：&lt;br /&gt;照理說在無外力干擾下，大自然所創造的一切都是完美的。但我的兒子，西恩，他無法像別的孩子&lt;br /&gt;一樣的學習，他無法像別的孩子一樣的理解事物。&lt;br /&gt;在我孩子身上，大自然的法則何在？所有聽眾都啞口無言。&lt;br /&gt;這個父親繼續說。我相信當像西恩這樣有身體及心智殘缺的孩子來到這個世界，是一個展現人類真&lt;br /&gt;實本性的機會。體現在別人是如何對待這個孩子。接著，他說了下面的故事：&lt;br /&gt;西恩和我走過一個公園，裡面有些西恩所認識的男孩正在玩棒球。西恩問我：＂你想他們會讓我一&lt;br /&gt;起玩嗎？＂我知道大部份的孩子不會想要有西恩這樣的孩子在自己的隊上，但身為一個父親我同&lt;br /&gt;時也知道若他們能讓我兒子參加，這會讓他得到他所迫切需要的歸屬感，並建立起自己雖然是殘&lt;br /&gt;障仍能被接受的信心。&lt;br /&gt;我走近一個男童（不抱太大的希望）問他西恩可否參加，他看看周圍的隊友然後說＂我們輸了 6&lt;br /&gt;分而現在正在第 8 局上，我想他可以參加我們的隊，我們會在第 9 局設法讓他上場打擊。”&lt;br /&gt;西恩帶著滿臉的喜悅，困難地走向他球隊的休息區，穿上該隊的球衣，我悄悄滴下眼淚，心中是&lt;br /&gt;滿滿的溫暖。而那些男孩也看出了我對於兒子被接納的喜悅。&lt;br /&gt;在 8 局下，西恩的隊友追了上來，但仍然還輸 3 分。&lt;br /&gt;第 9 局上半場，西恩戴上手套防守右外野，雖然没有球往他的位置飛來，但能在場上他已經很高&lt;br /&gt;興了，我從看台上向他揮手，他笑得合不攏嘴。&lt;br /&gt;在 9 局下，西恩的球隊又得分了。&lt;br /&gt;此時，二出局滿壘的狀況，下一棒是球隊逆轉的機會，而西恩正是被排在這一棒。&lt;br /&gt;在這重要關頭，他們會放棄贏球的機會讓西恩上場打擊嗎？&lt;br /&gt;讓人驚訝，他們真的把球棒交給了西恩。大家都知道，西恩根本不可能打到球。因為，他甚至不知&lt;br /&gt;道怎麼握球棒，更別談碰到球了。&lt;br /&gt;然而，當西恩踏上打擊位置，投手明白，對手為了西恩生命中重要的這一刻放下贏球的機會。所以，&lt;br /&gt;他往前走了幾步，投了一個很軟的球給西恩，讓他至少能碰一下。第一球投出，西恩笨拙地揮棒落&lt;br /&gt;空了。&lt;br /&gt;投手又再往前走了幾步，又投出一個軟軟的球給西恩。&lt;br /&gt;當球飛過來，西恩揮棒打出一個慢速的滾地球，直直的滾向投手。&lt;br /&gt;眼看球賽就要結束。&lt;br /&gt;投手撿起這軟軟的滾地球，他可以輕易把球傳給一壘手，讓西恩出局，結束這場球賽。然而，投手&lt;br /&gt;讓球高高地傳往一壘手的頭頂上方，讓所有的隊友都接不到。&lt;br /&gt;每個在看台上的人，不管是那一隊的，都開始喊：＂西恩，跑到一壘！跑到一壘！跑到一壘！＂&lt;br /&gt;西恩這輩子從來没有跑這麼遠過，但他還是努力跑到了一壘。&lt;br /&gt;他踩上壘包眼睛張得很大而且很驚喜。&lt;br /&gt;每個人都喊著說：＂西恩，跑向二壘，跑向二壘！＂&lt;br /&gt;剛喘過氣，西恩蹣跚地跑向二壘，很辛苦的往壘包跑。&lt;br /&gt;這時，右外野手拿到了球，這個全隊最矮的小子第一次有了成為隊上英雄的機會。&lt;br /&gt;他大可把球傳向二壘，但這小子了解投手的心意。所以，他也故意讓球高高傳過三壘手的頭頂。&lt;br /&gt;當前面的隊友往本壘跑時，西恩跌跌撞撞的往三壘跑。&lt;br /&gt;大家都大喊著，＂西恩，跑下去，跑下去。＂&lt;br /&gt;西恩所以能到達三壘，是因為對方的遊擊手跑來幫忙，將他帶往三壘的方向，而且喊著，＂跑到&lt;br /&gt;三壘，西恩，跑到三壘。＂&lt;br /&gt;當西恩抵達三壘，雙方的選手和所有的觀眾都站起來，高喊著，＂西恩，全壘打！全壘打！＂&lt;br /&gt;西恩跑回本壘踩上壘包時，大家為西恩大聲喝采，就如他打了一個大滿貫並為全隊贏得比賽的英&lt;br /&gt;雄一般。&lt;br /&gt;＂那一天＂，那個父親兩頰淚流滿面非常感動地說，＂兩隊的男孩子把真愛和人性的光輝帶進了&lt;br /&gt;這個世界。＂&lt;br /&gt;西恩没能活到另一個夏天，他在那年的冬天就過逝了。但，他從没忘記他曾經是個英雄，而且讓我&lt;br /&gt;們那麼高興，以及他回家時看著媽媽流著淚擁著小英雄的那一天！&lt;br /&gt;現在；是這故事的一個附註：&lt;br /&gt;我們不假思索的用 email 把數以千計的笑話傳來傳去，但當我們遇到要傳送有關生命選擇的信件&lt;br /&gt;時，我們反而感到猶豫。&lt;br /&gt;粗俗、野蠻和經常是有點淫穢的東西每天在網路上無限制的傳播著，反而一些高尚事情的討論卻在&lt;br /&gt;學校及辦公室裡被壓抑著。&lt;br /&gt;如果你在思考著把這封 email 轉寄出去，可能你會在你的連絡人上挑選出那些不適合收到這封信&lt;br /&gt;的人。然而，把這封 email 寄給你的人相信我們可以讓世界變得不一樣。&lt;br /&gt;我們每天都有無數的機會可以幫忙體現大自然的法則。&lt;br /&gt;很多 "人與人之間微不足道的互動" 都是一個選擇的機會。&lt;br /&gt;到底我們是把 "愛和人性的光輝" 傳遞下去，或者放棄這些機會，使世界一點一點地更冷默。&lt;br /&gt;有一個智者說過；要評價一個社會， 就要看這個社會如何去對待他們之中最不幸的人。&lt;br /&gt;所以現在你有兩個選擇；1.刪除 2.轉寄&lt;br /&gt;但願你的每一天都是西恩日。&lt;br /&gt;&lt;br /&gt;****************************************************&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. 不要讓貪心淹沒了愛心&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;曾慶潭2011-04-02於紐西蘭&lt;br /&gt;Ching-Tang Tseng&lt;br /&gt;ilikeforth@gmail.com&lt;br /&gt;http://forthfortnight.blogspot.com&lt;br /&gt;&lt;br /&gt;3月25日，統一發票開獎，財政部安排出第一期的大獎額，一次出現四個千萬大獎，其實，由於物價的上漲，現在的千萬與以前的200萬相比，價值相去不遠。生活在紐西蘭，本不該管我們親愛的同胞能得多少獎金的問題。這一次，我想關心的問題是：獎金數字暴漲一位數後，捐給社會福利機構的統一發票大量減少了。&lt;br /&gt;社會上以金錢方式長期施展愛心的動力來源，主要還是來自於普及性的『小愛』，大部份有錢人願意施展的『大愛』還是不普遍的。社福機構需要的統一發票捐贈數量大減，社福的推動必受影響，這一次，我也關心一下，我沒錢捐，捐一個『對獎程式設計原理』總可以吧？&lt;br /&gt;程式是全用中文寫的，是BASIC程式語言的語法，幾乎可以不需要任何解釋，任何中國人都應該很容易看得懂，我就將它捐給願意使用的任何社福機構。如果使用上有任何困難，請就近找中華民國FORTH語言協會的陳爽大哥協助解決，您讀完前一篇他捐贈的文章，就知道他絕對可以協助大家使用這個程式，需要的系統，我也願意免費提供。如果對於我設計的系統嗤之以鼻，那就請讀完這個程式後，使用您自覺滿意的程式語言與系統，自行設計一個，捐給社福機構使用，我則虛心接受批評。如果社福機構確有大量使用上的需要，而希望能有更容易操作的程式，例如：只建輸入發票號碼檔案的方式就能對獎，我也願意協助設計，不須任何費用，聊表愛心而已。&lt;br /&gt;使用時只需不斷複製此程式，將收到的發票以每100張為一個單位，單獨建立一個程式檔案。發票則標示編號後歸檔備查。&lt;br /&gt;然後依序在『輸入發票號碼』指令欄內建立發票號碼的數據，此事平時就能做。&lt;br /&gt;等到開獎那一天，再在『輸入全部獎碼』指令欄內建立獎碼數據。&lt;br /&gt;編改程式，可以藉助於操作滑鼠的『複製』與『貼上』來快速完成。&lt;br /&gt;然後執行MAIN指令，就能自動對獎了。&lt;br /&gt;&lt;br /&gt;祝社福機構好運，請大家讓愛心蓋掉貪心。&lt;br /&gt;&lt;br /&gt;\ 中文測試程式之五：統一發票對獎程式2009-08-17&lt;br /&gt;\ 根據中華民國98年5~6月份統一發票開獎中獎號碼&lt;br /&gt;\ 作者：曾慶潭&lt;br /&gt;&lt;br /&gt;3 整數陣列 特獎      &lt;br /&gt;3 整數陣列 頭獎       &lt;br /&gt;100 整數陣列 發票&lt;br /&gt;整數變數 位數        &lt;br /&gt;整數變數 獎碼&lt;br /&gt;整數變數 獎號        &lt;br /&gt;整數變數 票號&lt;br /&gt;整數變數 獎別&lt;br /&gt;&lt;br /&gt;: 輸入全部獎碼&lt;br /&gt;[[ 特獎 ( 1 ) = 19842289 ]] [[ 特獎 ( 2 ) = 25318024 ]]&lt;br /&gt;[[ 特獎 ( 3 ) = 37125199 ]]&lt;br /&gt;[[ 頭獎 ( 1 ) = 21114618 ]]&lt;br /&gt;[[ 頭獎 ( 2 ) = 81392211 ]] [[ 頭獎 ( 3 ) = 84469026 ]]      ;&lt;br /&gt;&lt;br /&gt;: 輸入發票號碼&lt;br /&gt;[[ 發票 (  1 ) = 82950923 ]] [[ 發票 (  2 ) = 56169544 ]]&lt;br /&gt;\ 由獎設號測試&lt;br /&gt;\ [[ 發票 (  1 ) = 19842289 ]] [[ 發票 (  2 ) = 56469026 ]] &lt;br /&gt;[[ 發票 (  3 ) = 41530708 ]] [[ 發票 (  4 ) = 66118734 ]]&lt;br /&gt;[[ 發票 (  5 ) = 25757779 ]] [[ 發票 (  6 ) = 10995679 ]]&lt;br /&gt;[[ 發票 (  7 ) = 43828997 ]] [[ 發票 (  8 ) = 63396571 ]]&lt;br /&gt;[[ 發票 (  9 ) = 61727229 ]] [[ 發票 ( 10 ) = 44953896 ]]&lt;br /&gt;[[ 發票 ( 11 ) = 40130628 ]] [[ 發票 ( 12 ) = 75467348 ]]&lt;br /&gt;[[ 發票 ( 13 ) = 79728965 ]] [[ 發票 ( 14 ) = 18383711 ]]&lt;br /&gt;[[ 發票 ( 15 ) = 89750406 ]] [[ 發票 ( 16 ) = 35075233 ]]&lt;br /&gt;[[ 發票 ( 17 ) = 94544750 ]] [[ 發票 ( 18 ) = 13611891 ]]&lt;br /&gt;[[ 發票 ( 19 ) = 85909685 ]] [[ 發票 ( 20 ) = 84084745 ]]&lt;br /&gt;[[ 發票 ( 21 ) = 12310391 ]] [[ 發票 ( 22 ) = 75123618 ]]&lt;br /&gt;[[ 發票 ( 23 ) = 26030399 ]] [[ 發票 ( 24 ) = 91248370 ]]&lt;br /&gt;[[ 發票 ( 25 ) = 11366404 ]] [[ 發票 ( 26 ) = 35162865 ]]&lt;br /&gt;[[ 發票 ( 27 ) = 82288731 ]] [[ 發票 ( 28 ) = 26713227 ]]&lt;br /&gt;[[ 發票 ( 29 ) = 69206649 ]] [[ 發票 ( 30 ) = 56166247 ]]&lt;br /&gt;[[ 發票 ( 31 ) = 86121579 ]] [[ 發票 ( 32 ) = 45379026 ]]&lt;br /&gt;[[ 發票 ( 33 ) = 91197702 ]] [[ 發票 ( 34 ) = 59791687 ]]&lt;br /&gt;[[ 發票 ( 35 ) = 18895469 ]] [[ 發票 ( 36 ) = 76149205 ]]&lt;br /&gt;[[ 發票 ( 37 ) = 39698847 ]] [[ 發票 ( 38 ) = 18531411 ]]&lt;br /&gt;[[ 發票 ( 39 ) = 57436586 ]] [[ 發票 ( 40 ) = 36072666 ]]&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;: 準備數據      中文程式&lt;br /&gt;10 執行 輸入全部獎碼&lt;br /&gt;20 從   票號 = 1 做到 100&lt;br /&gt;30 令   發票 ( 票號 ) = 0&lt;br /&gt;40 配合 票號&lt;br /&gt;50 執行 輸入發票號碼&lt;br /&gt;60 結束      ;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;: 特獎對獎      中文程式&lt;br /&gt;10 從 獎號 = 1 做到 3&lt;br /&gt;20 令 獎碼 = 特獎 ( 獎號 )&lt;br /&gt;30 從 票號 = 1 做到 100&lt;br /&gt;40 假如 獎碼 &amp;lt;&gt; 發票 ( 票號 )  前往 80&lt;br /&gt;50 印出 " 發票( " ;  票號 ; " ): " ; 發票 ( 票號 )&lt;br /&gt;60 印出 " 恭喜發財！！！中了第一特講 "&lt;br /&gt;70 令 發票 ( 票號 ) = 0&lt;br /&gt;80 配合  票號&lt;br /&gt;90 配合  獎號&lt;br /&gt;100 結束      ;&lt;br /&gt;&lt;br /&gt;: 頭獎對獎      中文程式&lt;br /&gt;10 從 獎號 = 1 做到 3&lt;br /&gt;20 令 獎碼 = 頭獎 ( 獎號 )&lt;br /&gt;30 從 票號 = 1 做到 100&lt;br /&gt;40 假如 獎碼 &amp;lt;&gt; 發票 ( 票號 )  前往 80&lt;br /&gt;50 印出 " 發票( " ;  票號 ; " ): " ; 發票 ( 票號 )&lt;br /&gt;60 印出 " 恭喜發財！！！中了頭獎 "&lt;br /&gt;70 令 發票 ( 票號 ) = 0&lt;br /&gt;80 配合 票號&lt;br /&gt;90 配合 獎號&lt;br /&gt;100 結束      ;&lt;br /&gt;&lt;br /&gt;: 其他對獎      中文程式&lt;br /&gt;10 從 獎號 = 1 做到 3&lt;br /&gt;20 令 獎碼 = 頭獎 ( 獎號 ) MOD 位數&lt;br /&gt;30 從 票號 = 1 做到 100&lt;br /&gt;40 假如 獎碼 &amp;lt;&gt; 發票 ( 票號 ) MOD 位數 前往 80&lt;br /&gt;50 印出 " 發票( " ; 票號 ; " ): " ; 發票 ( 票號 )&lt;br /&gt;60 印出 " 恭喜發財！！！中了第 " ; 獎別 ; " 獎 "&lt;br /&gt;70 令 發票 ( 票號 ) = 0&lt;br /&gt;80 配合 票號&lt;br /&gt;90 配合 獎號&lt;br /&gt;100 結束      ;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;: 二獎對獎      中文程式&lt;br /&gt;10 令 位數 = 10000000&lt;br /&gt;20 令 獎別 = 2&lt;br /&gt;30 執行 其他對獎&lt;br /&gt;40 結束      ;&lt;br /&gt;&lt;br /&gt;: 三獎對獎      中文程式&lt;br /&gt;10 令 位數 = 1000000&lt;br /&gt;30 令 獎別 = 3&lt;br /&gt;40 執行 其他對獎&lt;br /&gt;5 結束      ;&lt;br /&gt;&lt;br /&gt;: 四獎對獎      中文程式&lt;br /&gt;10 令 位數 = 100000&lt;br /&gt;20 令 獎別 = 4&lt;br /&gt;30 執行 其他對獎&lt;br /&gt;40 結束      ;&lt;br /&gt;&lt;br /&gt;: 五獎對獎      中文程式&lt;br /&gt;10 令 位數 = 10000&lt;br /&gt;20 令 獎別 = 5&lt;br /&gt;30 執行 其他對獎&lt;br /&gt;40 結束      ;&lt;br /&gt;&lt;br /&gt;: 六獎對獎     中文程式&lt;br /&gt;10 令 位數 = 1000&lt;br /&gt;20 令 獎別 = 6&lt;br /&gt;30 執行 其他對獎&lt;br /&gt;40 結束      ;&lt;br /&gt;&lt;br /&gt;: 發票對獎    中文程式&lt;br /&gt;10 執行  準備數據&lt;br /&gt;20 執行  特獎對獎&lt;br /&gt;30 執行  頭獎對獎&lt;br /&gt;40 執行  二獎對獎&lt;br /&gt;50 執行  三獎對獎&lt;br /&gt;60 執行  四獎對獎&lt;br /&gt;70 執行  五獎對獎&lt;br /&gt;80 執行  六獎對獎&lt;br /&gt;90 結束      ;&lt;br /&gt;&lt;br /&gt;: MAIN  發票對獎 ;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;使用V4.2或是V6.14版本的ABC FORTH系統，載入上列程式後，直接執行MAIN指令，可以立刻得到下列結果。&lt;br /&gt;&lt;br /&gt;發票( 32 ): 45379026 &lt;br /&gt;恭喜發財！！！中了第 5 獎 &lt;br /&gt;發票( 22 ): 75123618 &lt;br /&gt;恭喜發財！！！中了第 6 獎  ok&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1097161848825759583-4114297835203621428?l=forthfortnight.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://forthfortnight.blogspot.com/feeds/4114297835203621428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1097161848825759583&amp;postID=4114297835203621428' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/4114297835203621428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/4114297835203621428'/><link rel='alternate' type='text/html' href='http://forthfortnight.blogspot.com/2011/04/blog-post.html' title='地震專文之三'/><author><name>Chings World</name><uri>http://www.blogger.com/profile/15191167870271612229</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_AchTsJsrvZw/STdFzdxFJaI/AAAAAAAAAAM/ZR_kphZVVHQ/S220/PC040006.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-7MW09hpJQE4/TZaAtBddG_I/AAAAAAAAAgs/UsztH36K0ZY/s72-c/%25E5%2590%2584%25E7%25A8%25AE%25E9%25A0%25BB%25E7%258E%2587%25E7%259A%2584%25E8%2581%25B2%25E5%25BC%25B71.bmp' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1097161848825759583.post-5712408482112045439</id><published>2011-03-15T12:47:00.000-07:00</published><updated>2011-07-20T22:59:56.945-07:00</updated><title type='text'>地震專文之二</title><content type='html'>曾慶潭2011-03-16於紐西蘭&lt;br /&gt;Ching-Tang Tseng&lt;br /&gt;ilikeforth@gmail.com&lt;br /&gt;http://forthfortnight.blogspot.com&lt;br /&gt;&lt;br /&gt;準備網文期間，日本三月十一日發生了大地震，災難之大，前所未見。此前，日本人一直都對中國人並不友好，但我不會趁人之危伺機回應，我對他們所受災難表示同情，希望他們能夠平安度過此次災難，一切都能迅速恢復正常。如果將來在國際舞台上，我若有技術還得與日本相爭，那麼，度過此次災難之後，再來比個高下。&lt;br /&gt;大地震與原子爐爐心熔毀的災難研究，我個人都有一些算得上是先知先覺性的獨特見解，但我只在承平時期，才願意寫仔細思考過的網文，絕對不當事後諸葛亮，隨便貼文來譁眾取寵，所以，這幾天，讀者就見不到我再度深入談論這些話題的網文。&lt;br /&gt;我為自己寫過的每一篇網文負責，寫出來的技術，都可以提出具體的根據。歷史事件的描述，則因我只是個寫網文的個體，根本就缺乏可供考據的資源，難免錯寫時間記錄，但都無傷大雅，我也不在乎讀者來函指正，能修改就修改。&lt;br /&gt;這幾天，每天都有不少讀者光臨那篇『地震專文』，文中論及地震早期監測超低聲頻的研究，對大地震能夠提前幾天預測的構想，一定會有幫助，我自己沒有經濟能力來完成系統，但希望認同的業內人士，能夠促其實現。任何人發展出來之後，完全可以撇清表明，與我的見解無關，這是為全人類做善事，不是名利，至少比拿幾億元去玩弄政治要好。&lt;br /&gt;&lt;br /&gt;刊出過的網文，曾經描述我親臨處理過可能發生原子爐爐心熔毀的重大意外事故。&lt;br /&gt;當時，幾秒鐘內就必須決定，從全功率運轉狀態，立刻急停原子爐，並接受系統強制轉變，短時間內被改成只用緊急冷卻水系統冷卻燃料棒，整個事情在不是人可忍受的高輻射環境發生與進行，在少於40分鐘緊急冷卻水即將用盡前，靈敏的想出辦法，讓系統不按設計常規，開始循環供水運轉，保住了原子爐。&lt;br /&gt;我不喜將這種事情拿來當作譁眾取寵的文章題材，談到時就輕描淡寫的一筆帶過，上述也只是一個綱要式的敘述。很久以前，我們這種專業技術人員，中華民國政府就已經不再需要了，那時，我就立刻退休，不給任何人帶來還得養著我這個高價米虫的負擔。&lt;br /&gt;我不在乎可貴的許多經驗與見解，雖對防治重大災難有益，卻被大家棄如敝屣。因此，依然寫成網文，留在這裡，刊出之後也不計較效果。只希望日本近日發生的重大災難，不要再在台灣重演，若再發生，誰都不能再推諉責任，硬要說它是偶然的天災。所以，此處繼續先知先覺的提出一些呼籲，一定比災後自以為是的還講廢話更有意義。&lt;br /&gt;全中華民國的任何一位核子工程人員，絕對無人像我那樣接近過『原子爐可能發生高功率狀態下的爐心熔毀緊急情況』，我曾經在只剩幾秒就會一發不可收拾的危急意外事故發生時，親手壓下過全功率運轉狀況下的急停按鈕，我對這種事故的嚴重後果瞭如指掌，所以在見到只能看新聞報導，卻無法親臨現場的的日本災難消息時，絕不輕易表示意見。&lt;br /&gt;&lt;br /&gt;核能電廠的運轉工程師，要注意了！所有緊急冷卻水系統的原來設計，在海嘯發生過後，可能都會全面失效，不用向老百姓強調有幾套自備發電設備了，任何防禦縱深，到時必然也都根本無效，老舊的系統，現在想改也很困難了。&lt;br /&gt;我對此專業系統具有專業概念，先知先覺的構想，則希望透過這篇網文籲請相關單位，就在承平時期，提前面對現實，大膽施工，加裝針對問題的解決設備，解決方法很簡單，施工過程卻很艱難，要碰高輻射，但若現在不做，很可能隨時就會來不及了。&lt;br /&gt;緊急冷卻水系統，一旦在原子爐運轉起來之後，雖只待機而不運轉，整個系統卻會成為一個無法接近的高強輻射裝置，但相對於主冷卻水系統，它的管線尺寸小了很多，用來維持正常運轉的動力需求，就不會大到難以處理。因此，加設計『可移入式』循環動力泵浦及動力源，是可行的應急方案。&lt;br /&gt;甚至於預先就在廠址近旁，鑽設一個備而不隨便使用的地下深水井，確定水源可供緊急冷卻水系統使用，然後，也設計成『可移入式』抽水設備，又有何妨？必要的話，系統供水循環，部份改由大型沉水泵負擔也可以，設計出動力電源快速配線機制，危急時就可以考慮只供『可移入式』電力，因為泵浦再也不怕水淹，這些都是辦得到的事情。&lt;br /&gt;設法先行找到此系統可以切開加裝臨時由外界併入供水循環裝備的管線位置，施工加裝配接管路、閥門，以及可以快速操作的接頭，強化該處耐受水患的設計，最好多設置幾處，海嘯緊急事故發生過後，這些能夠並聯『可移入式』裝備的接點，就會是未雨綢繆思考過後，帶來的救命設施。『可移入式』裝備，平日不用放在廠址，改放在其他安全又可以方便運送到廠址的地方，放在直昇機場也可以，緊急需要了，就用直昇機立刻吊運過去，所需裝備大概不會比坦克車重。&lt;br /&gt;原子爐由運轉狀況停爐下來之後，燃料棒的餘熱(Decay heat)問題，還得等上至少100天才會易於處理，因此，緊急冷卻水系統除了一定要有足夠的水循環外，還得有足夠的餘熱散熱能力，所以，整個系統的環境，都不能被海嘯打壞。工程師請立刻去現場視察一下，憑海嘯想像提出懷疑，覺得是弱點，就立刻補強。&lt;br /&gt;日本冒然將海水打入原子爐，絕對是一件不負責任的做法，冒然行事的態度不能學。核子工程師熟知任何物質與物理現象對原子爐的反應度(Reactivity)係數之意義，指的是它們可以貢獻於原子爐連鎖反應能力的影響程度，有正也有負，未經實驗確認，誰都沒資格憑想像吹牛，而且就算是正的反應度係數非常小，專業術語上稱之為僅有幾分錢(Cents)的價值，影響也可能會是一發不可收拾，對已經處於絕境狀況的原子爐尤然。&lt;br /&gt;這一個動作暫時絕對不能學，除非核子專家進行過同樣結構原子爐的確切實驗，證明水內另含大量氯與鈉或其他雜質的海水，是負的反應度係數，才可以大膽的執行這種操作。日本人的核子素養絕對有問題，當時他們是在賭博，專業術語稱之為『盲目運轉』，賭贏了只是運氣好，賭注卻是爐心會不會加速全面熔毀？就算這次他們賭贏了，我仍瞧不起這種素養，因為他們執行過盲目運轉。同一地點十座原子爐，怎麼這三座會被照顧成燃料棒熔毀？走上要用海水來賭輸贏的地步，有幾個工程師的素養，確實有問題，可能就是錯失了該打破常規靈敏反應的可貴幾秒鐘，才會如此。&lt;br /&gt;核子工程師嚴禁有狗急跳牆的念頭，日後檢討都可能會成為『國際笑話』。緊急找到任何淡水，應該不是那麼困難，空軍總司令下命令，用直昇機運都該運來，總司令您請不要怕『亂來』的惡質政客事後指責您，他們絕對是國家的亂源，全都該死，這種狀況發生時，只能勇往直前的幹活、做事。日本人不管怎樣都慢條斯里的排隊辦事並不是好事，快而不亂才能解決問題，原子爐不能排隊等水，日本人陰沉沉甚麼話都不說的國民性要改一改，否則，連我都會懷疑出事的原子爐內，是不是有著不可告人的秘密？他們曾經有過這種記錄，美國新聞媒體有過這樣的報導，發生死了人的超臨界重大事故後，要求日本政府解釋。&lt;br /&gt;台灣的核能當局，要為此項資料的獲得負起責任，如果還有人才，盡速安排自己實驗也可以，我雖具備了可以從事這件工作的背景知識，但不要找我，我是已經被淘汰多年的老兵，我只想推廣FORTH，寫網文鼓勵大家做好事、作好人，而且已經長期這樣做了，不應該被打斷。&lt;br /&gt;國外的居住環境，廚房內通常都使用電爐，很多同胞常請我協助，解決電阻絲爐盤燒斷了，必須更換新品的問題。十五年來，我們家的爐盤電阻絲卻從來未曾換修過，最多只換承接油垢的底部墊子。為什麼？這跟原子爐燃料棒會不會熔毀的觀念有關，我們家早就養成習慣，切除電源之後，爐盤上絕對保持留有鍋子，那怕只是一個內裝一點點水的鍋子，都比沒有任何東西要好，這樣子使用電爐，爐盤電阻絲就絕對不會燒斷。空氣具有極高的熱阻，妨礙熱量的散逸，前文『俄羅斯見聞錄』採用反例介紹過了，沒仔細看就請再回頭細讀研究一遍。這樣子比擬，全中華民國的同胞，就完全可以了解，日本原子爐內的燃料棒，為什麼會熔毀了。如果您讀我的文章時，細心一點，以後使用電鍋，就知道該如何使用？才能保其長命百歲了。&lt;br /&gt;讓『燃料棒熔毀』是運轉原子爐者最丟臉的事情，如果您缺乏勇敢面對這種問題的膽識，打從開始，就不該為了想要核輻射加給，為高薪待遇而從事於原子爐的運轉工作。既然做了，實習期間就該仔細想妥任何意外事故包括海嘯發生時，循最低輻射路徑操作系統的方法，到時才能勇敢進行有意義的犧牲，完成可能要命的任務。運轉原子爐發電來賺錢，怎麼轉都可以，就是絕對不能讓燃料棒熔毀，切記！切記！&lt;br /&gt;&lt;br /&gt;在『可移入式』設備改善計劃未實現前，不幸碰上海嘯，可先行擬妥應急方案，被海水泡過的任何需要電力之動力裝備，水退之後，未經瞬間高電壓測出絕緣沒有問題前，嚴禁冒然起動運轉，以防電器短路火災添亂。可以考慮到時就廢掉幾部遠地來的消防車，別管惡質政客事後亂罵毀了車子，應該制訂國法，在這個時候名正言順的消滅他們。消防車準備直接承受高度輻射污染，協助提供緊急冷卻水的循環動力及緊急補充水源，無論供應能力多大多小，對那個直徑通常只是三公尺左右爐心內的大批燃料棒，保持完全泡在水裡，絕對能有所貢獻。&lt;br /&gt;請務必記住！任何時刻，任何人，任何官員，對任何一座原子爐，都不可以『輕言放棄』，否則承平時期就不要主這個政、當這種官。核能部門為官的氣魄，是來自於平日對系統認知的培養、實務工程經驗、還有過人的膽識，這種官位絕對不能按照政黨惡鬥後的酬庸原則來安排，否則，天災來時，您就會順勢害死全國老百姓，以及我們的子孫。&lt;br /&gt;另外，別處發生海嘯了，有可能傳到自己所處位置，何時到達？不用到處亂問了，請記住，它的傳播速度，大約與您搭乘過的波音747民航客機，例行飛行速度一樣快，大約是每小時850公里。這一條知識，為全中華民國同胞終身幸福著想，應該寫進小學常識課本，從小就該背下來，考試要考，才能嘉惠百姓。&lt;br /&gt;我執行過四十百萬瓦原子爐外來供應電力全部停供的『全黑運轉』。該爐功率雖小，各種系統五臟俱全，深思熟慮過超出設計之外，如何將燃料棒恆泡水中的方法，所以才敢為我的同胞提出呼籲，這不是一個外行人的方案。敬業的運轉工程師，就能想出比我更高明的緊急處置辦法，您才是本文所探討之問題的絕對關鍵人物，不管您是萬人之上，還是萬人之下，天下都沒有人比您更熟系統。&lt;br /&gt;遠在紐西蘭見到各國報導的日本原子爐災難現場直播，令我不得不為中華民國全體同胞捏一把冷汗，我愛我的國家，也愛我的同胞，您們則悉聽尊便，可以拒絕我的不足掛齒之愛，所以，特別在此平安時期，加寫這部份尾段網文，留供大家日後參考，您看完之後，也能棄之如敝屣。&lt;br /&gt;&lt;br /&gt;**************************************************&lt;br /&gt;&lt;br /&gt;&lt;b&gt;臨貼文前，我再度審閱各方面新聞報導，感到這次日本的核子事故幾近於一發不可收拾的程度了，目前還在處理，表示再糟也還有機會受控，最令我擔心的是，宣告放棄處理而全面撤退。天啊！那裡有好幾座呢！那絕對會是我們今生最大的夢魘！&lt;br /&gt;我以專業的態度略表個人看法，這個時候，大家只宜說『天佑日本』，我們才能少受傷害，給他們一些鼓勵吧。我年輕時的勇敢，就來自於鼓勵，敢於接受有意義的犧牲。&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;***************************************************&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3月17日應台灣好友紀敏兄來電詢問預期可能狀況而再度補述如下：&lt;br /&gt;&lt;br /&gt;我一直在關心著日本核災發佈的最新訊息，我的擔心不是沒有道理的。&lt;br /&gt;災變後一星期，3月17日12:00，透過德國在紐西蘭的電視新聞台TVDW報導，得知了日本人陰沉沉不講話的最糟糕訊息，就如同是不可告人的秘密。&lt;br /&gt;福島一廠三號機使用的燃料，竟然是直接就能用來製造原子彈的『鈽』，而且是『全用鈽』來作為最老舊原子爐的原料。&lt;br /&gt;『鈽』配上『鈉』，是『快中子原子爐』維持更難控制核子連鎖反應的最佳組合，與一般使用『鈾』的『熱中子原子爐』比較，在安全性上有極大的區別，因為前者能貢獻於控制的關鍵性『延遲中子』比率較低，我在前年的『量化寬說』網文中，詳述過『延遲中子』在原子爐控制原理中，扮演了極為重要角色的道理。核子專業人員都懂得這個道理，但因牽涉到原子彈的敏感問題，任何人都極難取得『鈽』之相關性能資料。&lt;br /&gt;日本人還敢把含有大量『鈉』的海水灌進『鈽』原子爐，這可能是造成後來事件更形惡化的原因，讓熱中子原子爐成了快中子連鎖反應環境，而且愈熔愈密集，狀況變得愈來愈不得而知。看來核災的搶救更接近全面放棄的地步了，不幸但也無奈，最後，我們只能為那幾位少數的壯士致最高的敬意，他們是為全人類而犧牲的。&lt;br /&gt;『鈽』化性極毒，輻射性更可怕，沾上一丁點，極為微量就能致死，吸入身體就愛你入骨。&lt;br /&gt;台灣的同胞請不用過於擔心，原子爐不會像原子彈那樣爆炸，日本核災的最糟結果，大概就是幾個三哩島或車諾比，以後，要逆來順受，如此而已。&lt;br /&gt;我個人則對日本人陰沉沉的作風感到憤怒，確實是不顧別人的死活。還在媚日的人，對日本的認識該清醒了，您永遠是我的同胞，我絕不鼓勵您無知的陪葬。&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;**************************************************&lt;br /&gt;&lt;br /&gt;另外，我寫過『多事之秋』的網文，講過自己曾經收集核子意外事故，『秋常多事』的歷史統計論文記錄，我無意為文嚇讀者，只想提醒大家寧可信其有。也說過家兄經常告誡我：『福無雙至，禍不單行』，他一直戰戰兢兢的為國服務，卻常受人欺侮。大家是該牢記『禍不單行』，近鄰日本有難，國人更應提高警覺。&lt;br /&gt;最近，台灣記者報導不少新聞，名校的名學者，以專家觀點安慰大家，說三月二十日以前，月球最接近地球時，可能引發大自然災難的說法是無稽之談。我同意安定社會群眾的思想非常重要，但要求大家時常記得『多事之秋』這句話，提高警覺過日子，也沒有甚麼不好。專家學者何不就按照自然科學現象，順勢解釋，淡化恐慌，大眾反而可能比較願意接受。&lt;br /&gt;我個人學識絕對不如那些名大學的名學者，可是，我一向敢於進行突破性的思考，也勇於根據計算出來的實際數字講道理，本文就多增一點篇幅，證明『多事之秋』。&lt;br /&gt;我們中國人的這個『秋』，應該指的是『秋分』與『春分』之『秋』。因為，這個時候，地球離太陽最近，月球也會發生離地球最近的狀況。中華民國同胞快要過『春分』的日子了，我在紐西蘭就相當於是快要過『秋分』的日子了。所以，最近的整個地球，都算是逐漸的進入了『多事之秋』的季節，應該提高警覺。&lt;br /&gt;月球離地球近，就容易引發大自然災難的說法不是無稽，我以定量數字證明給您看，而且，邊打網文邊跑ABC FORTH數學計算系統，故意用這種方法算給您看。&lt;br /&gt;人人都懂萬有引力定律，這個引力與距離的平方成反比，因此，其他相關數據都不變，只有距離不同時，兩處的引力拿來比較，最大與最小之值到底會差多少？&lt;br /&gt;先查書，就查哥倫比亞大學Motz and Duveen所著的天文學課本Essentials of Astronomy，翻到123頁，清楚的提供了我們想要的月球參數，月球與地球的平均距離是384440公里，距離範圍從365400公里變化到406700公里，夠了，就用後面的兩個數字來計算。根據兩個極端引力比，等於兩個距離的平方反比關係，設計一個直接計算大引力對小引力比值的計算程式如下：&lt;br /&gt;&lt;br /&gt;: tell-me {{ ( 406700 * 406700 ) / ( 365400 * 365400 ) }} G. ; &lt;br /&gt;執行tell-me指令，立刻得到1.238828702  ok&lt;br /&gt;&lt;br /&gt;這表示甚麼？它表示月球離地球最近時，它的引力比離地球最遠時，多了將近24%( (1.238828702-1) * 100 = 23.8828702)。您若常在海灣內釣魚，您就很容易感受到海水漲退潮的威力，每天兩次，全周期12小時24分鐘。這種力的變化，主要就來自於月球。至於太陽與其它星球的影響，相對而言則比較小，各種引力數字的大小，是可以根據實際數據計算出來的，上列式子的計算結果，只是一個為了寫文章，輔助強調用的最簡單例子。&lt;br /&gt;月球的引力能夠吸動數以億萬噸量計的海水漲落個幾公尺，難道地塊就不是物質？沒有影響？錯了，月球也一樣可以吸引得動大地塊，當然，地塊不是流體，沒那麼容易變形變化，所以看起來是吸不『動』，卻能吸得『斷』。&lt;br /&gt;地球各不同大陸板塊千百年的推擠作用，讓板塊的邊緣逐漸的被推擠成變形狀態，專家稱它們是蓄積了龐大的壓力，總有一天要垮，於是就發生了大地震，甚麼時候垮？沒人說得準，所以這種大地震就難以預測。可是，您見到我上述的簡單計算了吧？您從那裡還能感受得到比月球吸引海水更大的力量？我未曾見過，月亮它對地球的引力影響確實是最大了，所以說月球吸得『斷』大地塊。&lt;br /&gt;變形的板塊總有一天要垮，月球的引力由小變成最大前，是逐漸的在增強，會垮的板塊越大，能夠順勢將其吸垮的引力就需得更大，那麼，接近『春分』或『秋分』的月球，當然很可能就是這種事件之壓垮駱駝的最後一根稻草，而且，不一定非得等到月球最接近地球的近地點才會發生，卻會是機會愈來愈大，自己的支撐都快要受不了的變形大地塊，被月球順勢一吸，怎能不垮？怎能不斷？&lt;br /&gt;容易被吸垮的小地塊，一天有兩次機會。此前就已被吸垮的，影響就減弱消失了。這個時候才被吸得垮的大地塊，效果絕對是非同小可，碰到的是『多事之秋』啊！這個『秋』包括了『秋分』與『春分』。過了這個『秋』點，也並非就絕對不會再有地塊會被吸垮，事件的發生是兩件以上因素的配合才發生的，大陸板塊的推擠運動，未必就能及時配合得上月球增強中的吸引力，更何況就算沒有月球，大地塊被擠壓變形，蓄積壓力到達地塊自己也支撐不了的時候，也得崩塌，這種情況就與月球吸不吸引這樣的大地塊無關了。但總的來說，接近『秋』點，確實就是機會較大，並且明顯的較大。專家實不必鐵齒，硬說它絕對與月球近地的距離無關，除非沒有萬有引力，或者上述式子算出來的比值微不足道，完全接近於1。明白這樣的道理，也可以別理江湖術士拿任何話來嚇您了，一切都是自然現象，能算得出來的。&lt;br /&gt;使用上述量化的觀點，提醒大家提高警覺，有甚麼不好？我不喜與人進行沒有根據、沒有意義的爭論，只想拿數字算給您看，沒有不安好心，您看完也能棄之如敝屣。&lt;br /&gt;我貼出此網文時，距離三月二十日清晨月球近地時刻，還有三天，祝福大家健康、愉快、平安。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1097161848825759583-5712408482112045439?l=forthfortnight.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://forthfortnight.blogspot.com/feeds/5712408482112045439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1097161848825759583&amp;postID=5712408482112045439' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/5712408482112045439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1097161848825759583/posts/default/5712408482112045439'/><link rel='alternate' type='text/html' href='http://forthfortnight.blogspot.com/2011/03/1run-2.html' title='地震專文之二'/><author><name>Chings World</name><uri>http://www.blogger.com/profile/15191167870271612229</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_AchTsJsrvZw/STdFzdxFJaI/AAAAAAAAAAM/ZR_kphZVVHQ/S220/PC040006.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1097161848825759583.post-2762835940145540173</id><published>2011-02-01T11:25:00.000-08:00</published><updated>2011-02-28T12:58:32.475-08:00</updated><title type='text'>俄羅斯見聞錄</title><content type='html'>曾慶潭2011-02-02於紐西蘭&lt;br /&gt;Ching-Tang Tseng&lt;br /&gt;ilikeforth@gmail.com&lt;br /&gt;http://forthfortnight.blogspot.com&lt;br /&gt;&lt;br /&gt;90年代，我在俄羅斯住了將近四年，從最東邊的海參威，首次入境開始，到最西邊的聖彼得堡，最後全身而退為止，以點式住宿、線型活動、面狀生活專心一意的經商，幾乎跑遍了整個俄羅斯，見聞是有一些，我們隨便聊聊。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. 正或負的30度C時 冰淇淋都很好吃&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;每年夏天，酷熱時期，吃冰淇淋是一種享受，尤其是紐西蘭使用純正新鮮牛奶製造的冰淇淋，更是好吃。夏天天氣越熱，就越適合享用冰淇淋，那時的氣溫，大約在正的30度C附近，中華民國的台灣同胞都有這種經驗。&lt;br /&gt;可是，您知道嗎？環境溫度是負的30度C時，冰淇淋也同樣好吃，這是長期在俄羅斯居住過後，才能親身體會得到的經驗。&lt;br /&gt;大概只有在環境溫度是0度C左右時，冰淇淋才難以下嚥，而冰淇淋的本溫，大約就在水的結冰溫度0度C左右。&lt;br /&gt;台灣同胞不容易像我這樣，能夠輕易的出入俄羅斯，90年代更難，所以，看一看我實際接觸過的生活經驗，可以增廣一點見識。&lt;br /&gt;一般台灣的溫度計，最低溫指示，大約只能量到負10度C左右，俄羅斯則為負的50度C，我常在俄羅斯的冬天遭遇負30度C的日子，這還不算太冷。&lt;br /&gt;有一次前往一個北極圈內的海軍基地驗貨，碰到了負的47度C還刮著風雪，離開交通工具後，手腳很快就麻痺而失去了感覺，估計自己根本走不到50公尺開外的一棟建築物，只好退回車子，要求駕駛開車將我送到廠房門口。那天，我明確的記得，下車時倒抽了一口冷氣，吸進鼻孔的冷空氣，瞬間就將我的鼻毛急速冷凍成硬梆梆的冰針，甚至於自己可以聽得到急速結冰時的嗶擘聲，俄羅斯人立刻警告我，不能碰鼻子，否則後果難以收拾。&lt;br /&gt;那時，負30度C的日子很長，我每天都得走進地鐵站搭車上班，地鐵入口附近，到處林立了許多賣小吃的小亭子，有些不怕寒凍的食品，就放在亭子旁邊販賣，別的東西不談，現在專談冰淇淋。&lt;br /&gt;那裡的冰淇淋也仍然需要使用雪櫃來存放，雪櫃上方則放置了一個小架子，架子上可以臨時擺放三個冰淇淋，或者就稱作甜筒，想買的人由小窗口付了錢，就自行從架子上取得冰淇淋，店主人隨後補上空缺。&lt;br /&gt;用來儲存冰淇淋的雪櫃，跟台灣的雪櫃完全一樣，但是，他們不用插電！使用雪櫃的目的只為保溫，是保其溫度勿低到負的30度C，否則，冰淇淋將被凍成像石頭一般的硬，沒有好牙、好嘴唇、以及耐凍神經就無福消受，放在櫃外架子上的冰淇淋，如果隔了一段時間還沒賣掉，那就得重新放回雪櫃內軟化，換出雪櫃內另外一個較軟的上來吸引顧客。在台灣，若這樣賣冰淇淋，很快就軟化而化成湯了，在俄羅斯，則會硬化而硬成磚。&lt;br /&gt;通常，我若未攜帶太多的隨身物品，下班時就會買個冰淇淋享受一下，負30度C時吃的冰淇淋是熱的，而且邊吃它還邊冒煙，吞進喉嚨的冰淇淋比吸進氣管的空氣溫度高了30度C，是溫暖的食品還是甜的，又能提供沒吃晚飯前的活動能源，怎麼不好吃？我的結論就是：正或負的30度C時，冰淇淋都很好吃。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. 俄羅斯的公車票是一公尺一公尺賣的&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;台灣人買豬肉，肉是用打的，要講成打幾斤豬肉。&lt;br /&gt;&lt;br /&gt;紐西蘭人到銀行，領稍微多一點的鈔票，鈔票就得用秤的，銀行全用秤鈔機。&lt;br /&gt;&lt;br /&gt;俄羅斯人搭公共汽車，買車票，票是一公尺一公尺賣的。&lt;br /&gt;&lt;br /&gt;大約2100多年前(西元前100年)，中國漢武帝，派遣蘇武出使匈奴，蘇武因拒絕匈奴的招降，而被扣留了19年，匈奴要蘇武牧羊，不放他走，只給他公羊，然後說：『等你牧的羊生了小羊，你才能回去。』&lt;br /&gt;&lt;br /&gt;蘇武牧羊北海邊，雪地又冰天，北海指的是貝加爾湖。&lt;br /&gt;&lt;br /&gt;我想知道那邊的人為什麼喜歡開這種玩笑？來到了伊爾庫次克(Irkutsk)，它位於通往貝加爾湖的一條河畔，不幸那時是冬天，湖面結冰幾公尺，可以開卡車，一片死白，甚麼也沒看到，也找不到開蘇武玩笑的原因。&lt;br /&gt;&lt;br /&gt;有一次，不想麻煩朋友季霍夫(Gihoff)接送，要到機場搭飛機時，自作主張的搭長途公共汽車，前往伊爾庫次克機場，車程超過兩小時。&lt;br /&gt;上車時，看到駕駛還是像普通短程市內公車一樣，只賣俄羅斯全國一個樣子、皮捲尺式、每張一塊錢的制式公車車票，心中有點納悶，駕駛通常都將一捲紙車票，懸掛在他左上方的架子上。&lt;br /&gt;我用生硬的俄語問他：『你好，我要去機場，請問車票怎麼賣？』&lt;br /&gt;駕駛竟然回答：『一米一米的賣』&lt;br /&gt;然後全車人哄堂大笑，或者就說成哄車大笑。起初，我還以為自己是個外國人，所以被愚弄。後來，問清楚了要買22塊錢新盧布的車票，價值大約也就是當時的22塊錢新台幣，算是長途車票。&lt;br /&gt;俄羅斯新盧布是將舊盧布砍掉三個0後等於新盧布。以前，從史達林時代開始，宣佈過舊盧布一塊錢永遠等於一塊錢美金，緊盯美元，但外匯管制，90年代，一夜崩掉，成了千分之一。我初入俄羅斯時，一美元可以換得6元新盧布。也經歷了又是一夜之間，一美元換成15元新盧布的險境。現在，則是一美元可以換得30元左右的新盧布。&lt;br /&gt;&lt;br /&gt;接著，看到駕駛真的拉下一長串車票，就利用左手邊、車窗旁、預先標示好的半公尺長度記號，半公尺10張，再一次半公尺，量完得到20張車票的長度，另外，再加算兩小張，撕下來給我，精準快速地完成了購票交易手續。你看！俄羅斯公車票怎麼不是一公尺一公尺賣的？&lt;br /&gt;&lt;br /&gt;接下來，我花兩小時的時間，想通了為什麼他們的老祖先要開蘇武的玩笑了，而且，現在世人也不再懷疑，只養公羊確實也可以生小羊了。當初，蘇武回到了中國，才有這一段歷史，他應該是實現無性生殖的鼻祖，用公羊複製出小羊，才回得來，不是嗎？&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. 新西伯利亞鄂畢海中有一個台灣島&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;俄羅斯國土廣大，全國可以橫跨11個時區，國境內有四條主要河流，由東到西分別為列納河(Lena)、葉尼塞河(Yenisey)、鄂畢河(Ob’)、伏爾加河(Volga)。這四條河流的河水，只有那一條在歐洲境內，流過莫斯科地區的伏爾加河，是向南流，其他三條河流，都向北流，注入北極海。&lt;br /&gt;&lt;br /&gt;俄羅斯國土正中央的新西伯利亞(Novosibirsk)大城，位於鄂畢河上游，城南圍河建壩，造了一個看不到對岸的大水庫，用來發展水力發電，鄂畢河這一段的積水，因此形成了鄂畢海。水庫的旁邊有一個學術城，地名以意義翻譯就叫學術小城(Academgaradok)，緊鄰鄂畢海。新西伯利亞大學，以及總共有23個之多的國家科學研究院，就都座落於這個學術小城內。&lt;br /&gt;&lt;br /&gt;俄羅斯人深感陽光可貴，城裡的居民夏天經常在鄂畢海邊游泳、衝小海浪，在沙灘上曬日光浴，從這個海水浴場望向海中，不遠處有一個小島，島名就叫作『台灣島』。&lt;br /&gt;&lt;br /&gt;很久以前，學術小城中有一對未成年的小情侶：達力亞(Dalia)與娃妮雅(Wania)，彼此相愛非常，雙方父母因小情侶均未成年，而極力反對他們的交往，有一天，他們相約私奔了，並且長期失蹤，家屬遍尋不著。&lt;br /&gt;&lt;br /&gt;隔了不久，新西伯利亞的警察，追捕一名殺人逃犯，循線追到了鄂畢海中的這個小島，抓到了殺人犯，但是令人髮指的是，殺人犯被捕前，唯恐小情侶逃離小島，去告發他的行蹤，又殺了久藏島上不為人知的這對小情侶：達力亞與娃妮雅。&lt;br /&gt;&lt;br /&gt;事發之後，為了新聞報導以及學術小城居民爭相傳頌這件可歌可泣愛情故事的需要，也為了紀念這一對受難的小情侶，大家都主動將這個原來默默無聞的海中小島，以達力亞與娃妮雅名字的字首命名為『達娃島』，俄語發音時有硬化或軟化的變化，這個島名用最正確的俄語發音時，就必須唸成『台灣』島。&lt;br /&gt;&lt;br /&gt;90年代，蘇聯剛解體，我在新西伯利亞的鄂畢海畔游泳、垂釣時，總是遙望著台灣島想念著台灣。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. 俄羅斯人如何識別猶太人&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;第二次世界大戰，希特勒屠殺猶太人後，全世界第一個宣佈接受落難猶太人的國家，就是蘇維埃社會主義共和國，這個國家後來解體成俄羅斯等十五個獨聯體。俄羅斯全國各處，都有不少猶太人，據說超過五百萬，關於這一點，我不想去查證，但俄羅斯確實是到處可以見得到猶太人。長期住過俄羅斯後，可以感覺出猶太人的處境並不太好，這一段短文，目的在告訴大家，猶太人在俄羅斯必須艱辛度日，俄羅斯人接受落難的猶太人，但痛恨他們參與政治或競爭生意。&lt;br /&gt;中國人永遠不會歧視猶太人，卻經常得小心避免別的民族在歧視猶太人而有所行動時波及自己，在國際舞台上，如果不學會別人如何識別出猶太人的方法，焉能預知危險之將至？這種場面，我見過太多了，許多不講道理的社會紛爭，並非人人能管，您逞甚麼英雄？更何況，搞不好某些猶太人還歧視中國人呢！要幫猶太人也不能幫在無理之時，彼此都該識點時務。&lt;br /&gt;以前，讀到史書中猶太人被迫害的描述時，我同情他們的遭遇，也很疑惑於他們為什麼不學中國人？以三十六計走為上策來躲避災難。看了許多電影中的相關情節，也覺得不合道理，總覺得外國人一眼就能認出猶太人，是不可思議的事情。而且，我保證讀者在未讀過本文之前，不可能天生就有識別能力，在這一方面，中國人的經驗嚴重不足、視野實在不夠，因為，長期以來，我們就罕於接觸國際事務。現在，這種知識該學了，是為猶太人好，也為中國人自己好。&lt;br /&gt;在俄羅斯長期經商，從事國際貿易，就不可能不接觸猶太人，也不可能不接觸馬匪(Mafia是俄羅斯黑社會的匪徒)。他們雙方在商場上可謂是死對頭，而猶太人處於劣勢。為了生活，生意又非得做下去不可時，猶太人拼死也得請幾個保鑣來冒險做生意，保鑣卻也是馬匪。&lt;br /&gt;為了能夠週旋在那種環境中做生意，我自己必須摸索出一套明哲保身、機敏反應的辦法，完成生意後才能全身而退，其中最有效的作法就是裝傻與守口如瓶。否則，俄羅斯黑道，只要知曉生意上有死對頭，立刻就會雙方火拼，而且經常連累買主。我旅居聖彼得堡期間，租屋附近的內瓦河橋上，曾經發生過馬匪使用穿甲火箭彈，一砲轟死每天搭乘防彈裝甲車上班之天然瓦斯公司老闆的事情。那天，我被辦案警察限制在四樓租屋中觀望了整個上午，下午才走得出家門搭車上班。&lt;br /&gt;生意做久了，就認識了幾個比較能深談俄羅斯社會狀況的客戶，有一天，有位這種客戶問我：&lt;br /&gt;『是否跟猶太人做過生意？』&lt;br /&gt;我裝迷糊的回答說：&lt;br /&gt;『我認不出那一種人才是猶太人。』&lt;br /&gt;順便向他強調：&lt;br /&gt;『您若不告訴我，我也不可能知道，您是不是猶太人？』&lt;br /&gt;然後裝傻的回問：&lt;br /&gt;『猶太人是不是都比較瘦小？』&lt;br /&gt;他立刻慎重其事的告訴我精簡的識別方法，也警告我別跟猶太人做生意，並且現場展示當日報紙，以首頁刊登之當時的現任俄羅斯猶太人總理普力馬可夫照片為例，講了三個識別重點，令我終身難忘。他說：&lt;br /&gt;『猶太人絕對是黑髮，頭髮不黑的就不是猶太人，染過髮或老了有白髮者不算。』&lt;br /&gt;『猶太人鼻樑正中央有一個小凸起，沒有凸起的就不是猶太人。』&lt;br /&gt;『兩眼形成一條水平線，兩耳形成另條水平線，猶太人的耳線明顯的低於眼線。』&lt;br /&gt;我的老天啊！如此一來，猶太人如何能逃得出希特勒的魔掌？他根本不用檢查有沒有割包皮的方法，一眼就可以看出您是不是猶太人了，真可怕！&lt;br /&gt;我們的孔子，出生於西元前551年，2500多年前就形容過逮捕猶太人時的恐怖景象，如果觀乎眸子，孔子說過：『人焉廋哉？』，我能體會希特勒靠近猶太人時，他們的那種恐懼眼神，碰到不講理的政客，情況就像下述這樣：&lt;br /&gt;猶太人可能一直高喊：&lt;br /&gt;『嘸細哇！嘸細哇！』(台語：不是我，不是我)&lt;br /&gt;希特勒一上去就狠狠的先打一頓，然後才說：&lt;br /&gt;『蝦米嘸細倪！就是倪！統統給我抓起來。』(台語：什麼不是你，就是你)&lt;br /&gt;猶太人真的是跑不掉、無處可躲。&lt;br /&gt;俄羅斯人接納落難的猶太人，是難能可貴的優良國政，接下來，要全國老百姓善待外來的移民，卻不是那麼容易解決的問題。因此，全世界所有的移民，都應該要有自知之明，要以猶太人的處境作為借鏡，外國人要識別中國人，比識別猶太人更為容易。&lt;br /&gt;事實上，一般外國人識別猶太人，比較正式的方法，是根據姓氏，猶太人擁有優良的堅強傳統，行遍天下，可以彈性用名，但絕不改姓，也因此而維繫住猶太人永久的團結，普力馬可夫是個例外，俄羅斯人也不喜歡他改過姓。&lt;br /&gt;教會裡傳頌識別猶太人的方法，是根據聖經裡記載的三個特徵：猶太人吃他們特有的聖餐、唱他們特有的聖歌、在他們自己的安息日上他們自己的教堂，做他們特有的禮拜。我聽過牧師講過這樣的道理，而且與牧師討論過識別之事，但是，以這樣的方法來識別，要拖很久，而且得偷偷的觀察，才能識別得出猶太人，這樣做，實在不夠光明正大。牧師就告訴我，他們還行割禮，那就更不能直接了當的問了。我看，還是俄羅斯人教我的方法比較好，迅速又確實。&lt;br /&gt;中華民國的政府官員，不知是否有我這種國際見識？也許是有了也不便講，我則無任何約束，可以自由寫成文章，提供大家參考。下一次在國際場合，見到外國人莫名其妙的爆發衝突時，最好先識別一下，是不是又有人對猶太人發難了？喜歡現場看熱鬧的同胞，若旁觀攻擊猶太人的事件，隨後必定會惹禍上身，所以，千萬別表現得這麼無知，政府官員則應該事先想妥自處之道。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5. 中華民國頒發的榮民證在俄羅斯照樣可以使用&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;初到新西伯利亞時，我一句俄語都不會講，剛開始，我都使用英語與俄羅斯人溝通，是一個俄羅斯猶太人阿六俠(Alyesha)幫我事先安排好的住宿，接下來的生活，就得自己照顧自己了。那時，蘇聯剛解體，民生物質極為缺乏，有錢也買不到甚麼好東西。俄羅斯人長期習慣於排很長的隊，等很久的時間，卻只買一點點食品。&lt;br /&gt;我第一次必須上街購物時，記得非常清楚，是一個冰凍的早晨，我用小快步的走法，履過硬梆梆的滑冰，來到一家離我住宿處最近的商場，見到門口排了好幾排科學城內的採購居民，我一時搞不清楚那一排才是我該排的隊伍，但無論排在那一排，估計都要等很久的時間，才輪得到我買東西，卻不知道商場裡面到底賣些甚麼？由於好奇，想了解狀況，於是先到商場中走了一趟，發現裡面確實就賣我想要買的日常食品，作業店面有好幾個，供應貨品較多的商店，排隊的人就多，家家都很忙，售貨老板都很高興。&lt;br /&gt;突然，我發現商場遠處的一個角落有家小店，只有一個孤伶伶的老太婆，落寞寡歡且很無奈的枯坐在櫃台前，她只賣一點點東西，沒有大魚、大肉，也沒有光鮮包裝的食品、飲料，這樣子做生意，怎麼能跟人家競爭？難怪沒人跟她買東西。我實在不忍心看著她今天賺不到錢而餓著肚子回家，而且本人剛到貴寶地，柴米油鹽全都缺乏，我想何不就支持這個老太婆？於是自告奮勇當她今天唯一的顧客，還根本不用排隊。&lt;br /&gt;下定決心之後，來到她的櫃台前，硬著頭皮講英文，說要買她的東西，她倒是很客氣，聽得懂我想要甚麼，但滿口俄語，咕嚕咕嚕的回我的話，好像只想跟我聊天，而不太在乎我想要買甚麼東西，後來，我乾脆自己到架子上取貨，堆放櫃台前，結了帳，背了就走，她也高興得猛向我鞠躬道謝。就這樣，每次採購時，我都先行支持這家老太婆的小店，買她的一些東西，知道她名叫馬莉娜(Marina)，也學會在她道謝時，用俄語回答她不用客氣。&lt;br /&gt;直到有一天，在這個商場上遇到了也來採購的熟朋友胡蘿娃(Frolova)，才澄清了一些事情。胡蘿娃是一個會講中文的猶太人，在新西伯利亞大學東方語文學系中文組教中文。胡蘿娃告訴我，她只來買一條黑麵包，但也得排很長的隊，並無奈的說：『俄羅斯就是這樣』。我立刻告訴她，我有比較好的辦法，可以快速買到她想要的麵包，於是就領著胡蘿娃來見馬莉娜，還自作聰明的幫她到架子上選了口味最好的一種黑麵包，告訴她比別家的便
