-
2009年9月23日 星期三
題目:生命的軌道 文/沈芯菱
每當我人生感到困惑時,我就會看看這個小女孩的一些文章,
沈芯菱,年紀小我七歲的女孩子,卻有超乎年齡的成就,
出生平窮的她在國中時靠著她的電腦專長賺到了第一個一百萬,
並且毫不吝嗇地投身公益,為社會底層的人發聲,
每每看到她的文章都自嘆不如,是如何一個小女孩會有如此過人的想法?
以下是她在民國九十八年五月國語日報的一篇文章。
題目:生命的軌道 文/沈芯菱
參考來源:http://www.anan1.webnow.biz/whoisanan/chinese02.htm
近年來,有幸受邀至大學院校演講分享,近百場累積數萬名聽眾中,最常聽見的問題是:「我感到徬徨無助,不確定未來的方向」,甚至有許多同學憂心「畢業即失業」,茫茫然迷失目標,不知道在瞬息萬變的時代裡該如何自處。
早在數千年前,希臘德爾菲神殿 (Temple of Delphi) ,已經為你解答,那刻印在廟柱上的答案就是「認識你自已!」這句甚至影響了蘇格拉底。那你呢?你認識你自已嗎?你有思考過生命的方向嗎?
造物者很奇妙,給予每個人不同的身體、面貌和思想,也讓每個人擁有無窮的潛力。但我們常常羨慕別人,自已卻依舊陀縲般的原地打轉。
認識自已並不困難,首要是啟迪對生命的態度,成為一個能獨立思考、解決問題的人。因為我們不應該只注重要學會什麼技能、具備什麼知識,才能生存於社會,正如考試應是要測驗已身的實力,而非有沒有考一百分。而被考試壓得喘不過氣時,許多創意和能力其實已被扼殺。所以我們要反思的是:究竟存在自內心的是什麼?有什麼潛力可以被發展與開拓?
請記得,「What you pay is what you learn」,在你付出的同時,你也正在學習。而且你可曾想過,同樣一天的二十四個小時、一千四百四十分鐘、八千六百秒鐘,這世界上其他地方,和你同樣年紀的人在做些什麼?下午五點鐘,歐美的學生可能在服務社區,大陸的學生可能在苦練英文,東南亞的學生可能在為下一餐煩惱 ……。
而臺灣的學生呢?你在做些什麼?我相信,對世界的所有疑問,都能在付出中得到解答,但前提是你必須自已提出問題。
人生的軌道由「心」來描繪,或許我們無法改變全世界,但至少我們能改變看這世界的角度。認識自已是第一步,進而找到生命的目標,因為對於沒有目標的船來說,任何風都是逆風
。所以現在請堅定你的方向、跨出你的腳步,在生命的軌道向前走!
沈芯菱,年紀小我七歲的女孩子,卻有超乎年齡的成就,
出生平窮的她在國中時靠著她的電腦專長賺到了第一個一百萬,
並且毫不吝嗇地投身公益,為社會底層的人發聲,
每每看到她的文章都自嘆不如,是如何一個小女孩會有如此過人的想法?
以下是她在民國九十八年五月國語日報的一篇文章。
題目:生命的軌道 文/沈芯菱
參考來源:http://www.anan1.webnow.biz/whoisanan/chinese02.htm
近年來,有幸受邀至大學院校演講分享,近百場累積數萬名聽眾中,最常聽見的問題是:「我感到徬徨無助,不確定未來的方向」,甚至有許多同學憂心「畢業即失業」,茫茫然迷失目標,不知道在瞬息萬變的時代裡該如何自處。
早在數千年前,希臘德爾菲神殿 (Temple of Delphi) ,已經為你解答,那刻印在廟柱上的答案就是「認識你自已!」這句甚至影響了蘇格拉底。那你呢?你認識你自已嗎?你有思考過生命的方向嗎?
造物者很奇妙,給予每個人不同的身體、面貌和思想,也讓每個人擁有無窮的潛力。但我們常常羨慕別人,自已卻依舊陀縲般的原地打轉。
認識自已並不困難,首要是啟迪對生命的態度,成為一個能獨立思考、解決問題的人。因為我們不應該只注重要學會什麼技能、具備什麼知識,才能生存於社會,正如考試應是要測驗已身的實力,而非有沒有考一百分。而被考試壓得喘不過氣時,許多創意和能力其實已被扼殺。所以我們要反思的是:究竟存在自內心的是什麼?有什麼潛力可以被發展與開拓?
請記得,「What you pay is what you learn」,在你付出的同時,你也正在學習。而且你可曾想過,同樣一天的二十四個小時、一千四百四十分鐘、八千六百秒鐘,這世界上其他地方,和你同樣年紀的人在做些什麼?下午五點鐘,歐美的學生可能在服務社區,大陸的學生可能在苦練英文,東南亞的學生可能在為下一餐煩惱 ……。
而臺灣的學生呢?你在做些什麼?我相信,對世界的所有疑問,都能在付出中得到解答,但前提是你必須自已提出問題。
人生的軌道由「心」來描繪,或許我們無法改變全世界,但至少我們能改變看這世界的角度。認識自已是第一步,進而找到生命的目標,因為對於沒有目標的船來說,任何風都是逆風
。所以現在請堅定你的方向、跨出你的腳步,在生命的軌道向前走!
2007年9月30日 星期日
2007年世界盃棒球賽(11/6 ~ 11/19)
A組賽程(台中市)
11/6(二)17:00
開幕典禮 天母球場 18:00 中華台北 VS 義大利 天母球場
11/8(四)18:00 台中洲際球場 南非 VS 中華台北
11/9(五)18:00 台中洲際球場 中華台北 VS 日本
11/10(六)12:00 台中洲際球場 西班牙 VS 中華台北
11/11(日)12:00 台中洲際球場 中華台北 VS 墨西哥
11/12(一) 休息日
11/13(二)18:00 台中洲際球場 巴拿馬VS 中華台北
11/14(三)18:00 台中洲際球場 中華台北 VS 美國
複賽
11/16(五)
12:00 G57 B組第二 VS A組第三 新莊球場
12:00 G58 A組第二 VS B組第三 天母球場
18:00 G59 A組第一 VS B組第四 新莊球場
18:00 G60 B組第一 VS A組第四 天母球場
11/17(六)
12:00 G57敗 VS G60敗 新莊球場
12:00 G58敗 VS G59敗 天母球場
18:00 G57勝 VS G60勝 新莊球場
18:00 G58勝 VS G59勝 天母球場
總決賽
11/18(日)
09:00 G65 G61敗 VS G62敗 新莊球場
13:00 G66 G61勝 VS G62勝 新莊球場
10:00 G67 G63敗 VS G64敗 天母球場
16:30 G68 G63勝 VS G64勝 天母球場
閉幕典禮
11/6(二)17:00
開幕典禮 天母球場 18:00 中華台北 VS 義大利 天母球場
11/8(四)18:00 台中洲際球場 南非 VS 中華台北
11/9(五)18:00 台中洲際球場 中華台北 VS 日本
11/10(六)12:00 台中洲際球場 西班牙 VS 中華台北
11/11(日)12:00 台中洲際球場 中華台北 VS 墨西哥
11/12(一) 休息日
11/13(二)18:00 台中洲際球場 巴拿馬VS 中華台北
11/14(三)18:00 台中洲際球場 中華台北 VS 美國
複賽
11/16(五)
12:00 G57 B組第二 VS A組第三 新莊球場
12:00 G58 A組第二 VS B組第三 天母球場
18:00 G59 A組第一 VS B組第四 新莊球場
18:00 G60 B組第一 VS A組第四 天母球場
11/17(六)
12:00 G57敗 VS G60敗 新莊球場
12:00 G58敗 VS G59敗 天母球場
18:00 G57勝 VS G60勝 新莊球場
18:00 G58勝 VS G59勝 天母球場
總決賽
11/18(日)
09:00 G65 G61敗 VS G62敗 新莊球場
13:00 G66 G61勝 VS G62勝 新莊球場
10:00 G67 G63敗 VS G64敗 天母球場
16:30 G68 G63勝 VS G64勝 天母球場
閉幕典禮
2007年8月27日 星期一
一些不能忘記生日的人
- 水瓶座(01/20~02/18)
- 雙魚座(02/19~03/20)
- 牡羊座(03/21~04/19)
- 雙子座(05/21~06/21)
- 天秤座(09/23~10/22)
- 天蠍座(10/23~11/21)
東照:02/12
筱瑜:03/18
碧華:03/28
正沛:06/15
承勳:09/30
媽媽:10/02(農:08/16<=他都過農曆,因為在中秋節後一天)
蕙娟:10/19
爸爸:10/25
定城:11/10
碧如:11/16
待續....
2007年8月24日 星期五
AS/400基礎
AS400的庫類似於windows上的檔夾,但他與windows有些區別。
主要的層次關係是:庫-〉對象-〉成員
其最上一層是一個叫做QSYS的庫,這也是唯一一個特殊的庫,因為它的下面仍然可以包含其他的庫,而除此之外的庫下都不能再有庫。也就是說,庫只有一個層次,不象windows下面的檔夾是可以多層存在的。
緊跟著庫下來的一層是對象。一般來說,物件是一個可以實際應用和運行的。例如:編譯後的資料檔案,列印檔和程式。當然,物件也不僅僅包括這些,還有其他屬性的物件,最常見的就是QPRGSRC\QDDSSRC\QDSPSRC,這些名字都是預定俗成的名字,當然也可以改成其他的名字。
這幾個物件是作為物理原始檔案屬性的。
對象的下面一層叫做成員。最常見的成員類型包括 PF LF DSPF RPG PRTF。這些類型的成員是我們在實際編程中經常打交道的,因為我們所作的編碼工作就是針對這幾個類型的成員進行的。成員編譯後形成相應的物件。如PF\LF --->可以存儲資料的物理檔和相應的邏輯檔;RPG --->可執行的程式,等等。編譯系統根據檔不同的類型編譯後會形成不同的物件類型。
AS400下編程的檔
1、文件類型
這裏所說的檔主要是指物理檔、邏輯檔、顯示檔和列印檔。物理檔和邏輯檔主要是存儲資料的檔;顯示檔主要是用於畫面顯示格式和屬性的;列印檔主要是控制列印檔的佈局和顯示格式的。這些檔都是在RPG程式中的F表中進行聲明的,供程式中資料處理和存儲使用。利用通過RPG程式從多個物理檔中取得相應的資料項目顯示到畫面上,也可以通過RPG程式將用戶在畫面上輸入的資料存儲到物理檔中。物理檔中的資料是實際客觀存在的,而顯示檔和列印檔中的資料只是在程式運行時才有存在,程式退出後其中的資料也相應的消失。
2、檔使用
RPG程式中對所用的檔進行聲明以後,這些檔中的欄位名稱都可以作為已知變數使用。比如當對一個檔進行讀操作後,該欄位名稱中的值即為檔當前讀到記錄的相應的欄位的值,在RPG程式中就可以通過引用該欄位名稱來獲得當前記錄的相應欄位的值。如果要想檔中寫入資料,只需要在RPG程式中,將想要寫入的數值傳送到相應的欄位名稱中,然後執行檔的寫操作,就可以生成一條新的紀錄。更新檔也是一樣,不同的就是執行檔的更新操作。顯示檔和列印檔的使用也類似,都是將想要的數值傳入相應檔的相應欄位中,然後執行相應的操作即可。
主要的幾種說明表(H, F, I, E, C)
RPG語言中對作用不同的部分分別用開頭一列字母來劃分,也可以稱為XX表或XX部。
RPG語言中包括H表、 F表、 E表、 I表、 C表、 L表、 O表。
但是現在經常用到的主要是H表、 F表、 E表、 I表、 C表。
H表(控制說明標):提供你的程式和系統的資訊,其中可說明程式的名字、程式所用日期的格式和是否應用交替核對排序和檔翻譯。(可選)
F表(文件說明表):描述程式應用的所有檔資訊,包括檔案名、如何應用文件、檔記錄的大小、檔應用的輸入輸出設備、檔是否被外部指示器控制等。
E表(擴展說明表):描述所有在程式中應用的記錄位址檔、表檔和矩陣檔的資訊;包括記錄地檔、矩陣或表的名字,表或矩陣資料記錄的入口數目,表或矩陣的入口數目及長度。
I表(輸入說明表):可以定義資料結構,說明輸入檔的記錄和欄位的一些資訊。
C表(計算說明表): 描述在資料上作的計算和計算次序,也可以用於控制某些輸入輸出操作;其資訊包括對操作說明控制級和條件指示器,程式中應用的欄位和常數,被處理的操作以及處理之後是否設置結果指示器等,這也是我們編碼主要處理的部分,這裏實現了程式的處理功能。
====================================================================================
先說說RPG一般用來做什麼吧,舉例說:
1. 整個RPG程式不包含任何外部程式,只是做些簡單的數學運算,或者對資料區、DATAQ等非檔目標進行操作,這屬於相對最簡單的情況;
2. RPG程式對物理檔或者邏輯檔進行讀、寫、更新、刪除操作;
3. RPG程式結合物理檔或邏輯檔、以及顯示檔進行操作,這屬於比較複雜的情況;
4. RPG程式結合物理檔或邏輯檔、顯示檔、以及ICF檔(即通訊檔)進行操作,這種情況也比較複雜。
當然,以上的情況只是平時使用的歸納,你也可以根據自己的實際需要結合各種情況,此處不再深入探討。
=============================================
以下結合例子簡單說說各種情況,假設以下源碼檔存放的路徑是 庫MYLIB、源物理檔MYSRCPF
1. (1)做個簡單的運算,比如AXB/(C-D)+E,有加減乘除等運算,代碼如下:
*************** Beginning of data *************************************
0001.00 C Z-ADD2 A 10
0002.00 C Z-ADD10 B 20
0003.00 C Z-ADD5 C 10
0004.00 C Z-ADD1 D 10
0005.00 C Z-ADD2 E 10
0006.00 C Z-ADD0 TEM 30
0007.00 C Z-ADD0 RST 30
0008.00 C A MULT B TEM
0009.00 C C SUB D RST
0010.00 C TEM DIV RST RST
0011.00 C MVR TEM2 30
0012.00 C RST ADD E RST
0013.00 C RST DSPLY
0014.00 C SETON LR
****************** End of data ****************************************
<注>:
(a) Z-ADD表明把Factor2處的變數值賦給Result處的變數,值得注意的是這兩個變數都是數值型的,例如,"Z-ADD2 A 10 "表示把2賦給變數A,後面的"10"中的“1”表示變數A的長度是1,“0”表示小數位長度是0,即A是一個長度為1整型變數;
(b) MULT表示做乘法運算,“A MULT B TEM”表示AXB,把結果賦給整型變數TEM;
(c) SUB表示做減法運算,“C SUB D RST”表示C-D,把結果賦給整型變數RST;
(d) DIV表示做除法運算,“TEM DIV RST RST”表示TEM/RST,把結果賦給整型變數RST;
(e) MVR表示做取餘數運算,“MVR TEM2 30”表示把餘數賦給整型變數TEM2;
(f) ADD表示做取加法運算,“RST ADD E RST”表示RST+E,把結果賦給整型變數RST,這句一般寫成“ADD E RST”也可以。
(g) DSPLY表示顯示變數值,“RST DSPLY”表示顯示變數RST的值;
(h) SETON表示給指示器置為*ON的狀態,即'1',“SETON LR”表示把LR指示器置為*ON,該句的意思表示最後一條記錄,即程式結束。
按F3保存,假設該檔案名是MYRPG,所在的庫是MYLIB,源物理檔是MYSRCPF。
程式寫好之後,應該進行編譯了。用WRKMBRPDM FILE(MYLIB/MYSRCPF),找到剛才的檔MYRPG,輸入14,按F4,進入“Create RPG/400 Program (CRTRPGPGM)” 畫面,參數:
(i) Program: 生成的目標名(假如為MYOBJ);
(ii) Library: 生成的目標存放的庫(假如為MYLIB)。
參數填好之後,按確認鍵即進行編譯,如果程式沒錯,則生成目標檔,假設為MYOBJ。
在命令行輸入CALL MYLIB/MYOBJ,這時命令上應該顯示RST的值。
(<注>:目標即可執行檔)
主要的層次關係是:庫-〉對象-〉成員
其最上一層是一個叫做QSYS的庫,這也是唯一一個特殊的庫,因為它的下面仍然可以包含其他的庫,而除此之外的庫下都不能再有庫。也就是說,庫只有一個層次,不象windows下面的檔夾是可以多層存在的。
緊跟著庫下來的一層是對象。一般來說,物件是一個可以實際應用和運行的。例如:編譯後的資料檔案,列印檔和程式。當然,物件也不僅僅包括這些,還有其他屬性的物件,最常見的就是QPRGSRC\QDDSSRC\QDSPSRC,這些名字都是預定俗成的名字,當然也可以改成其他的名字。
這幾個物件是作為物理原始檔案屬性的。
對象的下面一層叫做成員。最常見的成員類型包括 PF LF DSPF RPG PRTF。這些類型的成員是我們在實際編程中經常打交道的,因為我們所作的編碼工作就是針對這幾個類型的成員進行的。成員編譯後形成相應的物件。如PF\LF --->可以存儲資料的物理檔和相應的邏輯檔;RPG --->可執行的程式,等等。編譯系統根據檔不同的類型編譯後會形成不同的物件類型。
AS400下編程的檔
1、文件類型
這裏所說的檔主要是指物理檔、邏輯檔、顯示檔和列印檔。物理檔和邏輯檔主要是存儲資料的檔;顯示檔主要是用於畫面顯示格式和屬性的;列印檔主要是控制列印檔的佈局和顯示格式的。這些檔都是在RPG程式中的F表中進行聲明的,供程式中資料處理和存儲使用。利用通過RPG程式從多個物理檔中取得相應的資料項目顯示到畫面上,也可以通過RPG程式將用戶在畫面上輸入的資料存儲到物理檔中。物理檔中的資料是實際客觀存在的,而顯示檔和列印檔中的資料只是在程式運行時才有存在,程式退出後其中的資料也相應的消失。
2、檔使用
RPG程式中對所用的檔進行聲明以後,這些檔中的欄位名稱都可以作為已知變數使用。比如當對一個檔進行讀操作後,該欄位名稱中的值即為檔當前讀到記錄的相應的欄位的值,在RPG程式中就可以通過引用該欄位名稱來獲得當前記錄的相應欄位的值。如果要想檔中寫入資料,只需要在RPG程式中,將想要寫入的數值傳送到相應的欄位名稱中,然後執行檔的寫操作,就可以生成一條新的紀錄。更新檔也是一樣,不同的就是執行檔的更新操作。顯示檔和列印檔的使用也類似,都是將想要的數值傳入相應檔的相應欄位中,然後執行相應的操作即可。
主要的幾種說明表(H, F, I, E, C)
RPG語言中對作用不同的部分分別用開頭一列字母來劃分,也可以稱為XX表或XX部。
RPG語言中包括H表、 F表、 E表、 I表、 C表、 L表、 O表。
但是現在經常用到的主要是H表、 F表、 E表、 I表、 C表。
H表(控制說明標):提供你的程式和系統的資訊,其中可說明程式的名字、程式所用日期的格式和是否應用交替核對排序和檔翻譯。(可選)
F表(文件說明表):描述程式應用的所有檔資訊,包括檔案名、如何應用文件、檔記錄的大小、檔應用的輸入輸出設備、檔是否被外部指示器控制等。
E表(擴展說明表):描述所有在程式中應用的記錄位址檔、表檔和矩陣檔的資訊;包括記錄地檔、矩陣或表的名字,表或矩陣資料記錄的入口數目,表或矩陣的入口數目及長度。
I表(輸入說明表):可以定義資料結構,說明輸入檔的記錄和欄位的一些資訊。
C表(計算說明表): 描述在資料上作的計算和計算次序,也可以用於控制某些輸入輸出操作;其資訊包括對操作說明控制級和條件指示器,程式中應用的欄位和常數,被處理的操作以及處理之後是否設置結果指示器等,這也是我們編碼主要處理的部分,這裏實現了程式的處理功能。
====================================================================================
先說說RPG一般用來做什麼吧,舉例說:
1. 整個RPG程式不包含任何外部程式,只是做些簡單的數學運算,或者對資料區、DATAQ等非檔目標進行操作,這屬於相對最簡單的情況;
2. RPG程式對物理檔或者邏輯檔進行讀、寫、更新、刪除操作;
3. RPG程式結合物理檔或邏輯檔、以及顯示檔進行操作,這屬於比較複雜的情況;
4. RPG程式結合物理檔或邏輯檔、顯示檔、以及ICF檔(即通訊檔)進行操作,這種情況也比較複雜。
當然,以上的情況只是平時使用的歸納,你也可以根據自己的實際需要結合各種情況,此處不再深入探討。
=============================================
以下結合例子簡單說說各種情況,假設以下源碼檔存放的路徑是 庫MYLIB、源物理檔MYSRCPF
1. (1)做個簡單的運算,比如AXB/(C-D)+E,有加減乘除等運算,代碼如下:
*************** Beginning of data *************************************
0001.00 C Z-ADD2 A 10
0002.00 C Z-ADD10 B 20
0003.00 C Z-ADD5 C 10
0004.00 C Z-ADD1 D 10
0005.00 C Z-ADD2 E 10
0006.00 C Z-ADD0 TEM 30
0007.00 C Z-ADD0 RST 30
0008.00 C A MULT B TEM
0009.00 C C SUB D RST
0010.00 C TEM DIV RST RST
0011.00 C MVR TEM2 30
0012.00 C RST ADD E RST
0013.00 C RST DSPLY
0014.00 C SETON LR
****************** End of data ****************************************
<注>:
(a) Z-ADD表明把Factor2處的變數值賦給Result處的變數,值得注意的是這兩個變數都是數值型的,例如,"Z-ADD2 A 10 "表示把2賦給變數A,後面的"10"中的“1”表示變數A的長度是1,“0”表示小數位長度是0,即A是一個長度為1整型變數;
(b) MULT表示做乘法運算,“A MULT B TEM”表示AXB,把結果賦給整型變數TEM;
(c) SUB表示做減法運算,“C SUB D RST”表示C-D,把結果賦給整型變數RST;
(d) DIV表示做除法運算,“TEM DIV RST RST”表示TEM/RST,把結果賦給整型變數RST;
(e) MVR表示做取餘數運算,“MVR TEM2 30”表示把餘數賦給整型變數TEM2;
(f) ADD表示做取加法運算,“RST ADD E RST”表示RST+E,把結果賦給整型變數RST,這句一般寫成“ADD E RST”也可以。
(g) DSPLY表示顯示變數值,“RST DSPLY”表示顯示變數RST的值;
(h) SETON表示給指示器置為*ON的狀態,即'1',“SETON LR”表示把LR指示器置為*ON,該句的意思表示最後一條記錄,即程式結束。
按F3保存,假設該檔案名是MYRPG,所在的庫是MYLIB,源物理檔是MYSRCPF。
程式寫好之後,應該進行編譯了。用WRKMBRPDM FILE(MYLIB/MYSRCPF),找到剛才的檔MYRPG,輸入14,按F4,進入“Create RPG/400 Program (CRTRPGPGM)” 畫面,參數:
(i) Program: 生成的目標名(假如為MYOBJ);
(ii) Library: 生成的目標存放的庫(假如為MYLIB)。
參數填好之後,按確認鍵即進行編譯,如果程式沒錯,則生成目標檔,假設為MYOBJ。
在命令行輸入CALL MYLIB/MYOBJ,這時命令上應該顯示RST的值。
(<注>:目標即可執行檔)
訂閱:
文章 (Atom)