Python語(yǔ)言程序設(shè)計(jì)(微課版)-課件 CH01-程序設(shè)計(jì)概述_第1頁(yè)
Python語(yǔ)言程序設(shè)計(jì)(微課版)-課件 CH01-程序設(shè)計(jì)概述_第2頁(yè)
Python語(yǔ)言程序設(shè)計(jì)(微課版)-課件 CH01-程序設(shè)計(jì)概述_第3頁(yè)
Python語(yǔ)言程序設(shè)計(jì)(微課版)-課件 CH01-程序設(shè)計(jì)概述_第4頁(yè)
Python語(yǔ)言程序設(shè)計(jì)(微課版)-課件 CH01-程序設(shè)計(jì)概述_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第1章程序設(shè)計(jì)概述2主要內(nèi)容1.程序設(shè)計(jì)語(yǔ)言2.程序設(shè)計(jì)的本質(zhì)3.算法4.算法的表示5.結(jié)構(gòu)化的程序設(shè)計(jì)31.程序設(shè)計(jì)語(yǔ)言程序是用來完成特定功能的一系列指令。通過向計(jì)算機(jī)發(fā)布指令,程序設(shè)計(jì)人員可以控制其執(zhí)行某個(gè)操作或進(jìn)行某種運(yùn)算。一組指令構(gòu)成一個(gè)程序,可以用來解決一個(gè)具體問題。4語(yǔ)言的分類1.機(jī)器語(yǔ)言2.匯編語(yǔ)言3.高級(jí)語(yǔ)言

4.面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言:VB/VC/JAVA/C#/Python語(yǔ)言的分類使用二進(jìn)制編碼的指令編寫程序的語(yǔ)言被稱為機(jī)器語(yǔ)言。機(jī)器語(yǔ)言程序,執(zhí)行效率高。語(yǔ)言的分類匯編語(yǔ)言使用助記符來代替機(jī)器語(yǔ)言的指令碼,使機(jī)器語(yǔ)言符號(hào)化,從而提高編程效率。如:ADDA,9使用匯編語(yǔ)言的助記符編寫的程序稱為匯編語(yǔ)言源程序。語(yǔ)言的分類高級(jí)語(yǔ)言是類似于自然語(yǔ)言、以語(yǔ)句和函數(shù)為單位書寫程序的編程語(yǔ)言。高級(jí)語(yǔ)言編寫的程序稱為高級(jí)語(yǔ)言源程序編譯器先使用其編譯程序?qū)⒏呒?jí)語(yǔ)言源程序轉(zhuǎn)換為匯編語(yǔ)言源程序,再由匯編程序?qū)R編語(yǔ)言源程序轉(zhuǎn)換為機(jī)器可執(zhí)行的二進(jìn)制語(yǔ)言程序。8語(yǔ)言的分類4.面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言:VB/VC/JAVA/C#/Python(構(gòu)件化的語(yǔ)言)

