程序設(shè)計(jì)思想與方法_第1頁(yè)
程序設(shè)計(jì)思想與方法_第2頁(yè)
程序設(shè)計(jì)思想與方法_第3頁(yè)
程序設(shè)計(jì)思想與方法_第4頁(yè)
程序設(shè)計(jì)思想與方法_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

什么是計(jì)算機(jī)科學(xué)?計(jì)算機(jī)科學(xué)并非研究計(jì)算機(jī)!正如天文學(xué)不是研究天文望遠(yuǎn)鏡CS要回答的基本問題:什么是可計(jì)算的?對(duì)此問題的回答有三種方式:實(shí)際設(shè)計(jì)一個(gè)解決問題的算法理論分析問題的可解性(有些問題是無解的,或者不是能行可解的)通過實(shí)驗(yàn)來研究問題.1課程主要內(nèi)容解決可計(jì)算問題需要教會(huì)計(jì)算機(jī)如何解決問題我們?nèi)绾谓虝?huì)計(jì)算機(jī)解決問題了解計(jì)算機(jī)有哪些基本功能熟悉一門與計(jì)算機(jī)進(jìn)行交流的語(yǔ)言掌握設(shè)計(jì)思路與方法對(duì)本課程的定位學(xué)習(xí)計(jì)算機(jī)科學(xué)解決問題的思想方法,應(yīng)用于各個(gè)專業(yè)領(lǐng)域不僅僅是一門程序設(shè)計(jì)語(yǔ)言課程!本課程需要編程,以加深對(duì)計(jì)算思維的理解壞消息:學(xué)習(xí)編程語(yǔ)言需要掌握非常繁瑣的細(xì)節(jié)好消息:Python語(yǔ)言非常簡(jiǎn)單,易學(xué)易用3計(jì)算機(jī)與程序計(jì)算機(jī)組成程序設(shè)計(jì)語(yǔ)言初識(shí)Python計(jì)算機(jī)的組成硬件:計(jì)算機(jī)的軀殼軟件:計(jì)算機(jī)的靈魂計(jì)算機(jī),也被稱之為“電腦”,是一種能夠按照事先存儲(chǔ)的程序自動(dòng)、高效地對(duì)數(shù)據(jù)進(jìn)行輸入、處理、存儲(chǔ)和輸出的系統(tǒng)計(jì)算機(jī)硬件存儲(chǔ)器輸入設(shè)備輸出設(shè)備控制器運(yùn)算器CPU存儲(chǔ)器保存正在運(yùn)行的程序代碼和數(shù)據(jù)內(nèi)存的最小單元是bit,一個(gè)bit存儲(chǔ)一個(gè)二進(jìn)制位。一般8個(gè)bit組成一個(gè)byte,若干個(gè)byte組成一個(gè)word在一般的機(jī)器中,內(nèi)存按字節(jié)編址,內(nèi)存大小也是按字節(jié)計(jì)量關(guān)機(jī)后,內(nèi)存的數(shù)據(jù)全部丟失廣義的存儲(chǔ)器包括主存和次級(jí)存儲(chǔ)器CPUCPU(CentralProcessingUnit)有兩個(gè)部件組成:ALU–Arithmetic-LogicUnit(運(yùn)算器)Controlunit(控制器)控制器控制器控制計(jì)算機(jī)的其余部分如何完成程序的指令指揮內(nèi)存和其它部件之間的信息的傳送(包括信息和指令)指揮CPU和輸入輸出設(shè)備之間的控制信息的傳送控制器中的信息存儲(chǔ)控制器中有兩個(gè)寄存器:指令寄存器(IR):保存當(dāng)前正在執(zhí)行的指令程序計(jì)數(shù)器

