Python程序設(shè)計(jì) 課件 第1章 計(jì)算機(jī)和程序設(shè)計(jì)基礎(chǔ)_第1頁(yè)
Python程序設(shè)計(jì) 課件 第1章 計(jì)算機(jī)和程序設(shè)計(jì)基礎(chǔ)_第2頁(yè)
Python程序設(shè)計(jì) 課件 第1章 計(jì)算機(jī)和程序設(shè)計(jì)基礎(chǔ)_第3頁(yè)
Python程序設(shè)計(jì) 課件 第1章 計(jì)算機(jī)和程序設(shè)計(jì)基礎(chǔ)_第4頁(yè)
Python程序設(shè)計(jì) 課件 第1章 計(jì)算機(jī)和程序設(shè)計(jì)基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩53頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

計(jì)算機(jī)和程序設(shè)計(jì)基礎(chǔ)第一章課程目標(biāo)課程目標(biāo)1了解計(jì)算機(jī)的硬件基礎(chǔ)35246學(xué)習(xí)計(jì)算機(jī)科學(xué)家研究的領(lǐng)域和他們使用的技術(shù)了解現(xiàn)代計(jì)算機(jī)的基本設(shè)計(jì)了解計(jì)算機(jī)編程語(yǔ)言的形式和功能開(kāi)始使用Python編程語(yǔ)言了解混沌模型及其對(duì)計(jì)算的影響PART1現(xiàn)代計(jì)算機(jī)1現(xiàn)代計(jì)算機(jī)現(xiàn)代計(jì)算機(jī)可以被定義為:在可改變的程序的控制下,存儲(chǔ)和操縱信息的機(jī)器。A計(jì)算機(jī)是用于操縱信息的設(shè)備B計(jì)算機(jī)不是唯一能操縱信息的機(jī)器關(guān)鍵要素1現(xiàn)代計(jì)算機(jī)是一組詳細(xì)的、循序漸進(jìn)的指令,告訴計(jì)算機(jī)確切地做什么改變程序,計(jì)算機(jī)將執(zhí)行不同的動(dòng)作序列或不同的任務(wù)什么是計(jì)算機(jī)程序?機(jī)器保持不變,但程序改變了1現(xiàn)代計(jì)算機(jī)通過(guò)適當(dāng)?shù)木幊蹋沟妹颗_(tái)計(jì)算機(jī)幾乎可以實(shí)現(xiàn)所有其它計(jì)算機(jī)的功能。一臺(tái)通用機(jī)正確的編寫程序前提條件PART2硬件基礎(chǔ)2硬件基礎(chǔ)圖1.1

計(jì)算機(jī)功能視圖是機(jī)器的“大腦”是計(jì)算機(jī)執(zhí)行所有基本操作的地方2硬件基礎(chǔ)圖1.1

計(jì)算機(jī)功能視圖存儲(chǔ)程序和數(shù)據(jù)速度快,但不穩(wěn)定2硬件基礎(chǔ)圖1.1

計(jì)算機(jī)功能視圖提供永久的存儲(chǔ),如:磁盤、閃存、光盤2硬件基礎(chǔ)圖1.1

計(jì)算機(jī)功能視圖信息一般通過(guò)鍵盤、鼠標(biāo)等傳遞給計(jì)算機(jī)2硬件基礎(chǔ)圖1.1

