(完整版)Python電子教案1-1程序設(shè)計基本方法_第1頁
(完整版)Python電子教案1-1程序設(shè)計基本方法_第2頁
(完整版)Python電子教案1-1程序設(shè)計基本方法_第3頁
(完整版)Python電子教案1-1程序設(shè)計基本方法_第4頁
(完整版)Python電子教案1-1程序設(shè)計基本方法_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第1章程序設(shè)計基本方法

計算機的概念計算機是根據(jù)指令操作數(shù)據(jù)的設(shè)備具備功能性和可編程性兩個基本特性功能性指對數(shù)據(jù)的操作,表現(xiàn)為數(shù)據(jù)計算、輸入輸出處理和結(jié)果存儲等??删幊绦灾杆梢愿鶕?jù)一系列指令自動地、可預測地、準確地完成操作者的意圖

計算機的概念摩爾定律是計算機發(fā)展歷史上最重要的預測法則摩爾定律指出,單位面積集成電路上可容納晶體管的數(shù)量約每兩年翻一倍。由于計算機中幾乎所有重要部件都由集成電路實現(xiàn)

摩爾定律(Moore’sLaw)第一階段:1946年到1981年,“計算機系統(tǒng)結(jié)構(gòu)階段”第二階段:1982年到2007年,“計算機網(wǎng)絡(luò)和視窗階段”第三階段:2008年至今,“復雜信息系統(tǒng)階段”。第四階段:約20年后未來的某個時期開始,“人工智能階段”計算機技術(shù)發(fā)展水平的時代性第一階段:1946年到1981年,“計算機系統(tǒng)結(jié)構(gòu)階段”這個階段開始于1946年,以全球首臺數(shù)字計算機ENIAC誕生為標志。在這個階段,計算機技術(shù)主要圍繞計算機系統(tǒng)結(jié)構(gòu)設(shè)計開展,服務(wù)于科學計算和商業(yè)數(shù)值類計算,產(chǎn)生了超級計算機、工作站、個人計算機等不同類型的計算機系統(tǒng)。計算機技術(shù)的第一個階段持續(xù)了35年,隨著IBMPC為代表的個人計算機的誕生(1981年),計算機技術(shù)進入了面向大眾的新階段。計算機技術(shù)發(fā)展水平的時代性第二階段:1982年到2007年,“計算機網(wǎng)絡(luò)和視窗階段”這個階段開始于1982年,以面向全球子網(wǎng)間組網(wǎng)的網(wǎng)絡(luò)協(xié)議TCP/IP的標準化為標志,互聯(lián)網(wǎng)(Internet,最初含義是連接子網(wǎng)的網(wǎng)絡(luò))時代到來了。在這個階段,計算機技術(shù)主要圍繞網(wǎng)絡(luò)技術(shù)、視窗技術(shù)、多媒體技術(shù)發(fā)展,以個人計算機和服務(wù)器為主要計算平臺,計算機技術(shù)提供滿足個人計算需求的視窗應用和網(wǎng)絡(luò)服務(wù)。計算機技術(shù)發(fā)展水平的時代性第三階段:2008年至今,“復雜信息系統(tǒng)階段”。這個階段以安卓(Andriod)開源移動操作系統(tǒng)的發(fā)布為起點,一批新的計算概念和技術(shù)幾乎同時提出并顯著推動了計算技術(shù)的升級換代,這些概念包括移動互聯(lián)網(wǎng)、多核眾核、云計算、可信計算、大數(shù)據(jù)、可穿戴計算、物聯(lián)網(wǎng)、互聯(lián)網(wǎng)+等。Python語言(2008年3.0版本)已經(jīng)成為這個階段計算機系統(tǒng)的主流編程語言。計算機技術(shù)發(fā)展水平的時代性第四階段:約20年后未來的某個時期開始,“人工智能階段”隨著深度學習、開源硬件、智能機器人、在線搜索引擎、量子計算等技術(shù)的發(fā)展,未來某個時期將會出現(xiàn)人工智能主導計算的技術(shù)階段,計算機技術(shù)將結(jié)合智能技術(shù)展示更加友好的交互方式和用戶體驗。此時,計算機或許已經(jīng)沒有了獨立的載體,它將通過網(wǎng)絡(luò)、數(shù)據(jù)和機器人整合一切可用自然資源,逐步接管人類所有非創(chuàng)造性工作,計算機技術(shù)將進入一個未知的新階段。計算機技術(shù)發(fā)展水平的時代性程序設(shè)計語言機器語言是一種二進制語言,它直接使用二進制代碼表達指令,是計算機硬件可以直接識別和執(zhí)行的程序設(shè)計語言。例如:執(zhí)行數(shù)字2和3的加法,16位計算機上的機器指令為:1101001000111011,不同計算機結(jié)構(gòu)的機器指令不同程序設(shè)計語言概述匯編語言使用助記符與機器語言中的指令進行一一對應,在計算機發(fā)展早期幫助程序員提高編程效率例如:執(zhí)行數(shù)字2和3的加法,匯編語言指令為:add2,3,result,運算結(jié)果寫入result。程序設(shè)計語言概述機器語言和匯編語言都直接操作計算機硬件并基于此設(shè)計,所以它們統(tǒng)稱為低級語言。高級語言區(qū)別于低級語言在于,高級語言是接近自然語言的一種計算機程序設(shè)計語言,更容易地描述計算問題并利用計算機解決計算問題。例如:執(zhí)行數(shù)字2和3加法的高級語言代碼為:result=2+3程序設(shè)計語言概述盡管許多計算機科學家為此做過很多努力,仍然無法在可預見的未來設(shè)計出能完全理解人類語言的計算機。即使計算機能理解人類語言,人類語言也不適合描述復雜算法這是因為人類語言具有不嚴密和模糊的缺點。例如,“我看見一個人在公園,帶著望遠鏡?!边@句話,基于常識和經(jīng)驗,交談雙方大多數(shù)情況下能夠理解彼此表達的意思,但深究一下,究竟是“我”帶著望遠鏡,還是“一個人”帶著望遠鏡呢?程序設(shè)計語言概述第一個廣泛應用的高級語言是C語言,誕生于1972年。40年來先后誕生了600多種程序設(shè)計語言,大多數(shù)語言也隨著應用領(lǐng)域的狹窄退出了歷史舞臺。下面一些是至今還經(jīng)常使用的程序設(shè)計語言:C、C++、C#、Go、HTML、Java、JavaScript、PHP、Python、SQL、Verilog等。一般來說,通用編程語言比專用于某些領(lǐng)域的編程語言生命力更強。程序設(shè)計語言概述通用編程語言指能夠用于編寫多種用途程序的編程語言,相對于專用編程語言。Python語言是一個通用編程語言,可以用于編寫各類型應用該語言的語法中沒有專門用于特定應用的程序元素。HTML語言則是一個專用編程語言,它利用超鏈接將文本、圖像、音視頻等資源組織起來行程Web頁面。通用編程語言常用編程語言中,C、C++、C#、Go、Java、Python是通用編程語言,HTML(Web頁面超鏈接語言)、JavaScript(Web瀏覽器端動態(tài)腳本語言)、Matlab(基于矩陣運算的科學計算語言)、PHP(Web服務(wù)器端動態(tài)腳本語言)、SQL(數(shù)據(jù)庫操作語言)、Verilog(硬件描述語言)是專用編程語言。通用編程語言程序設(shè)計語言包括編譯執(zhí)行和解釋執(zhí)行兩種方式程序設(shè)計語言是計算機能夠理解和識別用戶操作意圖的一種交互體系,它按照特定規(guī)則組織計算機指令,使計算機能夠自動進行各種運算處理。按照程序設(shè)計語言規(guī)則組織起來的一組計算機指令稱為計算機程序。程序設(shè)計語言概述高級語言按照計算機執(zhí)行方式的不同可分成兩類靜態(tài)語言腳本語言這里所說的執(zhí)行方式指計算機執(zhí)行一個程序的過程,靜態(tài)語言采用編譯執(zhí)行,腳本語言采用解釋執(zhí)行。編譯和解釋編譯是將源代碼轉(zhuǎn)換成目標代碼的過程,通常,源代碼是高級語言代碼,目標代碼是機器語言代碼,執(zhí)行編譯的計算機程序稱為編譯器編譯和解釋解釋是將源代碼逐條轉(zhuǎn)換成目標代碼同時逐條運行目標代碼的過程執(zhí)行解釋的計算機程序稱為解釋器。編譯和解釋編譯是一次性地翻譯,一旦程序被編譯,不再需要編譯程序或源代碼。對于相同源代碼,編譯所產(chǎn)生的目標代碼執(zhí)行速度更快。目標代碼不需要編譯器就可以運行,在同類型操作系統(tǒng)上使用靈活編譯過程只進行一次,所以,編譯過程的速度并不是關(guān)鍵,目標代碼的運行速度是關(guān)鍵。因此,編譯器一般都集成盡可能多的優(yōu)化技術(shù),使生成的目標代碼具備更好的執(zhí)行效率。編譯和解釋的區(qū)別解釋則在每次程序運行時都需要解釋器和源代碼。解釋執(zhí)行需要保留源代碼,程序糾錯和維護十分方便。只要存在解釋器,源代碼可以在任何操作系統(tǒng)上運行,可移植性好解釋器不能集成太多優(yōu)化技術(shù),因為代碼優(yōu)化技術(shù)會消耗運行時間,使整個程序的執(zhí)行速度受到影響。

