004 程序設計基本方法


一、概要

  1. 計算機與程序設計
  2. 編譯和解釋
  3. 程序的基本編寫方法
  4. 計算機編程

二、計算機與程序設計

2.1 計算機

計算機是根據指令操作數據的設備

  • 功能性:對數據的操作,表現為數據計算、輸出輸出處理和結果存儲等
  • 可編程性:根據一系列指令自動地、可預測地、准確地完成操作者的意圖

2.2 計算機的發展

計算機的發展參照摩爾定律,表現為指數方式

  • 計算機硬件所依賴的集成電路規模參照摩爾定律發展
  • 計算機運行速度因此也接近幾何級數快速增長
  • 計算機高效支撐的各類運算功能不斷豐富發展

2.3 摩爾定律 Moore’s Law

計算機發展歷史上最重要的預測法則

  • Intel公司創始人之一戈登·摩爾在1965年提出
  • 單位面積集成電路上可容納晶體管的數量約每兩年翻一番
  • CPU/GPU、內存、硬盤、電子產品價格等都遵循摩爾定律

現實世界中的摩爾定律:

004-程序設計基本方法-01.jpg?x-oss-process=style/watermark

2.4 計算機發展

計算機的發展參照摩爾定律,表現為指數方式

  • 當今世界,唯一長達50年有效且按照指數發展的技術領域
  • 計算機深刻改變人類社會,甚至可能改變人類本身
  • 可預見的未來30年,摩爾定律還將持續有效

2.5 程序設計

程序設計是計算機可編程性的體現

  • 程序設計,亦稱編程,深度應用計算機的主要手段
  • 程序設計已經成為當今社會需求量最大的職業技能之一
  • 很多崗位都將被計算機程序接管,程序設計將是生存技能

2.6 程序設計語言

程序設計語言是一種用於交互(交流)的人造語言

  • 程序設計語言,亦稱編程語言,程序設計的具體實現方式
  • 編程語言相比自然語言更簡單、更嚴謹、更精確
  • 編程語言主要用於人類和計算機之間的交互

編程語言種類很多,但生命力強勁的卻不多

  • 編程語言有超過600種,絕大部分都不再被使用
  • C語言誕生於1972年,它是第一個被廣泛使用的編程語言
  • Python語言誕生於1990年,它是最流行最好用的編程語言

三、編譯和解釋

3.1 編程語言的執行方式

計算機執行源程序的兩種方式:編譯和解釋

  • 源代碼:采用某種編程語言編寫的計算機程序,人類可讀,例如:result = 2 + 3
  • 目標代碼:計算機可直接執行,人類不可讀 (專家除外),例如:11010010 00111011

3.2 編譯

將源代碼一次性轉換成目標代碼的過程:

004-程序設計基本方法-02.jpg?x-oss-process=style/watermark

執行編譯過程的程序叫作編譯器

3.3 解釋

將源代碼逐條轉換成目標代碼同時逐條運行的過程:

004-程序設計基本方法-03.jpg?x-oss-process=style/watermark

執行解釋過程的程序叫作解釋器

3.4 編譯和解釋

  • 編譯:一次性翻譯,之后不再需要源代碼(類似英文翻譯)
  • 解釋:每次程序運行時隨翻譯隨執行(類似實時的同聲傳譯)

3.5 靜態語言和動態語言

根據執行方式不同,編程語言分為兩類

  • 靜態語言
    • 使用編譯執行的編程語言,如C/C++語言、Java語言
    • 編譯器一次性生成目標代碼,優化更充分,程序運行速度更快
  • 腳本語言
    • 使用解釋執行的編程語言,Python語言、JavaScript語言、PHP語言
    • 執行程序時需要源代碼,維護更靈活,源代碼在維護靈活、跨多個操作系統平台

四、程序的基本編寫方法

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.1 編程能夠訓練思維

  • 編程體現了一種抽象交互關系、自動化執行的思維模式
  • 計算思維:區別邏輯思維和實證思維的第三種思維模式
  • 能夠促進人類思考,增進觀察力和深化對交互關系的理解

5.2 編程能夠增進認識

  • 編程不單純是求解計算問題
  • 不僅要思考解決方法,還要思考用戶體驗、執行效率等
  • 能夠幫助程序員加深用戶行為以及社會和文化認識

5.3 編程能夠帶來樂趣

  • 編程能夠提供展示自身思想和能力的舞台
  • 讓世界增加新的顏色、讓自己變得更酷、提升心理滿足感
  • 在信息空間里思考創新、將創新變為現實

5.4 編程能夠提高效率

  • 能夠更好地利用計算機解決問題
  • 顯著提高工作、生活和學習效率
  • 為個人理想實現提供一種借助計算機的高效手段

5.5 編程帶來就業機會

  • 程序員是信息時代最重要的工作崗位之一
  • 國內外對程序員崗位的缺口都在百萬以上規模
  • 計算機已經滲透於各個行業, 就業前景非常廣闊

5.6 學習編程的誤區

Q:編程很難學嗎? A:掌握方法就很容易!

  • 首先,掌握編程語言的語法,熟悉基本概念和邏輯
  • 其次,結合計算問題思考程序結構,會使用編程套路
  • 最后,參照案例多練習多實踐,學會舉一反三

六、小結

  • 計算機的功能性和可編程性
  • 編譯和解釋、靜態語言和腳本語言
  • IPO、理解問題的計算部分
  • 掌握計算機編程的價值


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM