close

IMG_0135.JPG

報載程式設計已排進台灣十二年國民基本教育課程綱要,從2018年中學開始就要學程式。聽來有點興奮,也有點擔憂;興奮的是如此應該可以減少許多電腦應用的文盲,擔憂的是會不會因為學習後,開始出現許多自以為是的「電腦專家」。

在許多公司內就曾遇過一些人員,由於在其他公司用過電腦系統,或在學校上過電腦課程,寫過程式,所以當他們提出電腦報表的需求,討論電腦作業時,就會擺出一副電腦專家的姿態,質疑資訊人員的解釋是推託之詞,彷彿一朝吃過豬肉,就十分懂得如何料理豬肉。

在愛沙尼亞這個國家,每個小一學生都要學習撰寫程式語言,不清楚其教學方式,但國內在推行學習程式語言之前,應讓學員了解,這不是在培訓程式設計師,只是在學習另一種語言而已;目的是希望讓學員可以經由了解程式語言,更知道如何應用電腦;就好像學英日文,只是更方便了解英日文化,但並不會讓每個人變英日文學的專家一樣。

其次是不管學習哪種程式語言,應該要讓每個人了解程式的架構;否則可能誤導學員,以為在別人已經架構好的平台拼拼湊湊畫出一張賀卡或動畫,就自認會寫程式;這就像從outlook寄出一封郵件,或使用Excel製作出一份分析表來,就自認自己已經會寫程式,那就像買了感冒成藥治好了感冒,就自認自己可以當醫生一樣令人擔憂。

不管是哪類的程式語言的設計,整體架構應有IPO三個動作。I(Input)是輸入或接收,P(Process)是處理,O(Output)是輸出或呈現結果。

Input可以接收的內容,包括數字,文字,圖案,聲音等。接收的來源,常見的是由螢幕上接收,譬如是鍵盤輸入的文數字,觸控點選或外部掃描進來的圖案,聲音的指示,二是電腦系統本身內存的檔案或是讀取存放於系統外部的檔案。而在接收之前必須先知道接收來源所代表的意思,譬如以讀取Excel資料檔案來說,第一欄放甚麼內容,第二欄放甚麼內容,沒有人告知你代表的意思,你讀到一堆文數字也沒有用,這也就是許多套裝軟體不會公布其存放的資料檔案格式的原因。

Process,就是把接收或讀取進來的內容做處理,譬如對數字做加減乘除,或對商業交易資料如進貨庫存做增添(add),修改(replace),刪除(delete),查詢(Inquiry)的動作。Process這步驟一般的重點是先對接收來的內容進行辨識,確認正確後,再進行邏輯的判斷或與資料庫內的資料做比對,最後就是將處理前後的這些資料做顯示或留存於磁碟上。

Output就是把處理的結果呈現出來,回應給輸入者。呈現的內容當然也不外乎數字,文字,圖案,聲音,而呈現的載具,可能是桌機或筆電,手機螢幕,印表機的列印,另外有可能把結果記錄在本身電腦或手機上,也可能是網路上公用的儲存裝置,也可能只做顯示不做儲存。

了解程式IPO三個動作,也要了解並非所有動作都能順利執行,有可能出現非預期的狀況。譬如輸入的內容不合邏輯或無法辨識,處理的過程資料出現例外狀況,輸出的時候網路斷訊等;一般人常遇到電腦系統會停止運作,大多是程式設計時沒有考慮到非預期的狀況,所以電腦系統就不知所措,這是有無經驗的程式設計人員的差別。

另外資料如何留存,更是程式設計好壞的一大重點,除了必須考慮下次這些資料還會不會再用到之外,更要知道如何按照物件類型與物件關係來設計主檔與交易檔,分別存放資料,如此才能提升資料處理的速度。

不管是商用資料的處理,網頁圖案的編排,電動遊戲,工業設備的驅動,各自在IPO的動作上會有不同,在資料庫的設計也有不同。目前許多人的從寫網頁開始入門,就以為程式設計就是網頁,其實可以多了解不同程式的種類與架構,才不會學了某類語言,就自以為是電腦應用的專家了。

arrow
arrow

    陳漢鍾 發表在 痞客邦 留言(0) 人氣()