編譯和解釋采用編譯執(zhí)行的編程語言是靜態(tài)語言,如C語言、Java語言;采用解釋執(zhí)行的編程語言是腳本語言,如JavaScript語言、PHP語言。Python語言是一種被廣泛使用的高級通用腳本編程語言,采用解釋執(zhí)行方式,但它的解釋器也保留了編譯器的部分功能,隨著程序運行,解釋器也會生成一個完整的目標代碼。這種將解釋器和編譯器結(jié)合的新解釋器是現(xiàn)代腳本語言為了提升計算性能的一種有益演進。編譯和解釋——為什么要學習計算機編程?——因為“編程是件很有趣的事兒”!計算機編程編程能夠訓練思維。編程體現(xiàn)了一種抽象交互關(guān)系、形式化方法執(zhí)行的思維模式,稱為“計算思維”。計算思維是區(qū)別于以數(shù)學為代表的邏輯思維和以物理為代表的實證思維的第三種思維模式。

計算機編程編程是一個求解問題的過程首先需要分析問題,抽象內(nèi)容之間的交互關(guān)系設(shè)計利用計算機求解問題的確定性方法,進而通過編寫和調(diào)試代碼解決問題這是從抽象問題到解決問題的完整過程。

計算機編程編程能夠增進認識。編寫程序不單純是求解計算題,它要求作者不僅要思考解決問題的方法,更要思考如何讓程序有更好的用戶體驗、更高的執(zhí)行效率和更有趣的展示效果。不同群體、不同時代不同文化對程序使用有不同理解,編程需要對時代大環(huán)境和使用群體小環(huán)境有更多認識,從細微處給出更好的程序體驗,這些思考和實踐將幫助程序作者加深對用戶行為以及社會和文化的的認識。計算機編程編程能夠帶來樂趣。利用一臺計算機,編程能夠提供展示自身思想和能力的舞臺,將所思所想變?yōu)楝F(xiàn)實。編程的開始有各種動機,或者去展示自己的青春風采,或者諷刺不文明的社會現(xiàn)象,或者向愛慕的對象表達情愫,所有這些想法都可以通過編寫程序變成現(xiàn)實,并通過互聯(lián)網(wǎng)零成本分發(fā)獲得更大的影響力。這些努力會讓世界增加新的顏色、讓自己變得更酷、提升心理滿足感和安全感。計算機編程編程能夠提高效率。計算機已經(jīng)成為當今社會的普通工具,掌握一定編程技術(shù)有助于更好地利用計算機解決所面對的計算問題。例如,對于個人照片,可以通過程序讀取照片元屬性自動進行歸類整理。對于工作數(shù)據(jù),可以通過程序按照特定算法進行批處理并繪制統(tǒng)計圖表。對于朋友圈的好文,可以通過程序?qū)崟r關(guān)注隨時點贊。掌握一些編程技術(shù)能夠提高工作、生活和學習效率。計算機編程編程帶來就業(yè)機會。程序員是信息時代最重要的工作崗位之一,國內(nèi)外對程序員的缺口都在百萬及以上以上規(guī)模,就業(yè)前景廣闊。往往程序員職業(yè)并不需要掌握多種編程語言,精通一種就能夠獲得就業(yè)機會。如果讀者不喜歡自己的專業(yè)或現(xiàn)在的工作,那就認真學習程序設(shè)計,換個更有趣的工作吧!計算機編程編程不是一件很難的事兒!計算機編程編寫程序有一定的框架和模式,只要理解了這些模式,稍加練習就會有很好的學習效果。學習一門編程語言,首先要掌握該語言的語法,対它們既要系統(tǒng)掌握,又要靈活運用。其次要學會結(jié)合計算問題設(shè)計程序結(jié)構(gòu),從程序塊、功能塊角度理解并設(shè)計整個程序框架。計算機編程最后要掌握解決問題的設(shè)計和實踐能力,即從理解計算問題開始,設(shè)計問題的解決方法,并通過編程語言來實現(xiàn)。學習計算機編程的重點在于練習。不僅要多看代碼,照著編寫,調(diào)試運行,還要在參考代碼思路基礎(chǔ)上獨立編寫,學會舉一反三。計算機編程Python語言概述GuidovanRossumPython語言創(chuàng)立者2002年,Python2.x2008年,Python3.xPython語言的誕生Python語言誕生于1990年,由GuidovanRossum設(shè)計并領(lǐng)導開發(fā)。1989年12月,Guido大??紤]啟動一個開發(fā)項目打發(fā)圣誕節(jié)前后的時間,決定為當時正在構(gòu)思的一個新的腳本語言寫一個解釋器該語言以“Python”命名源于Guido對當時一部英劇MontyPython'sFlyingCircus的極大興趣Python語言的誕生Python語言是開源項目的優(yōu)秀代表,其解釋器的全部代碼都是開源的,可在Python語言的主網(wǎng)站(/)自由下載Python軟件基金會(PSF,PythonSoftwareFoundation)作為一個非盈利組織,擁有Python2.1版本之后所有版本的版權(quán),該組織致力于更好推進并保護Python語言的開放性。Python語言的發(fā)展2008年12月,Python3.0正式發(fā)布,這個版本在語法層面和解釋器內(nèi)部做了很多重大改進,解釋器內(nèi)部采用完全面向?qū)ο蟮姆绞綄崿F(xiàn)。這些重要修改所付出的代價是3.x系列版本代碼無法向下兼容Python2.0系列的既有語法,因此,所有基于Python2.0系列版本編寫的庫函數(shù)都必須修改后才能被Python3.0系列解釋器運行。Python語言的發(fā)展Python語言經(jīng)歷了一個痛苦但令人期待的版本更迭過程,從2008年開始,用Python編寫的幾萬個函數(shù)庫開始了版本升級過程,至今,絕大部分Python函數(shù)庫和Python程序員都采用Python3.0系列語法和解釋器。“Python2.x已經(jīng)是遺產(chǎn),Python3.x是這個語言的現(xiàn)在和未來”。Python語言的發(fā)展開源軟件(Open-SourceSoftware)是一類開放源代碼軟件的統(tǒng)稱,這類軟件的源代碼在特定許可協(xié)議范圍內(nèi)可以被任何人學習、修改甚至發(fā)布,開源軟件更多定義和資源請參考開源軟件社區(qū)網(wǎng)站:https://。開源軟件為計算機技術(shù)快速發(fā)展掃清了知識產(chǎn)權(quán)障礙,降低了學習成本,互聯(lián)網(wǎng)也進一步推動了開源軟件的傳播,在深層次上影響著未來信息技術(shù)的發(fā)展快速和普及程度。開源軟件使用Python語言編寫的Hello程序只有一行代碼

print(“HelloWorld”)第一行的“>>>”是Python語言運行環(huán)境的提示符第二行是Python語句的執(zhí)行結(jié)果編寫Hello程序

一般來說,同樣功能的程序,Python語言實現(xiàn)的代碼行數(shù)僅相當于C語言的1/5至1/10,簡潔程度取決于程序的復雜度和規(guī)模。C語言的Hello程序語法簡潔:實現(xiàn)相同功能,Python語言的代碼行數(shù)僅相當于其他語言的1/5至1/10。更少的代碼行數(shù)、更簡潔的表達方式帶來更少的程序錯誤。平臺無關(guān):作為腳本語言,Python程序可以在任何安裝解釋器的計算機環(huán)境中執(zhí)行,因此,用該語言編寫的程序可以不經(jīng)修改地實現(xiàn)跨平臺運行。Python語言的特點粘性擴展:Python語言具有優(yōu)異的擴展性,體現(xiàn)在它可以集成C、C++、Java等語言編寫的代碼,通過接口和函數(shù)庫方式將它們“粘起來”(整合在一起)。此外,Python語言本身提供了良好的語法和執(zhí)行擴展

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論