你會敲程式碼嗎

鈴鐺噹噹發表於2012-08-06

            你會敲程式碼嗎?如果你是告訴我,你一邊看一邊敲,一行一行敲,甚至一個單詞一個單詞敲, 或者即使你一段一段敲,也不知道程式碼的重點,敲完要不一點感覺也沒有,要不覺得好痛苦,記不下來,那你就算了吧.

       誰讓你記了,誰讓你看一行敲一行了?敲打碼也是講求方式方法的,不是說了一個功能段一個功能段的敲,你要是強,就一個過程,一個窗體的敲,那也是沒問題的.一行一行敲,效率又低,效果又差,一邊敲你還一邊稀裡糊塗,搞不清楚程式碼的功能.

       那什麼是一個功能段,差不多理解就是幾行程式碼,這些程式碼可以完成一個功能.舉例,比如:For…Next語句,這個語句塊就是一個功能段,就可以一起敲.當然還有If…Else, Do…Loop什麼的.

      為了更形象生動,舉個例子,敲個例子,使用的語言是VB.

        輸入5個學生的姓名及一門課程的成績,輸出成績最高和最低的同學的姓名及其成績.

        首先我得分析,現在我們假設沒有程式碼,這是要我們自己編寫,該如何分析?其實我這是程式設計的思考路線.

        首先得輸入5個學生的姓名和成績.這是第一步.

        第二步,把5個同學的成績比較,找出最大和最小元素.

        第三步,將5個同學的姓名和成績依次輸出.

        第四步,將成績最高和最低的同學姓名和成績分別輸出. 

       分析,第一步,第三步,第四步,都好解決.第一步InputBox,當然不能白輸入要記錄下來,用陣列;第三步,第四步print就可以了,當然第四步的最高和最低成績的要通過第二步.現在問題是如何找出最大,最小成績?

        明顯依次比較就可以了.找最大成績就是,把成績一一比較大小,把成績大的用臨時變數記錄下來.可是記錄下來的是成績嗎?如果是成績,如何讓成績跟姓名對應起來,所以記錄是元素的下標.同一個人的姓名和成績的下標是一致的.

        現在敲程式碼,一個功能段一個功能段的敲.

Private Sub cmdRank_Click()
       '這幾個Dim可以相當於一個功能段輸出
        Dim score(1 To 5) As Single '記錄成績的陣列
        Dim name(1 To 5) As String  '記錄姓名的陣列
        Dim num As Integer         '用於迴圈
        Dim max As Integer        '記錄最大值的下標
        Dim min As Integer        '記錄最小值的下標

       '第二個功能段
        '第一步輸入5個同學的姓名和成績,用陣列儲存下來
        For num =1 To 5 
            score(num) = InputBox("請輸入第" & num & "個同學的成績")
            name(num) = InputBox("請輸入第" & num & "個同學的姓名")
        Next num

        max = 1
        min = 1

       '第二步,找出最大,最小成績.用臨時變數儲存
        For num =2 To 5
            If score(num) > score(max) Then   '找到更大的陣列元素
                max = num                '將其下標賦值給max
            End If

            If score(num) < score(min) Then 		'找到更小的陣列元素
                min = num                   '將其下標賦值給min
            End If
        Next num

        '第三步,輸出5個同學的姓名和成績
        Print "姓名", "成績"
        For num =1 To 5
            Print name(num), score(num)
        Next num

        '第四步,輸出最高,最低同學的姓名和成績
        Print "成績最高的同學的姓名和成績為:"
        Print  name(max), score(max)
        Print "成績最低的同學的姓名和成績為:"
       	Print name(min), score(min)
End Sub

        現在有程式碼了,我們主要分析如何要敲程式碼,該如何做呢?首先在敲之前還是分析,不過這回是分析程式碼.

        第一步,還是輸入5個同學的姓名和成績.

        第二步,找出1-5中最大,最小元素,記錄下下標

        第三步,輸出5個人姓名和成績

        第四步,輸出最大,最小成績,根據對應下標.
最後分析以上四步,得出結論第二步的程式碼才是重點,是核心,我們敲的時候就要注意第二步的程式碼.還有下標也是重點,第四步就要注意下標對應.

        為什麼要分析程式碼.分析程式碼就將程式碼變成了一個一個的步驟,或者演算法,它們跟Vb(語言)完全沒有關係了.然後以後你只要編寫找最大,最小值得程式,就可以用上這些分析,不管是什麼語言.這樣掌握核心,掌握程式碼是不是簡單多了.

       
        總結:敲程式碼很簡單,但是如何讓自己更有效率,學習更有效果,這就不簡單了.其實我就不會敲程式碼,我總是一行一行的敲,敲完一行就開始分析,這句是什麼意思,然後看下一句,再敲.很短的一段程式碼,我要敲很久,因為分析很久,還得鬱悶很久,覺得要是讓自己來程式設計肯定編不出來,所以還要花一段時間來記這些程式碼.
         我跟老師說,我不敲程式碼.老師說,你的方法有問題,去分析程式碼吧,以後一個功能段一個功能段的敲.然後就有了這篇文章.

        程式設計是一門技術,更加是一門藝術.敲程式碼也是一門技術,更是一門藝術.


相關文章