2015年10月7日 星期三

[雜談]由數學學習談程式語言學習

最近跟人聊天發現有人學程式的方法
發現其實跟人學數學的方法有異曲同工的感覺

數學其實跟程式是非常相似的東西,常常有人講說數學重理解
也有人覺得數學就是背公式多解題就學會了
當然不同職業需求的人需要學到的程度會有一些差別
但是我覺得學數學的人有幾個程度的差別
比如說求三角型面積好了

知道底乘以高除以二的公式的人至少比不知道公式的人學的好

了解到因為平行四邊型面積是底乘以高
兩個三角型的面積剛好等於平行四邊型面積的人又可以不用死背造成公式的誤用

但是學數學還有一種能力也很重要
你有沒有辦法在不知道三角型面積怎麼算的時候
發現說你只要能會算平行四邊型的面積就能夠求三角型的面積
最後發現由長方型的面積是長乘與寬,然後推得平型四邊型的面積是底乘以高

若是可以學得分解問題以及將未知問題與已知的知識連結的能力的話
學習程式就相對的簡單了
應該要把大功能拆成小步驟
比如說現在要按一個按紐後將三個網頁上輸入的數字做運算後顯示在畫面上
那麼你至少可以知道說
1.按紐需要一個onclick事件
2.onclick事件裡面的function需要抓三個變數
3.再來把三個變數做運算
4.最後將某個div的值改成運算的結果

這些事情每一步都不難,問題講成一個需求時為什麼做不出來?
就是因為沒有去把需求分解成好幾個做的出來的步驟,然後一步步把每個步驟完成

當然,你對程式語言越熟你就越能夠把程式做出來,因為你拆解步驟的同時你也會思考這個
解決方案到底程式做不做的出來,所以除了學習如何拆解問題以外
多學習程式語言裡面的函式庫怎麼用是一定有幫助的

沒有留言:

張貼留言