從問題到C語言程式設計
1.1計算機的問題求解方法
程式設計面向的問題
-
什么問題可以用程式的方法解決?
-
列印九九乘法表
-
圖形變換
-
檔案壓縮問題
-
.......
-
一切可計算的問題
-
-
如何解決?
-
確定問題可計算
-
建立問題的數學模型
-
設計演算法和資料結構
-
選擇合適的計算機語言撰寫程式
-
除錯運行程式分析結果
-
關于計算
-
什么是計算
-
基于規則的符號集合的變換程序,有限的步驟
-
-
可計算和不可計算
-
可計算:輸入與輸出是明確的
-
不可計算:旅行家問題
-
理論上可計算的問題,實際上不一定有解
-
-
計算的復雜性
-
時間復雜度:受問題規模影響(如:梅森素數)
-
空間復雜度(不討論)
-
關于演算法
-
什么是演算法
-
有窮規則的集合,規則規定了解決某一特定型別的問題的運算序列(是解決問題的有限步驟)
-
-
演算法的特征
-
有窮性:有限步驟
-
確定性:含義確切
-
有效性:有效執行
-
有零個或多個輸入
-
有一個或多個輸出
-
-
演算法描述方法:
-
自然語言
-
程式語言
-
流程圖----->傳統方法
-
N-S圖------->結構化程式設計方法(待補充)
-
PAD圖
-
偽代碼------>隨意但不嚴謹的方法
-
-
演算法優化:
-
減少判斷次數
-
-
無效輸出減少
-
總結:
-
演算法是解題步驟,設計取決于人的創造
-
實際問題需要首先分析----抽象----建模,才能設計演算法
-
演算法的5個特征,設計時必須滿足
-
基于計算機的問題求解和數學方法有很大不同
-
演算法需要用工程化的方法表達
-
演算法有很大的優化空間
-
結構化程式設計方法
-
自頂向下,逐步求精
-
單入口單出口
-
什么是好程式
-
可讀性好
-
效率高
-
-
寫好一個程式
-
三個基本結構構成(順序,選擇,回圈待補充)
-
不用GOTO陳述句(原則不用,適當使用)
-
-
良好的程式設計代碼特點:
-
正確性----正確實作功能
-
易讀性----易于閱讀和理解,便于除錯、修改和擴充
-
健壯性----演算法對互動和環境的反應或處理能力
-
高效率----所需時空都小
-
-
良好的程式設計風格
-
源程式檔案化
-
資料說明標準化
-
陳述句規范化
-
輸入輸出格式化
-
總結
-
程序:問題---->程式---->指令序列---->結果
-
從問題到程式---->抽象、建模+程式設計
-
抽象、建模=可計算+計算復雜性
-
程式設計=資料結構+演算法+方法
-
演算法=問題分析+演算法表達+程式實作
-
程式實作=語言+環境
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/68296.html
標籤:C
上一篇:C++ 虛函式簡介!程式員必學知識,掌握編程從物件開始!
下一篇:C語言02