計(jì)算機(jī)功能視圖處理后的信息通過(guò)顯示屏、打印機(jī)等呈現(xiàn)給用戶2硬件基礎(chǔ)從存儲(chǔ)器取得第一條指令解碼指令以弄清楚它代表什么執(zhí)行適當(dāng)?shù)膭?dòng)作取得、解碼和執(zhí)行下一條指令循環(huán)繼續(xù),指令接著指令CPU遵循的過(guò)程稱為“讀取—執(zhí)行循環(huán)”PART3計(jì)算機(jī)科學(xué)3計(jì)算機(jī)科學(xué)計(jì)算機(jī)科學(xué)并不只是關(guān)于計(jì)算機(jī),就像天文學(xué)并不只是關(guān)于望遠(yuǎn)鏡一樣。計(jì)算機(jī)科學(xué)的根本問(wèn)題就是“可以計(jì)算什么”,也就是“什么是可以計(jì)算的”。3計(jì)算機(jī)科學(xué)設(shè)計(jì)證明某個(gè)特定問(wèn)題可以解決的一種方式是實(shí)際設(shè)計(jì)解決方案這是通過(guò)開(kāi)發(fā)一個(gè)算法來(lái)實(shí)現(xiàn)的,一個(gè)逐步實(shí)現(xiàn)所需結(jié)果的過(guò)程如果可以設(shè)計(jì)一個(gè)算法,那么問(wèn)題是可解的,未能找到算法并不意味著問(wèn)題是不可解的3計(jì)算機(jī)科學(xué)分析分析是以數(shù)學(xué)方式檢查算法和問(wèn)題的過(guò)程有些看似簡(jiǎn)單的問(wèn)題,任何算法都無(wú)法解決,這些問(wèn)題是“難解的”如果花費(fèi)的時(shí)間太長(zhǎng)或者占用的內(nèi)存太多,那么問(wèn)題可能很難處理3計(jì)算機(jī)科學(xué)實(shí)驗(yàn)有些問(wèn)題太復(fù)雜或定義不明確,無(wú)法分析實(shí)現(xiàn)一些系統(tǒng),然后研究結(jié)果的行為PART4編程語(yǔ)言4編程語(yǔ)言幫我算一下2001+2002等于多少!你說(shuō)啥?我聽(tīng)不懂!自然語(yǔ)言在描述復(fù)雜算法時(shí)存在模糊性和不精確性問(wèn)題需要使用編程語(yǔ)言以明確、精確的方式表達(dá)程序精確的含義(它的“語(yǔ)義”)精確的形式(它的“語(yǔ)法”)4編程語(yǔ)言編程語(yǔ)言就像一種規(guī)則,用于編寫計(jì)算機(jī)將遵循的指令。程序員對(duì)程序的叫法計(jì)算機(jī)代碼computercode用編程語(yǔ)言來(lái)編寫算法的過(guò)程編碼coding4編程語(yǔ)言編程語(yǔ)言就像一種規(guī)則,用于編寫計(jì)算機(jī)將遵循的指令。Python是一種編程語(yǔ)言C++、Java、Javascript、Ruby、Perl、Scheme、BASIC高級(jí)計(jì)算機(jī)語(yǔ)言4編程語(yǔ)言假設(shè)我們希望讓計(jì)算機(jī)對(duì)兩個(gè)數(shù)求和:我只理解機(jī)器語(yǔ)言!CPU實(shí)際執(zhí)行的指令將內(nèi)存位置2001的數(shù)加載到CPU中將內(nèi)存位置2002的數(shù)加載到CPU中在CPU中對(duì)這兩個(gè)數(shù)求和將結(jié)果存儲(chǔ)到位置2003復(fù)雜實(shí)際上甚至比這更復(fù)雜,因?yàn)檫@些低級(jí)指令都是用二進(jìn)制(1和0)表示的。4編程語(yǔ)言兩個(gè)數(shù)求和可以表達(dá)為c=a+b高級(jí)計(jì)算機(jī)語(yǔ)言Python方法:將高級(jí)語(yǔ)言翻譯成計(jì)算機(jī)可以執(zhí)行的機(jī)器語(yǔ)言解釋編譯4編程語(yǔ)言編譯“編譯器”是將用高級(jí)語(yǔ)言編寫的程序轉(zhuǎn)換成某些計(jì)算機(jī)的機(jī)器語(yǔ)言。圖1.2編譯高級(jí)語(yǔ)言高級(jí)程序計(jì)算機(jī)可以直接執(zhí)行的程序運(yùn)行程序4編程語(yǔ)言解釋“解釋器”是一個(gè)程序,它模擬能理解高級(jí)語(yǔ)言的計(jì)算機(jī)。圖1.3解釋高級(jí)語(yǔ)言不是一下子全部翻譯成機(jī)器語(yǔ)言,而是逐個(gè)分析并執(zhí)行源代碼指令。4編程語(yǔ)言解釋編譯VS