編程語(yǔ)言的分層結(jié)構(gòu)編程語(yǔ)言的分層結(jié)構(gòu)思維,以下層語(yǔ)言為基礎(chǔ),再定義一套能力更強(qiáng)的新語(yǔ)言和編譯器。人們使用新語(yǔ)言高效率地編寫程序,使用編譯器將其編譯成下層語(yǔ)言能識(shí)別的源程序。10語(yǔ)言的執(zhí)行方式編譯執(zhí)行:將源程序翻譯生成一個(gè)可執(zhí)行的目標(biāo)程序,該目標(biāo)程序可以脫離編譯環(huán)境和源程序獨(dú)立存和執(zhí)行如C、C++解釋執(zhí)行:將源程序逐句解釋成二進(jìn)制指令,解釋一句執(zhí)行一句,不生成可執(zhí)行文件,它的執(zhí)行速度比編譯方式慢。如Basic、Java、Python等語(yǔ)言的版權(quán)問題與國(guó)產(chǎn)編程語(yǔ)言為什么沒有國(guó)產(chǎn)的主流編程語(yǔ)言C語(yǔ)言沒有版權(quán)問題Java在Oracle的手上x86、ARM指令集也受專利保護(hù)編程語(yǔ)言也面臨著斷供的風(fēng)險(xiǎn)!語(yǔ)言的版權(quán)問題與國(guó)產(chǎn)編程語(yǔ)言華為除了推出鴻蒙操作系統(tǒng)外,即將發(fā)布國(guó)產(chǎn)“倉(cāng)頡”編程語(yǔ)言,補(bǔ)齊軟件核心短板。頡,原姓侯岡,名頡,俗稱倉(cāng)頡先師,又史皇氏,又曰蒼王、倉(cāng)圣?!墩f文解字》、《世本》、《淮南子》皆記載倉(cāng)頡是黃帝時(shí)期造字的左史官,見鳥獸的足跡受啟發(fā),分類別異,加以搜集、整理和使用,在漢字創(chuàng)造的過程中起了重要作用,被尊為“造字圣人”。13Python起源1989年圣誕節(jié),荷蘭人吉多·范羅蘇姆(GuidovanRossum),Python誕生Python名字,電視劇MontyPython'sFlyingCircus。Python語(yǔ)言是從ABC語(yǔ)言發(fā)展起來1991年,第一個(gè)Python解釋器誕生Python發(fā)展最初的Python完全由Guido本人開發(fā)。Guido和一些同事構(gòu)成了Python的核心團(tuán)隊(duì),他們將自己大部分的業(yè)余時(shí)間用于hackPython。Python將許多機(jī)器層面上的細(xì)節(jié)隱藏,交給編譯器處理,并凸顯出邏輯層面的編程思考。Python發(fā)展Python語(yǔ)言無處不在PYPLPopularitYofProgrammingLanguagePython發(fā)展2011年1月,Python被TIOBE編程語(yǔ)言排行榜評(píng)為“2010年度編程語(yǔ)言”的稱號(hào)。2019年1月,Python再次被TIOBE編程語(yǔ)言排行榜評(píng)為“2018年度編程語(yǔ)言”的稱號(hào)。Python是當(dāng)今高校中最常被教授的首選語(yǔ)言,它在統(tǒng)計(jì)領(lǐng)域排名第一、在AI編程中排名第一、在編寫腳本時(shí)排名第一、在編寫系統(tǒng)測(cè)試時(shí)排名第一。除此之外,Python還在Web編程和科學(xué)計(jì)算領(lǐng)域處于領(lǐng)先地位??傊?,Python無處不在。Python特點(diǎn)優(yōu)點(diǎn):簡(jiǎn)單易學(xué)免費(fèi)開源高級(jí)語(yǔ)言可移植性解釋性面向?qū)ο罂蓴U(kuò)展性豐富的庫(kù)缺點(diǎn):運(yùn)行速度慢代碼無法加密獨(dú)特的語(yǔ)法格式Python應(yīng)用領(lǐng)域Web應(yīng)用開發(fā)網(wǎng)絡(luò)爬蟲計(jì)算與數(shù)據(jù)分析人工智能自動(dòng)化運(yùn)維云計(jì)算網(wǎng)絡(luò)編程游戲開發(fā)2.程序設(shè)計(jì)的本質(zhì)【例1.1】簡(jiǎn)單的Python程序,輸出一行行語(yǔ)句。print("尚德尚學(xué)尚行,愛國(guó)愛校愛人!")print("人生苦短,我用Python!")print("我愛編程!")說明:print()語(yǔ)句輸出數(shù)據(jù)20馮.諾依曼體系結(jié)構(gòu)(1)計(jì)算機(jī)由控制器、運(yùn)算器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備5個(gè)部分構(gòu)成。(2)計(jì)算機(jī)采用二進(jìn)制,指令和數(shù)據(jù)均以二進(jìn)制數(shù)形式表示和存放。(3)計(jì)算機(jī)按照程序規(guī)定的順序?qū)⒅噶顝拇鎯?chǔ)器中取出,并逐條執(zhí)行。21程序設(shè)計(jì)的本質(zhì)程序設(shè)計(jì)的本質(zhì)是設(shè)計(jì)能夠利用計(jì)算機(jī)的五個(gè)部件完成特定任務(wù)的指令序列?!纠?.2】輸入櫻桃單價(jià)和斤數(shù),計(jì)算并輸出總金額。price=float(input("請(qǐng)輸入單價(jià)"))number=float(input("請(qǐng)輸入櫻桃斤數(shù)"))total=price*numberprint("總金額為",total)說明:分析五部件在程序中的作用過程。input()語(yǔ)句輸入數(shù)據(jù)。223.程序設(shè)計(jì)的過程

