004 程序設計基本方法
1、概要
- 計算機與程序設計
- 編譯和解釋
- 程序的基本編寫方法
- 計算機編程
2、計算機與程序設計
2.1 計算機
計算機是根據指令操做數據的設備算法
- 功能性:對數據的操做,表現爲數據計算、輸出輸出處理和結果存儲等
- 可編程性:根據一系列指令自動地、可預測地、準確地完成操做者的意圖
2.2 計算機的發展
計算機的發展參照摩爾定律,表現爲指數方式編程
- 計算機硬件所依賴的集成電路規模參照摩爾定律發展
- 計算機運行速度所以也接近幾何級數快速增加
- 計算機高效支撐的各種運算功能不斷豐富發展
2.3 摩爾定律 Moore’s Law
計算機發展歷史上最重要的預測法則網絡
- Intel公司創始人之一戈登·摩爾在1965年提出
- 單位面積集成電路上可容納晶體管的數量約每兩年翻一番
- CPU/GPU、內存、硬盤、電子產品價格等都遵循摩爾定律
現實世界中的摩爾定律:編程語言
![004-程序設計基本方法-01.jpg?x-oss-process=style/watermark](http://static.javashuo.com/static/loading.gif)
2.4 計算機發展
計算機的發展參照摩爾定律,表現爲指數方式學習
- 當今世界,惟一長達50年有效且按照指數發展的技術領域
- 計算機深入改變人類社會,甚至可能改變人類自己
- 可預見的將來30年,摩爾定律還將持續有效
2.5 程序設計
程序設計是計算機可編程性的體現測試
- 程序設計,亦稱編程,深度應用計算機的主要手段
- 程序設計已經成爲當今社會需求量最大的職業技能之一
- 不少崗位都將被計算機程序接管,程序設計將是生存技能
2.6 程序設計語言
程序設計語言是一種用於交互(交流)的人造語言優化
- 程序設計語言,亦稱編程語言,程序設計的具體實現方式
- 編程語言相比天然語言更簡單、更嚴謹、更精確
- 編程語言主要用於人類和計算機之間的交互
編程語言種類不少,但生命力強勁的卻很少操作系統
- 編程語言有超過600種,絕大部分都再也不被使用
- C語言誕生於1972年,它是第一個被普遍使用的編程語言
- Python語言誕生於1990年,它是最流行最好用的編程語言
3、編譯和解釋
3.1 編程語言的執行方式
計算機執行源程序的兩種方式:編譯和解釋翻譯
- 源代碼:採用某種編程語言編寫的計算機程序,人類可讀,例如:
result = 2 + 3
- 目標代碼:計算機可直接執行,人類不可讀 (專家除外),例如:
11010010 00111011
3.2 編譯
將源代碼一次性轉換成目標代碼的過程:
![004-程序設計基本方法-02.jpg?x-oss-process=style/watermark](http://static.javashuo.com/static/loading.gif)
執行編譯過程的程序叫做編譯器
3.3 解釋
將源代碼逐條轉換成目標代碼同時逐條運行的過程:
![004-程序設計基本方法-03.jpg?x-oss-process=style/watermark](http://static.javashuo.com/static/loading.gif)
執行解釋過程的程序叫做解釋器
3.4 編譯和解釋
- 編譯:一次性翻譯,以後再也不須要源代碼(相似英文翻譯)
- 解釋:每次程序運行時隨翻譯隨執行(相似實時的同聲傳譯)
3.5 靜態語言和動態語言
根據執行方式不一樣,編程語言分爲兩類
- 靜態語言
- 使用編譯執行的編程語言,如C/C++語言、Java語言
- 編譯器一次性生成目標代碼,優化更充分,程序運行速度更快
- 腳本語言
- 使用解釋執行的編程語言,Python語言、JavaScript語言、PHP語言
- 執行程序時須要源代碼,維護更靈活,源代碼在維護靈活、跨多個操做系統平臺
4、程序的基本編寫方法
4.1 IPO
程序的基本編寫方法
- I:Input 輸入,程序的輸入
- P:Process 處理,程序的主要邏輯
- O:Output 輸出,程序的輸出
4.2 理解IPO
- 輸入
- 程序的輸入:文件輸入、網絡輸入、控制檯輸入、交互界面輸入、內部參數輸入等
- 輸入是一個程序的開始
- 輸出
- 程序的輸出:控制檯輸出、圖形輸出、文件輸出、網絡輸出、操做系統內部變量輸出等
- 輸出是程序展現運算結果的方式
- 處理
- 處理是程序對輸入數據進行計算產生輸出結果的過程
- 處理方法統稱爲算法,它是程序最重要的部分
- 算法是一個程序的靈魂
4.3 問題的計算部分
一個待解決問題中,能夠用程序輔助完成的部分
- 計算機只能解決計算問題,即問題的計算部分
- 一個問題可能有多種角度理解,產生不一樣的計算部分
- 問題的計算部分通常都有輸入、處理和輸出過程
4.4 編程解決問題的步驟
6個步驟 (1-3)
- 分析問題:分析問題的計算部分,想清楚
- 劃分邊界:劃分問題的功能邊界,規劃IPO
- 設計算法:設計問題的求解算法,關注算法
使用計算機解決問題
- 編寫程序:編寫問題的計算程序,編程序
- 調試測試:調試程序使正確運行,運行調試
- 升級維護:適應問題的升級維護,更新完善
4.5 求解計算問題的精簡步驟
3個精簡步驟
- 肯定IPO:明確計算部分及功能邊界
- 編寫程序:將計算求解的設計變成現實
- 調試程序:確保程序按照正確邏輯可以正確運行
5、計算機編程
5.1 編程可以訓練思惟
- 編程體現了一種抽象交互關係、自動化執行的思惟模式
- 計算思惟:區別邏輯思惟和實證思惟的第三種思惟模式
- 可以促進人類思考,增進觀察力和深化對交互關係的理解
5.2 編程可以增進認識
- 編程不單純是求解計算問題
- 不只要思考解決方法,還要思考用戶體驗、執行效率等
- 可以幫助程序員加深用戶行爲以及社會和文化認識
5.3 編程可以帶來樂趣
- 編程可以提供展現自身思想和能力的舞臺
- 讓世界增長新的顏色、讓本身變得更酷、提高心理知足感
- 在信息空間裏思考創新、將創新變爲現實
5.4 編程可以提升效率
- 可以更好地利用計算機解決問題
- 顯著提升工做、生活和學習效率
- 爲我的理想實現提供一種藉助計算機的高效手段
5.5 編程帶來就業機會
- 程序員是信息時代最重要的工做崗位之一
- 國內外對程序員崗位的缺口都在百萬以上規模
- 計算機已經滲透於各個行業, 就業前景很是廣闊
5.6 學習編程的誤區
Q:編程很難學嗎? A:掌握方法就很容易!
- 首先,掌握編程語言的語法,熟悉基本概念和邏輯
- 其次,結合計算問題思考程序結構,會使用編程套路
- 最後,參照案例多練習多實踐,學會觸類旁通
6、小結
- 計算機的功能性和可編程性
- 編譯和解釋、靜態語言和腳本語言
- IPO、理解問題的計算部分
- 掌握計算機編程的價值
歡迎關注本站公眾號,獲取更多信息