標籤:匈牙利 工作 分類 ring 變數 相加 計算 優劣 必須
編程基礎
- > 程式:
一組能讓電腦識別和執行的指令
- > 電子電腦:
能夠執行程式的機器
> 現代電腦:
艾倫。麥席森。圖靈(Alan Mathision Turing,1912年6月23日--1954年6月7日),英國數學家、邏輯學家,被稱為電腦科學之父,人工智慧之父。圖靈提出 的著名的圖靈機模型為現代電腦的邏輯工作方式奠定了基礎
馮。諾依曼著名匈牙利裔美籍猶太人數學家、電腦科學家、物理學家和化學家,數字電腦之父。他提出了二進位作為數字電腦的數制基礎,電腦應該按照順序執行,電腦應該有五大組件。
- > 電腦語言:
人與電腦之間互動的語言
- > 機器語言:
一定位元組成二進位的0和1的序列,稱為機器指令。機器指令的集合就是機器語言;
與自然語言差異太大,難學,難懂,難寫,難記,難查錯
- > 組合語言:
用一些助記符號替代機器指令,稱為組合語言。ADD A,B指的是將寄存器A的數與寄存器B的數相加得到的數放到寄存器A中;
組合語言寫好的程式需要組譯工具轉換成機器指令;
組合語言只是稍微好記了些,可以認為就是機器指令對應的助記符。只是符號本身接近自然語言
語言分類
- > 低級語言:
面向機器的語言,包括機器語言、組合語言
不同的機器不能通用,不同的機器需要不同的機器指令或者組譯工具
- >進階語言:
接近自然語言和數學語言的電腦語言;
進階語言首先要書寫來源程式,通過編譯器把來源程式轉換成機器指令的程式;
1954年正式發布的Fortran語言是最早的進階語言,本意是公式翻譯;
人們只需要關心怎麼書寫來源程式,針對不同的機器的編譯的事交給編譯器關心處理
進階語言的發展
- > 非結構化語言:
編號或標籤、GOTO,子程式可以有多個入口和出口
有分支、迴圈
- > 結構化語言:
任何基本結構只允許是唯一入口和唯一出口
順序、分支、迴圈、廢棄GOTO
> 物件導向語言:
更加接近人類認知世界的方式,萬事萬物抽象成對象,對象間關係抽象成類和繼承;
封裝、繼承、多態
- > 函數式語言:
古老的編程範式,應用在數學計算、平行處理的情境。引入到了很多現代化進階語言中;
函數是“一等公民”,高隊函數
程式Program
> 程式:
演算法+資料結構=程式
資料一切程式的核心
資料結結構是資料在電腦中的類型和組織方式
演算法是處理資料的方式,演算法有優劣之分
- > 寫程式痛點:
理不清資料
搞不清處理方法
無法把資料設計轉換成資料結構,無法把處理方法轉換成演算法
無法用設計範式來進行程式設計
世間程式皆有bug,但不會debug
Python的語言類型
- > Python是動態語言、強型別語言
- > 靜態編譯語言
實現聲明變數類型,類型不能再改變;
編譯時間檢查
- > 動態編譯語言
不用事先宣告類型,隨時可以賦值為其他類型
編程時不知道是什麼類型,很難推斷
- > 強型別語言
不同類型之間操作,必須先強制類型轉換為同一類型
- > 弱類型語言
不同類型間可以操作,自動隱式轉換
week01_python基礎文法__01