分析和定義實(shí)際問題建立處理模型:設(shè)計(jì)算法設(shè)計(jì)流程圖編寫程序調(diào)試程序和運(yùn)行程序程序設(shè)計(jì)的過程分析和定義實(shí)際問題深入分析實(shí)際問題,準(zhǔn)確提煉、描述要解決的問題。程序設(shè)計(jì)的過程建立處理模型用特定方法描述問題的規(guī)律和數(shù)值關(guān)系,為確定計(jì)算機(jī)的實(shí)現(xiàn)算法而做的理論準(zhǔn)備。如數(shù)學(xué)、物理、化學(xué)等模型程序設(shè)計(jì)的過程設(shè)計(jì)算法將要處理的問題分解成計(jì)算機(jī)能夠執(zhí)行的若干特定操作,也就是確定解決問題的算法。如積分公式轉(zhuǎn)換為算法。程序設(shè)計(jì)的過程繪制流程圖在編程前給出處理步驟的流程圖,只管反映所處理問題中復(fù)雜的關(guān)系,以便編程時(shí)思路清晰、避免出錯(cuò)。流程圖是程序設(shè)計(jì)的良好工具,方便程序員交流程序設(shè)計(jì)的過程編寫程序:用某種語(yǔ)言按照流程圖描述的步驟寫出程序。用某種語(yǔ)言編寫的程序叫做源程序。程序設(shè)計(jì)的過程調(diào)試和運(yùn)行程序?qū)懞玫某绦蛏蠙C(jī)檢查、編譯、調(diào)試和運(yùn)行,發(fā)現(xiàn)并糾正錯(cuò)誤。29算法的概念和特性算法:解決一個(gè)問題所采取的一系列步驟。NikiklausWirth提出一個(gè)公式:程序=數(shù)據(jù)結(jié)構(gòu)+算法數(shù)據(jù)結(jié)構(gòu)是指在程序中數(shù)據(jù)的類型和組織形式。Python語(yǔ)言中有列表、元組、序列、字典、集合等。算法給出了解決問題的方法和步驟,是程序的靈魂它能決定如何操作數(shù)據(jù),如何解決問題。同一個(gè)問題可以有多種不同算法。十四五規(guī)劃與2035年遠(yuǎn)景目標(biāo)《中共中央關(guān)于制定國(guó)民經(jīng)濟(jì)和社會(huì)發(fā)展第十四個(gè)五年規(guī)劃和二〇三五年遠(yuǎn)景目標(biāo)的建議》31算法舉例算法,必須是計(jì)算機(jī)能夠運(yùn)行的方法?!纠?.3】求1+2+3+4+…+100。第一種算法:書寫“1+2+3+4+5+6+…+100”的表達(dá)式,很難完成且容易出錯(cuò)。第二種算法:

顯然,第二種算法要簡(jiǎn)單得多32算法舉例【例1.4】求100!=1*2*3*4*5*.......*99*100step1:p=1step2:i=2step3:p=p*istep4:i=i+1step5:如果i<=100,那么轉(zhuǎn)入step3執(zhí)行step6:輸出p,算法結(jié)束跟蹤上述算法的執(zhí)行過程,理解變量的作用,程序設(shè)計(jì)時(shí)可用的部件和功能。33算法舉例【例1.5】求1*3*5*…*101。step1:p=1step2:i=1step3:p=p*istep4:i=i+2step5:如果i<=101,那么轉(zhuǎn)入step3執(zhí)行step6:輸出p,算法結(jié)束只需要將i的初值改為1、每次循環(huán)增加2即可34算法的特性(1)有窮性(2)確定性(3)輸入:算法可以有輸入,也可以沒有輸入,即有0個(gè)或多個(gè)輸入。(4)輸出(5)可行性354.算法的表示自然語(yǔ)言:例:如果A大于B,那么最大值為A,否則最大值為B。

偽代碼偽代碼用介于自然語(yǔ)言和計(jì)算機(jī)語(yǔ)言之間的文字及符號(hào)來描述算法。例:ifA大于B,then最大值為A,else最大值為B傳統(tǒng)流程圖用傳統(tǒng)流程圖表示算法比較直觀,它使用一些圖框來表示各種操作,用箭頭表示語(yǔ)句的執(zhí)行順序。38N-S流程圖N-S流程圖又稱盒圖,其特點(diǎn)是所有的程序結(jié)構(gòu)均用方框表示。395.結(jié)構(gòu)化的程序設(shè)計(jì)方法1966年,Bohra和Jacopini提出了順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)三種基本結(jié)構(gòu),結(jié)構(gòu)化程序設(shè)計(jì)方法使用三種基本結(jié)構(gòu)組成算法已經(jīng)證明,用3種基本結(jié)構(gòu)可以組成解決所有編程問題的算法。40順序結(jié)構(gòu)順序結(jié)構(gòu)是指按照語(yǔ)句在程序中出現(xiàn)的先后次序執(zhí)行41選擇結(jié)構(gòu)選擇結(jié)構(gòu)根據(jù)條件選擇程序的執(zhí)行順序

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論