不論哪一種語言,一開始學習只要寫出「Hello World!」註1,大概就算是入門了。每種程式都有方法,控制資料的顯示。編寫出「Hello World!」就代表已掌握了顯示靜態資訊的方式了,可以寫出任何想呈現的數字、文字、符號,甚至是換行,透過排列組成圖案。
接著進入第二階段-讓程式進行簡單的運算及判斷,這時設計適當的輸入資料,讓程式處理後得到結果。這部分使用變數的宣告、判斷語法,接著是迴圈的使用。常見的問題大多是語法錯誤,如變數未宣告(undefined)、重複宣告、宣告名稱錯誤(像是使用不允許的特殊字元)、是否正確插入分號、括號、換行與對齊……等等。可以透過練習熟悉語法,逐漸熟練後這方面的錯誤便減少了。
進入第三階段-學習進階技巧並運用程式解決問題。如陣列、副程式、遞迴、指標、字串處理、檔案輸入輸出等進階技巧可以讓程式更彈性、多元,或增加編寫的效率。解決問題是學程式很重要的目的,也是最需要思考、長時間累積經驗的部分。有些問題相當著名,如費氏數列計算、圓周率計算、質數判斷搜尋、河內塔(或譯漢諾塔)、大數運算等,書本、網路皆可查詢到許多解決之道,甚至能比較不同方法之優劣!但初次碰到這些問題時,若能在查閱答案前,試著用心的思考,即使最終並未成功,對於培養計算性思維(Computational thinking)依然有些幫助。當面對未知的難題,或許google找不到解答,只要大腦靈機一動,說不定馬上迎刃而解囉!
註1:或許有些人從arduino、Keil C等平台,甚至組合語言學習程式開發,這些與硬體控制相關語言的「Hello World!」,可以視為讓一支I/O port為1(高電位)或為0(低電位)。總而言之,「Hello World!」是程式最基本的功能之一。
2015.7.1 初稿
沒有留言:
張貼留言