版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Python語言程序設(shè)計(jì)北京理工大學(xué) 嵩天第1章 程序設(shè)計(jì)基本方法 計(jì)算機(jī)的概念 n 計(jì)算機(jī)是根據(jù)指令操作數(shù)據(jù)的設(shè)備n 具備功能性和可編程性兩個(gè)基本特性 功能性指對(duì)數(shù)據(jù)的操作,表現(xiàn)為數(shù)據(jù)計(jì)算、輸入輸出處理和結(jié)果存儲(chǔ)等。 可編程性指它可以根據(jù)一系列指令自動(dòng)地、可預(yù)測地、準(zhǔn)確地完成操作者的意圖 計(jì)算機(jī)的概念n 計(jì)算機(jī)硬件所依賴的集成電路規(guī)模按照摩爾定律以指數(shù)方式增長n 計(jì)算機(jī)運(yùn)行速度也接近幾何級(jí)數(shù)快速增加n 計(jì)算機(jī)所能高效支撐的功能不斷豐富發(fā)展 n 程序設(shè)計(jì)語言經(jīng)歷了從機(jī)器語言到高級(jí)語言的發(fā)展過程,朝著更接近自然語言的方向發(fā)展。計(jì)算機(jī)的概念n 摩爾定律是計(jì)算機(jī)發(fā)展歷史上最重要的預(yù)測法則摩爾定律指出
2、,單位面積集成電路上可容納晶體管的數(shù)量約每兩年翻一倍。由于計(jì)算機(jī)中幾乎所有重要部件都由集成電路實(shí)現(xiàn) 摩爾定律(Moores Law) n 第一階段:1946年到1981年,“計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)階段” n 第二階段:1982年到2007年,“計(jì)算機(jī)網(wǎng)絡(luò)和視窗階段” n 第三階段:2008年至今,“復(fù)雜信息系統(tǒng)階段”。 n 第四階段:約20年后未來的某個(gè)時(shí)期開始, “人工智能階段” 計(jì)算機(jī)技術(shù)發(fā)展水平的時(shí)代性 程序設(shè)計(jì)語言n 程序設(shè)計(jì)語言包括編譯執(zhí)行和解釋執(zhí)行兩種方式程序設(shè)計(jì)語言是計(jì)算機(jī)能夠理解和識(shí)別用戶操作意圖的一種交互體系,它按照特定規(guī)則組織計(jì)算機(jī)指令,使計(jì)算機(jī)能夠自動(dòng)進(jìn)行各種運(yùn)算處理。按照程序設(shè)
3、計(jì)語言規(guī)則組織起來的一組計(jì)算機(jī)指令稱為計(jì)算機(jī)程序。 程序設(shè)計(jì)語言概述n 機(jī)器語言機(jī)器語言是一種二進(jìn)制語言,它直接使用二進(jìn)制代碼表達(dá)指令,是計(jì)算機(jī)硬件可以直接識(shí)別和執(zhí)行的程序設(shè)計(jì)語言。例如:執(zhí)行數(shù)字2和3的加法,16位計(jì)算機(jī)上的機(jī)器指令為:11010010 00111011,不同計(jì)算機(jī)結(jié)構(gòu)的機(jī)器指令不同 程序設(shè)計(jì)語言概述n 匯編語言使用助記符與機(jī)器語言中的指令進(jìn)行一一對(duì)應(yīng),在計(jì)算機(jī)發(fā)展早期幫助程序員提高編程效率 例如:執(zhí)行數(shù)字2和3的加法,匯編語言指令為:add 2, 3, result,運(yùn)算結(jié)果寫入result。l 機(jī)器語言和匯編語言都直接操作計(jì)算機(jī)硬件并基于此設(shè)計(jì),所以它們統(tǒng)稱為低級(jí)語言。程
4、序設(shè)計(jì)語言概述n 高級(jí)語言高級(jí)語言區(qū)別于低級(jí)語言在于,高級(jí)語言是接近自然語言的一種計(jì)算機(jī)程序設(shè)計(jì)語言,更容易地描述計(jì)算問題并利用計(jì)算機(jī)解決計(jì)算問題。 例如:執(zhí)行數(shù)字2和3加法的高級(jí)語言代碼為:result = 2 + 3程序設(shè)計(jì)語言概述高級(jí)語言按照計(jì)算機(jī)執(zhí)行方式的不同可分成兩類n靜態(tài)語言n腳本語言這里所說的執(zhí)行方式指計(jì)算機(jī)執(zhí)行一個(gè)程序的過程,靜態(tài)語言采用編譯執(zhí)行,腳本語言采用解釋執(zhí)行。 編譯和解釋n 編譯是將源代碼轉(zhuǎn)換成目標(biāo)代碼的過程,通常,源代碼是高級(jí)語言代碼,目標(biāo)代碼是機(jī)器語言代碼,執(zhí)行編譯的計(jì)算機(jī)程序稱為編譯器編譯和解釋n 解釋是將源代碼逐條轉(zhuǎn)換成目標(biāo)代碼同時(shí)逐條運(yùn)行目標(biāo)代碼的過程。執(zhí)行
5、解釋的計(jì)算機(jī)程序稱為解釋器。編譯和解釋編譯是一次性地翻譯,一旦程序被編譯,不再需要編譯程序或者源代碼。n 對(duì)于相同源代碼,編譯所產(chǎn)生的目標(biāo)代碼執(zhí)行速度更快。n 目標(biāo)代碼不需要編譯器就可以運(yùn)行,在同類型操作系統(tǒng)上使用靈活。編譯和解釋解釋則在每次程序運(yùn)行時(shí)都需要解釋器和源代碼。n解釋執(zhí)行需要保留源代碼,程序糾錯(cuò)和維護(hù)十分方便。n只要存在解釋器,源代碼可以在任何操作系統(tǒng)上運(yùn)行,可移植性好 編譯和解釋為什么要學(xué)習(xí)計(jì)算機(jī)編程?因?yàn)椤熬幊淌羌苡腥さ氖聝骸保∮?jì)算機(jī)編程計(jì)算機(jī)編程計(jì)算思維是區(qū)別于以數(shù)學(xué)為代表的邏輯思維和以物理為代表的實(shí)證思維的第三種思維模式。編程是一個(gè)求解問題的過程p首先需要分析問題,抽象內(nèi)
6、容之間的交互關(guān)系p設(shè)計(jì)利用計(jì)算機(jī)求解問題的確定性方法,p進(jìn)而通過編寫和調(diào)試代碼解決問題這是從抽象問題到解決問題的完整過程。 Python語言概述Python語言的誕生Guido van RossumPython語言創(chuàng)立者2002年,Python 2.x2008年,Python 3.x使用Python語言編寫的Hello程序只有一行代碼 print(“Hello World”)第一行的“”是Python語言運(yùn)行環(huán)境的提示符第二行是Python語句的執(zhí)行結(jié)果 編寫Hello程序print(Hello World)Hello World#include int main(void)printf(He
7、llo Worldn);return 0;一般來說,同樣功能的程序,Python語言實(shí)現(xiàn)的代碼行數(shù)僅相當(dāng)于C語言的1/5至1/10,簡潔程度取決于程序的復(fù)雜度和規(guī)模。C語言的Hello程序 腳本語言 + 語句執(zhí)行 例1: print(“Hello World!大家好大家好!) 例2: sum = 99999 * 99999 print(sum)Python語言的優(yōu)勢 例3: months=JanFebMarAprMayJunJulAugSepOctNovDec n = 4 monthAbbrev = months(n-1)*3:(n-1)*3+3 print(monthAbbrev)Pytho
8、n語言的優(yōu)勢簡潔 + 強(qiáng)制可讀性例4: def mean(numbers): s = 0.0 for num in numbers: s = s + num return s / len(numbers) nums = 0,1,2,3,4,5,6,7,8,9 print(mean(nums)Python語言的優(yōu)勢跨平臺(tái) + 開源/目前有93561個(gè)開源庫,覆蓋各類計(jì)算問題例5: from random import random rnd = random()*10 print(rnd)Python語言的優(yōu)勢Python語言的優(yōu)勢:面向過程 + 面向?qū)ο?/p>
9、靈活的介紹程序設(shè)計(jì)理念Python語言的優(yōu)勢:圖形界面Windows窗口玫瑰花Python語言的優(yōu)勢Python語言特點(diǎn)n Python語言是通用語言n Python語言是腳本語言n Python語言是開源語言n Python語言是跨平臺(tái)語言n Python語言是多模型語言Python開發(fā)環(huán)境配置安裝n 到Python主頁下載并安裝Python基本開發(fā)和運(yùn)行環(huán)境,網(wǎng)址:/downloads/n 根據(jù)操作系統(tǒng)不同選擇不同版本n 下載相應(yīng)的Python 3.0系列版本程序安裝安裝啟動(dòng)n 方法1:啟動(dòng)Windows命令行工具,輸入python啟動(dòng)n 方法2:調(diào)用IDLE來
10、啟動(dòng)Python圖形化運(yùn)行環(huán)境啟動(dòng)n 方法3:按照語法格式編寫代碼,編寫可以用任何文本編輯器,保存為文件。啟動(dòng)n 方法4:打開IDLE,點(diǎn)擊Ctrl+N打開一個(gè)新窗口,輸入語句并保存,使用快鍵建F5即可運(yùn)行該程序啟動(dòng)n 方法5:將Python集成到Eclipse、PyCharm等面向較大規(guī)模項(xiàng)目開發(fā)的集成開發(fā)環(huán)境中Hello程序采用上述某個(gè)方法,執(zhí)行: 程序的基本編寫方法n 輸入數(shù)據(jù)n 處理數(shù)據(jù)n 輸出數(shù)據(jù)IPO程序編寫方法n 輸入數(shù)據(jù)輸入(Input)是一個(gè)程序的開始。程序要處理的數(shù)據(jù)有多種來源,形成了多種輸入方式,包括:文件輸入、網(wǎng)絡(luò)輸入、控制臺(tái)輸入、交互界面輸出、隨機(jī)數(shù)據(jù)輸入、內(nèi)部參數(shù)輸
11、入等。IPO程序編寫方法n 處理數(shù)據(jù)處理(Process)是程序?qū)斎霐?shù)據(jù)進(jìn)行計(jì)算產(chǎn)生輸出結(jié)果的過程。計(jì)算問題的處理方法統(tǒng)稱為“算法”,它是程序最重要的組成部分??梢哉f,算法是一個(gè)程序的靈魂。IPO程序編寫方法n 輸出數(shù)據(jù)輸出(Output)是程序展示運(yùn)算成果的方式。程序的輸出方式包括:控制臺(tái)輸出、圖形輸出、文件輸出、網(wǎng)絡(luò)輸出、操作系統(tǒng)內(nèi)部變量輸出等。IPO程序編寫方法n 微實(shí)例1.1圓面積的計(jì)算輸入:圓半徑raduis處理:計(jì)算圓面積area = * radius * radius (此處,取3.1415)輸出:圓面積area IPO程序編寫方法n 分析問題分析問題的計(jì)算部分n 劃分邊界劃分問題的功能邊界n 設(shè)計(jì)算法設(shè)計(jì)問題的求解算法n 編寫程序,編寫問題的計(jì)算程序n 調(diào)試測試,調(diào)試和測試程序n 升級(jí)維護(hù),適應(yīng)問題的升級(jí)維護(hù)使用計(jì)算機(jī)解決問題 Python語言版本更迭Python語言的版本更迭n 更高級(jí)別的3.0系列不兼容早期2.0系列n 2008年至今,版本更迭帶來大量庫函數(shù)的升級(jí)替換,Python語言的版本更迭痛苦且漫長n 到今天,Python 3.x系列已經(jīng)成為主流本章小結(jié)本章具體講解了計(jì)算機(jī)的基本定義、計(jì)算機(jī)的功能性和可編程性、程序設(shè)計(jì)語言分類、編譯和解釋、Pyt
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年典型地產(chǎn)交易協(xié)議范例
- 豬肉定制合同范本
- 齊齊哈爾大學(xué)《機(jī)械設(shè)計(jì)課程設(shè)計(jì)》2022-2023學(xué)年第一學(xué)期期末試卷
- 2024年專項(xiàng)保密及競業(yè)禁止條款協(xié)議
- 放羊雇傭合同范本
- 高品質(zhì)空調(diào)銷售與全方位安裝協(xié)議條款
- 2024年度賓館租賃協(xié)議模板匯編
- 2024辦公樓裝修施工與材料供應(yīng)協(xié)議
- 2024潤滑油長期供應(yīng)與技術(shù)服務(wù)協(xié)議
- 2024年分級(jí)護(hù)理制度與護(hù)理管理優(yōu)化
- 《東北經(jīng)濟(jì)振興》課件
- 英國文學(xué)Jonathan-swift介紹
- 小學(xué)男女生如何正常交往主題班會(huì)課件
- 小學(xué)三年級(jí)語文期中考試總結(jié)反思
- GA/T 591-2023法庭科學(xué)照相設(shè)備技術(shù)條件
- GB/T 6451-2023油浸式電力變壓器技術(shù)參數(shù)和要求
- LED屏施工方案(技術(shù)方案)
- 統(tǒng)計(jì)學(xué)專業(yè)大學(xué)生職業(yè)生涯規(guī)劃書
- 邊坡防護(hù)作用與防護(hù)類型全解課件
- 項(xiàng)目收費(fèi)站機(jī)電工程(三大系統(tǒng))設(shè)備基本培訓(xùn)資料
- 難治性高血壓-課件
評(píng)論
0/150
提交評(píng)論