編程蓋房子
㈠ 什麼是程序設計
程序設計是給出解決特定問題程序的過程,是軟體構造活動中的重要組成部分。程序設計往往以某種程序設計語言為工具,給出這種語言下的程序。
程序設計過程應當包括分析、設計、編碼、測試、排錯等不同階段。
任何設計活動都是在各種約束條件和相互矛盾的需求之間尋求一種平衡,程序設計也不例外。
在計算機技術發展的早期,由於機器資源比較昂貴,程序的時間和空間代價往往是設計關心的主要因素;隨著硬體技術的飛速發展和軟體規模的日益龐大,程序的結構、可維護性、復用性、可擴展性等因素日益重要。
(1)編程蓋房子擴展閱讀
程序設計的步驟:
1、分析問題:
對於接受的任務要進行認真的分析,研究所給定的條件,分析最後應達到的目標,找出解決問題的規律,選擇解題的方法,完成實際問題。
2、設計演算法:
即設計出解題的方法和具體步驟。
3、編寫程序:
將演算法翻譯成計算機程序設計語言,對源程序進行編輯、編譯和連接。
4、運行程序,分析結果:
運行可執行程序,得到運行結果。能得到運行結果並不意味著程序正確,要對結果進行分析,看它是否合理。不合理要對程序進行調試,即通過上機發現和排除程序中的故障的過程。
5、編寫程序文檔:
許多程序是提供給別人使用的,如同正式的產品應當提供產品說明書一樣,正式提供給用戶使用的程序,必須向用戶提供程序說明書。內容應包括:程序名稱、程序功能、運行環境、程序的裝入和啟動、需要輸入的數據,以及使用注意事項等。
㈡ 如果把編程比喻成蓋房子。
我覺得比喻相當不恰當。如果確實這么比喻,那我願意住面向過程的房子。
首先,房屋的整體性很強,你把它分割開來考慮和計算本身就很困難,如果是胡亂分割,那還不如不分割。
其次,面向過程和工具的關系也搞不清楚,我不明白為什麼面向過程就是統一工具。
實際上,面向對象和面向過程各自有各自的優勢。很多事情自有適合的方式,不恰當的比喻會使得問題越來越復雜。
有些典型的問題是可以多個方面去考慮的,比如象棋:
A:如果從面向過程去說,那應當是,輪流移動上來考慮,即你做了一個動作以後,對方會怎樣。
B:如果從面向對象上來說,每一個棋盤上的子都是一個對象,他們都有自己的移動方式,在每一個特定的棋局中,有存在很多對它造成威脅的勢力和它可以威脅到的棋子。……
使用面向對象的方式,會使得很多很復雜的問題有一個比較簡單的解決方法。但是實際上,問題的復雜程度不會因為你的思考方式的改變而改變,復雜程度本身是不變的。因此,面向對象並不能改變軟體本身的復雜性。