(PC):保存下一條要執(zhí)行的指令地址控制器的工作取下一條指令:按PC指定的地址到內(nèi)存中取出下一條指令,存入IR。解碼指令:將指令解碼成一系列的控制信號(hào)執(zhí)行指令:將控制信號(hào)發(fā)送給相關(guān)部件,執(zhí)行相應(yīng)的運(yùn)算運(yùn)算器的組成邏輯電路:執(zhí)行控制器發(fā)出的控制信號(hào)一組存放正在運(yùn)算的數(shù)據(jù)的寄存器輸入輸出設(shè)備輸入設(shè)備將人能理解的符號(hào)轉(zhuǎn)換成計(jì)算機(jī)能處理的符號(hào)。常用的輸入設(shè)備有:鍵盤、鼠標(biāo)、光筆等輸出設(shè)備將計(jì)算機(jī)的輸出轉(zhuǎn)換成人能理解的輸出。常用的輸出設(shè)備有:顯示器、打印機(jī)、音響設(shè)備等計(jì)算機(jī)的組成硬件:計(jì)算機(jī)的軀殼軟件:計(jì)算機(jī)的靈魂計(jì)算機(jī),也被稱之為“電腦”,是一種能夠按照事先存儲(chǔ)的程序自動(dòng)、高效地對(duì)數(shù)據(jù)進(jìn)行輸入、處理、存儲(chǔ)和輸出的系統(tǒng)計(jì)算機(jī)軟件軟件決定了計(jì)算機(jī)能做什么.沒有軟件,計(jì)算機(jī)只是一堆廢鐵.軟件可以分為系統(tǒng)軟件和應(yīng)用軟件。系統(tǒng)軟件居于計(jì)算機(jī)系統(tǒng)中最靠硬件的部分,它將計(jì)算機(jī)的用戶與硬件隔離。系統(tǒng)軟件與具體的應(yīng)用無關(guān),但其他的軟件要通過系統(tǒng)軟件才能發(fā)揮作用。常用的系統(tǒng)軟件有操作系統(tǒng)、編譯器、網(wǎng)絡(luò)軟件等。應(yīng)用軟件是為了支持某一應(yīng)用而開發(fā)的軟件。如字處理軟件、財(cái)務(wù)軟件等。計(jì)算機(jī)與程序計(jì)算機(jī)組成程序設(shè)計(jì)語(yǔ)言初識(shí)Python程序設(shè)計(jì)語(yǔ)言人與計(jì)算機(jī)進(jìn)行交流的一種語(yǔ)言為什么不用自然語(yǔ)言與計(jì)算機(jī)交互?精確的語(yǔ)法和語(yǔ)義無二義性有不同層次的程序設(shè)計(jì)語(yǔ)言LuChaojun,SJTU17不同層次的程序設(shè)計(jì)語(yǔ)言機(jī)器語(yǔ)言匯編語(yǔ)言高級(jí)語(yǔ)言機(jī)器語(yǔ)言是機(jī)器的母語(yǔ)。每種計(jì)算機(jī)都有自己的機(jī)器語(yǔ)言。與計(jì)算機(jī)硬件設(shè)計(jì)有關(guān)。每個(gè)語(yǔ)句用一組二進(jìn)制數(shù)表示用機(jī)器語(yǔ)言寫程序是非常困難的,讀機(jī)器語(yǔ)言寫的程序也是非常困難的機(jī)器語(yǔ)言提供的功能非常簡(jiǎn)單例如:0000010000000001.是Intel8086能理解的一條指令.匯編語(yǔ)言用縮寫和助記符代替機(jī)器語(yǔ)言的0和1的比特串和機(jī)器語(yǔ)言一樣,不同類的機(jī)器有不同的匯編語(yǔ)言匯編程序:將匯編語(yǔ)言寫的程序翻譯成機(jī)器語(yǔ)言的程序解決了機(jī)器語(yǔ)言的可讀性問題,但沒有解決功能簡(jiǎn)單的問題以及可移植型問題前頁(yè)例子:ADDAL,1.需要匯編器處理后機(jī)器才懂.高級(jí)語(yǔ)言類似于英語(yǔ)的語(yǔ)言,適合于人理解功能比機(jī)器語(yǔ)言強(qiáng),解決問題更加容易編譯器:將過程化語(yǔ)言寫的程序(源代碼)翻譯成機(jī)器語(yǔ)言的程序(目標(biāo)代碼)解釋器:逐句解釋源程序并執(zhí)行,不保存目標(biāo)代碼。

