童蒙程式

苟日新,日日新,又日新。若遵此理,則諸君當學近今潮流提倡之編程乎?小童然也?大人然也?

 然也非也其故甚長,唯且嘗析程式思想之基要,解其魅之所以然。

  1.  基要

    程式有四基要,條件判斷、運算、指派、執行。

    我們先想作有一白紙,此白紙上可寫上命令並遞予執行者。執行者將由上至下,逐步執行敕令:判斷、運算、指派。

    試作如下:
    甲:[將 1+1 之和值與 3對等之結果指派予 X。]
    乙:[若 X 為真,請執行者靜默;否則揚聲。]

    執行者欲語默或揚聲,須先判斷靜默之條件是否成立。若靜默之條件成立,則可開出靜默;反之,則揚聲。

    欲知靜默之條件是否成立,須求得 X 之值。若 X 之值為真,則靜默之條件成立;反之,則靜默之條件不成立。

    欲求 X 之值,先計算 1+1之和,再將此值與 3 相比。結果是二值不對等,則可說:

    [1+1 之和值與 3 對等]之運算得出[否]

    [否]之結果將指派予 X, X 有如傳令者,將此令從甲傳至乙以判斷。若無指派此傳令者,則甲乙之間有萬象深淵,信息不能傳也。

    既然判斷 靜默之條件 不成立(二值不對等),理當執行 之命令:揚聲。

    續問,何解不將甲乙合併,則不需指派傳令員?

    甲’:[若 1+1 之和值與 3對等之結果 為真,請執行者靜默;否則揚聲。]

    答曰:善,唯程式之冗長實非只有甲乙二者。若有六十甲子之多命令,汝亦忍心一併合之?此合一之命令則難免冗長難閱,使撰命令者勞心詳寫;雖省卻傳令者,唯缺了書寫之通達。雖執行者可為無貪嗔痴所毒之電腦,可謂信達雅三者只求信;書寫欶令者、往後謄正欶令者卻是凡人,有信而無達無雅之文令可謂艱深難解。汝當能忍此心?
  2. 數理問題之可解

    設有一難題如下:請列出一至一百以內之質數。

    此難題之懶解,可謂將一至一百內之數字逐個試驗,看看能否被其之外之數所整除。

    唯當中涉及之步驟之次數可達五仟,難免累人。相比凡人在紙上手算,電腦之計算速度可謂極快,善編程者則可請電腦勞之。

    迴圈者,乃方便重複功夫及依規律改變部分傳令之值之式也。此式正可派上用場。

    甲:[將 1 之值指派予 i ]
    乙:[若 i 能被 i 以外之數值整除 為真,請執行者讀出 i ;否則語默。]
    丙:[若 i 之值少於 101 為真,請 將 i+1 之值指派予 i 並返回乙令;否則語默。]

    乙丙如此則能形成一迴圈,當 i 之值少於 101 時,執行者將回到乙令,測試下一數字 ( i+1 )。

    續問:此運算[ i 能被 i 以外之數值整除]乃如何求得?

    答曰:此運算實乃抽象之寫,其真象乃另一迴圈及判斷耳,暫不道破。由上可見,不少數理問題實可以欶令寫成,勞煩電腦計算結果。

    問:此法雖然簡單,唯如此逐個數字測試,判斷次數達五仟次,未免冗贅,未知有否其他神速之法?

    答:汝可尋求數學理論,辨明質數之性質,嘗試找出能快速排除其非質數之檢驗方法。唯此乃數理之門。汝亦可見,數理可與程式暗合,故習數理之人多需習用程式。

    問:我欲求得一至一百內之質數後另有他用,現在只是揚聲而未傳值至後續欶令。
    答:簡單傳令者只能傳達一個數值,唯尚有其他類之傳令者,有者可記下如清單般記下一連串數字;有者更能記下漢字、英文字、乃至於漢字句、漢文段落。可謂視乎所需而用也。大能之傳令者,實為一龐大之信息載體,能乘千般種子。
  3. 造物

    問:習數理之人自當習用程式,唯我非有數理志趣之人,又何習故?

    答:且聽程式之造物、擬物,便可知其大用。

    設有人管大戲售票之事,若其懶惰,則可編寫一程式,輸入大戲之情況及位置,予人自己選座付錢拿票。此售票之程式,可謂仿照平常人手賣票之步驟,只將其提煉作程式。電腦既能記得大戲之名稱內容,又能記得售出之座位不能再供人選擇,再以電子收費及列印功能來完成售票一事,可省卻人力。

    其中之步驟可想作幾零件之合作:紀錄大戲內容之紙張,紀錄該戲可供選擇之位置之紙張、收費之機能、列印戲票之機。是否當中所有均為實物存在?非也。

    紀錄之紙張實以虛擬之傳令員記之,列印之實體機故然存在,唯通知列印之內容之傳令員亦只是一虛擬傳令員也。則以其本質觀之,此程式不外是諸條件判斷、運算、指派、執行也。

    唯為作區分、達雅之用,諸條件判斷、運算、指派、執行 能組成不同之物,有擬大戲者、擬收費者、擬列印者、擬售位者。此區分使諸步驟顯得有條順暢達,其亦可戲稱作程式之造物也。
  4. 理世界

    對於身處之世界,我們常有很多自然現象需要判斷,可想作有一力學實驗,嘗拋球向上,欲求其何時觸地。

    此時,我們可以將涉及之對象,及現實世界之物理規則寫進程式。則彷如理世界裡生出了一個空間,有一顆球已然形成,只待程式執行,便可推出其後續之運動。

    先細研 現實之物之性質,及與其性質相關之物理,再於理世界生出其物與其相關之因果關係,再予推斷。若其因果律之正確及諸因素之信息完備,就能於理世界中預測未來,此種借理世界推演現實世界之未來之能力,又一編程之魅也。

可有一日人之五官與理世界相接而入?其未必遠。大曰逝,逝曰遠,遠曰反也。

留言

此網誌的熱門文章

陳物絪縕, 不知其秘

洪範小筆記

孔子解詩