一、程序設計基本方法
-
計算機與程序設計
-
編譯和解釋
-
程序的基本編寫方法
-
計算機編程
1、計算機與程序設計
(1)、計算機是根據指令操作數據的設備
-
功能性:對數據的操作、表現為數據計算、輸出輸入處理和結果存儲。
-
可編程性:根據一系列指令自動的地、可預測地、準確地完成操作者地意圖。
(2)、計算機的發展參照摩爾定律,表現為指數形式
-
計算機硬件所依賴的集成電路規模參照摩爾定律發展。
-
計算機運行速度因此也接近幾何指數快速增長。
-
同時計算機所能高效支撐的各類運算功能不斷豐富發展。
摩爾定律 Moore's Law
計算機發展歷史上最重要的預測法則,Intel公司創始人之一戈登摩爾在1965年提出。
-
單位面積集成電路上可容納晶體管的數量約每兩年翻一番。
-
CPU/GPU、內存、硬盤、電子產品價格等都遵循摩爾定律。
(3)、程序設計
程序設計是計算機可編程性的體現
-
程序設計,亦稱編程,深度應用計算機的主要手段。
-
程序設計已經成為當今社會需求量最大的職業技能之一。
-
很多崗位都將被計算機程序接管,程序設計將是生存技能。
(4)、程序設計語言
程序設計語言是一種用于交互(交流)的人造語言。
-
程序設計語言,亦稱編程語言,程序設計的具體實現方式。
-
編程語言相比自然語言更簡單、更嚴謹、更精確。
-
編程語言主要用于人類和計算機之間的交互。
編程語言種類很多,但生命力強勁的卻不多。
-
編程語言有超過600種,但絕大部分都不再使用。
-
C語言誕生于1972年,它是第一個被廣泛使用的編程語言。
-
Python語言誕生于1990年,它是最流行最好用的編程語言。
2、編譯和解釋
(1)、編程語言的執行方式
編程語言按照執行方式劃分:編譯和解釋
源代碼:采用某種編程語言編寫的計算機程序,人類可讀
? 例如:result = 2 + 3
目標代碼: 計算機可以直接執行,人類不可讀(專家除外)
? 例如:11010010 00111011
(2)、程序執行的兩種方式: 編譯和解釋
-
編譯:將源代碼一次性轉換成目標代碼的過程
-
解釋:將源代碼逐條轉換成目標代碼同時逐條運行的過程
執行解釋過程的程序叫作解釋器。
-
編譯:一次性翻譯,之后不再需要源代碼(類似英文翻譯)。
-
解釋: 每次程序運行時隨翻譯隨執行(類似實時的同聲傳譯)。
根據這兩種執行方式的不同,可以將編程語言分為兩類:
-
靜態語言:使用編譯執行的編程語言
-
C/C++、JAVA語言
-
-
腳本語言: 使用解釋執行的編程語言
-
Python語言、JavaScript語言、PHP語言
?
-
(3)、靜態語言和腳本語言
執行方式不同,優勢各有不同
-
靜態語言: 編譯器一次性生成目標代碼,
-
優化更充分,運行速度更快。
-
-
腳本語言:執行程序需要源代碼,維護更靈活。
-
源代碼維護靈活,跨多個操作系統平臺。
-
3、程序的基本編寫方法
(1)、IPO
-
IPO
-
I Input輸入,程序的輸入
-
P Process處理,程序的主要邏輯
-
O Output 輸出,程序的輸出
-
-
理解IPO
-
程序的輸入
-
文件輸入、網絡輸入、控制太輸入、交互界面輸入、內部參數輸入等
-
輸入是一個程序的開始
-
-
程序的輸出
-
控制臺輸出、圖形輸出、文件輸出、網絡輸出、操作系統內部變量輸出等
-
輸出時程序展示運算結果的方式
-
-
處理
-
處理是程序對輸入數據進行計算產生輸出結果的過程。
-
處理方法統稱為算法,它是程序最重要的部分。
-
算法是一個程序的靈魂。
-
?
-
(2)、問題的計算部分
-
一個待解決問題中,可以用程序輔助完成的部分
-
計算機只能解決計算問題,即問題的計算部分
-
一個問題可能有多種角度理解,產生不同的計算部分。
-
問題的計算部分一般都有輸入、處理和輸出過程。
-
(3)、編程解決問題的步驟
6個步驟(1-3)
-
分析問題:分析問題的計算部分,想清楚
-
用編程解決問題的哪一個計算需求
-
-
劃分邊界:劃分問題的功能邊界,規劃IPO
-
設計算法:設計問題的求解算法,關注算法
-
編寫程序:編寫問題的計算程序,編程序
-
測試程序:調試程序使正確運行,測試運行
-
升級維護:適應問題的升級維護,更新完善
求解計算問題的精簡步驟
-
確定IPO:明確計算部分及功能邊界
-
編寫程序:將計算求解的設計編程現實
-
調試程序:確保程序按照正確邏輯能夠正確運行
4、計算機編程
(1)、編程的優點
1)、編程可以訓練思維
-
編程體現了一種抽象交互關系、自動化執行的思維模式
-
計算思維:區別數學為代表的邏輯思維和以物理為代表的實證思維的第三種思維模式
-
能夠促進人類思考,增進觀察力和深化對交互關系的理解
2)、編程能夠增進認識
-
編程不單是求解計算問題
-
不僅是思考解決方法、還要思考用戶體驗、執行效率等
-
能夠幫助程序員加深用戶行為以及社會和文化認識
3)、編程能夠帶來樂趣
-
編程能夠提供展示自身思想和能力的舞臺
-
讓世界增加新的顏色、讓自己變得更酷、提升心里滿足
-
在信息空間里思考創新、將創新變為現實
4)、編程能夠提高效率
-
能夠更好的利用計算機解決問題
-
顯著提高工作、生活和學習效率
-
為理想的實現提供一種借助計算機的高效手段
5)、編程帶來就業機會
-
程序員是信息時代最重要的工作崗位之一
-
國內外對程序員崗位的缺口都在百萬以上規模
-
計算機已經滲透各個行業,就業前景非常廣闊
(2)、學習編程的誤區
掌握方法:
-
首先,掌握編程語言的語法,熟悉基本概念和邏輯
-
其次,結合計算問題思考程序結構,會使用編程套路
-
最后,參照案例多練習多實踐,學會舉一反三
?
小結:
-
計算機的功能性和可編程性
-
編譯和解釋、靜態語言和腳本語言
-
IPO、理解問題的計算部分
-
掌握計算機編程的價值
?