如:x=y+1.需要編譯器或解釋器翻譯后機(jī)器才懂.編譯執(zhí)行main(){inti,s;i=1;s=0;Ccompiler0110001011101001SourceprogramObjectprogram將程序全部翻譯成機(jī)器語(yǔ)言的程序,然后再執(zhí)行。解釋執(zhí)行源程序解釋系統(tǒng)(逐句解釋、執(zhí)行)原始數(shù)據(jù)結(jié)果高級(jí)語(yǔ)言的特點(diǎn)具備了一定的機(jī)器獨(dú)立性,使用戶可以專注于解決問題的方法。但某些方面還是受到機(jī)器的限制為了解決移植性問題,ANSI制訂了一系列的標(biāo)準(zhǔn)高級(jí)語(yǔ)言本課程采用Python語(yǔ)言高級(jí)程序設(shè)計(jì)語(yǔ)言有很多種,據(jù)說2008年網(wǎng)上被引用最多的10個(gè)語(yǔ)言是(按字母順序):C,C++,C#,Java,JavaScript,Perl,PHP,Python,Ruby,SQL25計(jì)算機(jī)與程序計(jì)算機(jī)組成程序設(shè)計(jì)語(yǔ)言初識(shí)PythonPythonPython采用編譯/解釋混合方式:先編譯成字節(jié)碼,再解釋執(zhí)行,字節(jié)碼通常和機(jī)器無關(guān),解釋時(shí)再譯成機(jī)器碼。(JVM)Python系統(tǒng)軟件

ftp://public.

賬號(hào):tzzhang

密碼:public安裝\啟動(dòng)Python

課程推薦安裝Python2.7,新的Python3.x有與2.x不兼容的地方.27初識(shí)Python>>>:提示符,提示你可以輸入命令語(yǔ)句:一條命令,如print“hello”串:“helloworld”數(shù):3、10表達(dá)式:3+5賦值:x=528函數(shù)函數(shù):將完成某一功能的語(yǔ)句組合起來函數(shù)定義函數(shù)調(diào)用:>>>defarea():…x=5…y=6…printx*y…>>>>>>area()30>>>帶參數(shù)的函數(shù)函數(shù)定義

函數(shù)的調(diào)用>>>defarea(x,y):…printx*y…>>>>>>area(3,4)12>>>area(2,4)8模塊如果一段程序需要反復(fù)執(zhí)行,可以把它以文件形式保存在外存儲(chǔ)器中。保存在外存儲(chǔ)器中的程序稱為一個(gè)模塊,也稱為腳本文件或源文件。PYTHON的源文件的后綴名為py程序模擬物理現(xiàn)象:chaos程序#File:chaos.py#Asimpleprogramillustratingchaoticbehavior.defmain():print"Thisprogramillustratesachaoticfunction"x=input("Enteranumberbetween0and1:")foriinrange(10):x=3.9*x*(1-x)printx

input('Enter0toquit')main()main函數(shù):標(biāo)志程序的開始,也可以省略注釋變量與賦值程序的執(zhí)行:一個(gè)個(gè)語(yǔ)句順序執(zhí)行,但也可以重復(fù)執(zhí)行某個(gè)語(yǔ)句for循環(huán)將一段語(yǔ)句重復(fù)執(zhí)行多次語(yǔ)法for<var>in<sequence>: <body><sequence>是一個(gè)值的序列,如[1,3,5,7,9]或range(10)(即[0,1,…,9]).<body>可以是任何語(yǔ)句序列,用左縮進(jìn)標(biāo)識(shí).34程序的控制流程序的諸語(yǔ)句通常是順序執(zhí)行的,但循環(huán)語(yǔ)句改變了控制流,表示一種控制結(jié)構(gòu).控制流可以用流程圖直觀表達(dá)35<body><var>取<seq>的下一個(gè)值無有模塊的執(zhí)行在IDLE中執(zhí)行程序打開文件:在file菜單下選open或直接用右鍵點(diǎn)擊文件,并選擇用IDLE打開執(zhí)行:在run菜單下選runmodule或直接按f5cmd界面中執(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)論