一旦程序被編譯,它可以在沒(méi)有源代碼或編譯器的情況下反復(fù)執(zhí)行編譯的程序更快每次程序運(yùn)行時(shí)都需要解釋器和源代碼解釋語(yǔ)言是更靈活的編程環(huán)境的一部分解釋程序的可移植性更強(qiáng)PART5初識(shí)Python5初識(shí)Python第一次使用Python時(shí),將看到如下內(nèi)容:C:\Users\Administrator>pythonPython3.8.0(tags/v3.8.0:fa919fd,Oct142019,19:21:23)[MSCv.191632bit(Intel)]onwin32Type"help","copyright","credits"or"license"formoreinformation.>>>是一個(gè)Python提示符,命令可以在后面輸入。5初識(shí)Python>>>print("Hello,world")

Hello,world

>>>print(2+3)

5

>>>print("2+3=",2+3)

2+3=5

>>>在編程語(yǔ)言中,一個(gè)完整的命令稱為語(yǔ)句:打印語(yǔ)句使用print命令。5初識(shí)Python>>>defhello():print("Hello")print("Computersarefun!")>>>使用函數(shù)來(lái)同時(shí)執(zhí)行幾個(gè)語(yǔ)句來(lái)解決一個(gè)常見(jiàn)的問(wèn)題。注意,鍵入定義并不會(huì)導(dǎo)致Python打印任何東西。5初識(shí)Python>>>hello()HelloComputersarefun!>>>使用函數(shù)來(lái)同時(shí)執(zhí)行幾個(gè)語(yǔ)句來(lái)解決一個(gè)常見(jiàn)的問(wèn)題。5初識(shí)Python>>>defgreet(person):print("Hello",person)

print("Howareyou?")

>>>命令可以具有可更改的部分,稱為參數(shù)。5初識(shí)Python>>>greet("John")HelloJohnHowareyou?>>>greet("Emily")HelloEmilyHowareyou?>>>命令可以具有可更改的部分,稱為參數(shù)。5初識(shí)Python當(dāng)我們退出Python提示符時(shí),定義會(huì)丟失。>>>defgreet(person):print("Hello",person)

print("Howareyou?")

