- 計算機與程式設計
- 編譯和解釋
- 程式的基本編寫方法
- 計算機程式設計
計算機是根據指令操作資料的裝置
- 功能性:對資料的操作,表現為資料計算、輸出輸出處理和結果存儲等
- 可程式設計性:根據一系列指令自動地、可預測地、準确地完成操作者的意圖
計算機的發展參照摩爾定律,表現為指數方式
- 計算機硬體所依賴的內建電路規模參照摩爾定律發展
- 計算機運作速度是以也接近幾何級數快速增長
- 計算機高效支撐的各類運算功能不斷豐富發展
計算機發展曆史上最重要的預測法則
- Intel公司創始人之一戈登·摩爾在1965年提出
- 機關面積內建電路上可容納半導體的數量約每兩年翻一番
- CPU/GPU、記憶體、硬碟、電子産品價格等都遵循摩爾定律
現實世界中的摩爾定律:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5SMiRGN1IzNzkTN2EmZwUjYzITOjdTZ3MTNjlTM3YDZk9CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
計算機的發展參照摩爾定律,表現為指數方式
- 當今世界,唯一長達50年有效且按照指數發展的技術領域
- 計算機深刻改變人類社會,甚至可能改變人類本身
- 可預見的未來30年,摩爾定律還将持續有效
程式設計是計算機可程式設計性的展現
- 程式設計,亦稱程式設計,深度應用計算機的主要手段
- 程式設計已經成為當今社會需求量最大的職業技能之一
- 很多崗位都将被計算機程式接管,程式設計将是生存技能
程式設計語言是一種用于互動(交流)的人造語言
- 程式設計語言,亦稱程式設計語言,程式設計的具體實作方式
- 程式設計語言相比自然語言更簡單、更嚴謹、更精确
- 程式設計語言主要用于人類和計算機之間的互動
程式設計語言種類很多,但生命力強勁的卻不多
- 程式設計語言有超過600種,絕大部分都不再被使用
- C語言誕生于1972年,它是第一個被廣泛使用的程式設計語言
- Python語言誕生于1990年,它是最流行最好用的程式設計語言
計算機執行源程式的兩種方式:編譯和解釋
- 源代碼:采用某種程式設計語言編寫的計算機程式,人類可讀,例如:
result = 2 + 3
- 目标代碼:計算機可直接執行,人類不可讀 (專家除外),例如:
11010010 00111011
将源代碼一次性轉換成目标代碼的過程:
執行編譯過程的程式叫作編譯器
3.3 解釋将源代碼逐條轉換成目标代碼同時逐條運作的過程:
執行解釋過程的程式叫作解釋器
3.4 編譯和解釋- 編譯:一次性翻譯,之後不再需要源代碼(類似英文翻譯)
- 解釋:每次程式運作時随翻譯随執行(類似實時的同聲傳譯)
根據執行方式不同,程式設計語言分為兩類
- 靜态語言
- 使用編譯執行的程式設計語言,如C/C++語言、Java語言
- 編譯器一次性生成目标代碼,優化更充分,程式運作速度更快
- 腳本語言
- 使用解釋執行的程式設計語言,Python語言、JavaScript語言、PHP語言
- 執行程式時需要源代碼,維護更靈活,源代碼在維護靈活、跨多個作業系統平台
程式的基本編寫方法
- I:Input 輸入,程式的輸入
- P:Process 處理,程式的主要邏輯
- O:Output 輸出,程式的輸出
- 輸入
- 程式的輸入:檔案輸入、網絡輸入、控制台輸入、互動界面輸入、内部參數輸入等
- 輸入是一個程式的開始
- 輸出
- 程式的輸出:控制台輸出、圖形輸出、檔案輸出、網絡輸出、作業系統内部變量輸出等
- 輸出是程式展示運算結果的方式
- 處理
- 處理是程式對輸入資料進行計算産生輸出結果的過程
- 處理方法統稱為算法,它是程式最重要的部分
- 算法是一個程式的靈魂
一個待解決問題中,可以用程式輔助完成的部分
- 計算機隻能解決計算問題,即問題的計算部分
- 一個問題可能有多種角度了解,産生不同的計算部分
- 問題的計算部分一般都有輸入、處理和輸出過程
6個步驟 (1-3)
- 分析問題:分析問題的計算部分,想清楚
- 劃分邊界:劃分問題的功能邊界,規劃IPO
- 設計算法:設計問題的求解算法,關注算法
使用計算機解決問題
- 編寫程式:編寫問題的計算程式,程式設計式
- 調試測試:調試程式使正确運作,運作調試
- 更新維護:适應問題的更新維護,更新完善
3個精簡步驟
- 确定IPO:明确計算部分及功能邊界
- 編寫程式:将計算求解的設計變成現實
- 調試程式:確定程式按照正确邏輯能夠正确運作
- 程式設計展現了一種抽象互動關系、自動化執行的思維模式
- 計算思維:差別邏輯思維和實證思維的第三種思維模式
- 能夠促進人類思考,增進觀察力和深化對互動關系的了解
- 程式設計不單純是求解計算問題
- 不僅要思考解決方法,還要思考使用者體驗、執行效率等
- 能夠幫助程式員加深使用者行為以及社會和文化認識
- 程式設計能夠提供展示自身思想和能力的舞台
- 讓世界增加新的顔色、讓自己變得更酷、提升心理滿足感
- 在資訊空間裡思考創新、将創新變為現實
- 能夠更好地利用計算機解決問題
- 顯著提高工作、生活和學習效率
- 為個人理想實作提供一種借助計算機的高效手段
- 程式員是資訊時代最重要的工作崗位之一
- 國内外對程式員崗位的缺口都在百萬以上規模
- 計算機已經滲透于各個行業, 就業前景非常廣闊
Q:程式設計很難學嗎? A:掌握方法就很容易!
- 首先,掌握程式設計語言的文法,熟悉基本概念和邏輯
- 其次,結合計算問題思考程式結構,會使用程式設計套路
- 最後,參照案例多練習多實踐,學會舉一反三
- 計算機的功能性和可程式設計性
- 編譯和解釋、靜态語言和腳本語言
- IPO、了解問題的計算部分
- 掌握計算機程式設計的價值