>>>下次使用需重新輸入解決方法:創(chuàng)建程序?qū)⒍x寫入獨(dú)立的文件,稱為“模塊”或“腳本”。此文件保存在輔助存儲(chǔ)器中,可以反復(fù)使用。5初識(shí)PythonA模塊文件是一個(gè)文本文件,可以用任何應(yīng)用程序來(lái)編輯文本。將程序保存為“純文本”文件即可5初識(shí)PythonB集成開(kāi)發(fā)環(huán)境(IDE)使編寫程序更方便、更準(zhǔn)確,有助于程序員編寫代碼。自動(dòng)縮進(jìn)顏色高亮顯示交互式開(kāi)發(fā)5初識(shí)Python#File:chaos.py#Asimpleprogramillustratingchaoticbehaviordefmain():print("Thisprogramillustratesachaoticfunction")x=eval(input("Enteranumberbetween0and1:"))foriinrange(10):x=3.9*x*(1-x)print(x)main()打開(kāi)IDLE,選擇File/NewFile菜單選項(xiàng)。表示這是一個(gè)Python模塊。5初識(shí)Python>>>ThisprogramillustratesachaoticfunctionEnteranumberbetween0and1:.50.9750.09506250.3354999222660.8694649252590.4426331091130.9621652553370.1419727793620.47508438620.9725789275370.104009713267>>>PART6Python解釋器6Python解釋器#File:chaos.py#Asimpleprogramillustratingchaoticbehaviordefmain():print("Thisprogramillustratesachaoticfunction")x=eval(input("Enteranumberbetween0and1:"))foriinrange(10):x=3.9*x*(1-x)print(x)main()以#開(kāi)頭的行稱為注釋為程序的人類讀者編寫的,被Python忽略Python將跳過(guò)從#到行尾的所有文本6Python解釋器#File:chaos.py#Asimpleprogramillustratingchaoticbehaviordefmain():print("Thisprogramillustratesachaoticfunction")x=eval(input("Enteranumberbetween0and1:"))foriinrange(10):x=3.9*x*(1-x)print(x)main()定義一個(gè)名為main的函數(shù)6Python解釋器#File:chaos.py#Asimpleprogramillustratingchaoticbehaviordefmain():print("Thisprogramillustratesachaoticfunction")x=eval(input("Enteranumberbetween0and1:"))foriinrange(10):x=3.9*x*(1-x)print(x)main()打印6Python解釋器#File:chaos.py#Asimpleprogramillustratingchaoticbehaviordefmain():print("Thisprogramillustratesachaoticfunction")x=eval(input("Enteranumberbetween0and1:"))foriinrange(10):x=3.9*x*(1-x)print(x)main()x是變量的示例變量為值提供名稱顯示引號(hào)內(nèi)的信息,并將響應(yīng)中輸入的數(shù)字存儲(chǔ)在x中6Python解釋器#File:chaos.py#Asimpleprogramillustratingchaoticbehaviordefmain():print("Thisprogramillustratesachaoticfunction")x=eval(input("Enteranumberbetween0and1:"))foriinrange(10):x=3.9*x*(1-x)print(x)main()循環(huán)告訴Python一遍又一遍地重復(fù)相同的事情6Python解釋器#File:chaos.py#Asimpleprogramillustratingchaoticbehaviordefmain():print("Thisprogramillustratesachaoticfunction")x=eval(input("Enteranumberbetween0and1:"))foriinrange(10):x=3.9*x*(1-x)print(x)main()是每次通過(guò)循環(huán)重復(fù)的內(nèi)容通過(guò)縮進(jìn)來(lái)標(biāo)識(shí)循環(huán)的效果和重復(fù)這兩行10次是一樣的6Python解釋器foriinrange(10):x=3.9*x*(1-x)print(x)x=3.9*x*(1-x)print(x)x=3.9*x*(1-x)print(x)x=3.9*x*(1-x)print(x)x=3.9*x*(1-x)print(x)x=3.9*x*(1-x)print(x)x=3.9*x*(1-x)print(x)x=3.9*x*(1-x)print(x)x=3.9*x*(1-x)print(x)x=3.9*x*(1-x)print(x)x=3.9*x*(1-x)print(x)等價(jià)6Python解釋器#File:chaos.py#Asimpleprogramillustratingchaoticbehaviordefmain():print("Thisprogramillustratesachaoticfunction")x=eval(input("Enteranumberbetween0and1:"))foriinrange(10):x=3.9*x*(1-x)print(x)main()賦值語(yǔ)句,一旦計(jì)算出右側(cè)的值,它就被賦值到x中6Python解釋器#File:chaos.py#Asimpleprogramillustratingchaoticbehaviordefmain():print("Thisprogramillustratesachaoticfunction")x=eval(input("Enteranumberbetween0and1:"))foriinrange(10):x=3.9*x*(1-x)print(x)main()告訴Python執(zhí)行main函數(shù)中的代碼PART7混沌和計(jì)算機(jī)7混沌和計(jì)算機(jī)隨著公式被重復(fù)應(yīng)用,初始值的非常小的差異可以導(dǎo)致結(jié)果的巨大差異!混沌函數(shù)7混沌和計(jì)算機(jī)#File:chaos.py#Asimpleprogramillustratingchaoticbehaviordefmain():print("Thisprogramillustratesachaoticfunction")x=eval(input("Enteranumberbetween0and1:"))foriinrange(10):x=3.9*x*(1-x)print(x)main()7混沌和計(jì)算機(jī)input 0.25 0.26--------------------------------0.7312500.7503600.7664410.7305470.6981350.7677070.8218960.6954990.5708940.8259420.9553990.

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論