計算機和計算機程序.ppt
《計算機和計算機程序.ppt》由會員分享,可在線閱讀,更多相關(guān)《計算機和計算機程序.ppt(64頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1/48,第二章,計算機和計算機程序,2/48,本章主要內(nèi)容,計算機是實現(xiàn)算法的有效工具;計算機的基本組成;計算機中存儲信息的方法;計算機語言和計算機程序;程序運行環(huán)境;程序開發(fā)的步驟。,計算機和編程基礎(chǔ)知識,3/48,2.1計算機是實現(xiàn)算法的有效工具,算法是解題的方法和步驟的描述;對于算法(俠義)的實現(xiàn)可以有多種途徑;(如心算、計算器、計算尺、算盤等等計算工具來實現(xiàn)算法);由于電子計算機所具有的基本特征(高速度、大容量等),直到目前為止還是實現(xiàn)各種復(fù)雜算法的最有效工具。,4/48,2.1計算機是實現(xiàn)算法的有效工具,電子計算機的特點:使用脈沖數(shù)字電路,能進(jìn)行高速數(shù)據(jù)傳輸和數(shù)據(jù)計算(數(shù)據(jù)處理)任務(wù);(速度上)計算精度高;(如的精度達(dá)到200萬位)具有存儲信息的能力;由程序控制、全自動運行;(邏輯判斷)使用的是二進(jìn)制數(shù)據(jù)表示;可靠性高、通用性強。,5/48,2.1計算機是實現(xiàn)算法的有效工具,電子計算機的主要用途:科學(xué)計算;數(shù)據(jù)處理;自動控制;輔助設(shè)計與制造(CAICATCADCAM);人工智能(ArtificialIntelligengce)等等。,6/48,2.2計算機的基本組成,7/48,,用戶數(shù)據(jù)區(qū),程序存儲區(qū),輸出設(shè)備,輸入設(shè)備,外部存儲設(shè)備,控制器,運算器,,,,,,,,,,,,,,,,,,,,存儲器,,信息流,,控制流,8/48,2.2計算機的基本組成,運算器運算器或稱算術(shù)邏輯單元(ArithmeticalandLogicalUnit-ALU)的主要功能是對數(shù)據(jù)進(jìn)行各種運算。它由ALU、通用和專用寄存器組、內(nèi)部總線組成。(加法器?+-邏輯功能部件?邏輯運算)存儲器存儲器(MemoryUnit)的主要功能是存儲程序和各種數(shù)據(jù)信息,并能在計算機運行過程中高速、自動地完成程序或數(shù)據(jù)的存取。根據(jù)存儲器在系統(tǒng)中的作用,可分為:高速緩沖存儲器、內(nèi)存儲器、外存儲器。,9/48,2.2計算機的基本組成,控制器控制器(ControlUnit)是整個計算機系統(tǒng)的控制中心,它指揮計算機各部分協(xié)調(diào)工作,保證計算機按照預(yù)先規(guī)定的目標(biāo)和步驟有條不紊地進(jìn)行操作及處理。控制器由以下五個部件組成:1)程序計數(shù)器(存放下一條指令地址);2)指令寄存器(存放來自存儲器的待執(zhí)行的指令);3)指令譯碼器(指令譯碼,將指令的操作碼部分“翻譯”成相應(yīng)的操作);4)時序部件(產(chǎn)生計算機工作中所需的各種時序信號-節(jié)拍);5)微操作部件(控制器的主體:一條指令的執(zhí)行過程可更進(jìn)一步地看做是微操作的產(chǎn)生過程);,10/48,,11/48,2.2計算機的基本組成,輸入設(shè)備用來向計算機輸入各種原始數(shù)據(jù)和程序的設(shè)備叫輸入設(shè)備(InputDevice)。有文字輸入設(shè)備、圖形輸入設(shè)備、圖像輸入設(shè)備、語音輸入設(shè)備等等輸出設(shè)備從計算機輸出各類數(shù)據(jù)(信息)的設(shè)備叫做輸出設(shè)備(OutputDevice)。有的設(shè)備是:InputandOutput(I/O),12/48,2.2計算機的基本組成,馮諾依曼計算機的基本工作過程,概括地說就是:存儲指令?取指令?分析指令?執(zhí)行指令?再取下一條指令,依次周而復(fù)始地執(zhí)行指令序列的過程。,13/48,2.2計算機的基本組成,,14/48,2.3計算機中存儲信息的方法,存儲信息的單位:存儲容量:一個存儲器能容納的存儲單元總數(shù);一般使用:字(word)字節(jié)(Bytes)位(Bit)KBMBGB(吉)TB(太拉),15/48,2.3計算機中存儲信息的方法,數(shù)制的轉(zhuǎn)換:1)二進(jìn)制?十進(jìn)制(1101)2=123+122+021+120=(13)102)二進(jìn)制?十六進(jìn)制、八進(jìn)制(111101.111)2=(00111101.1110)2=(3D.E)16(111101.111)2=(111101.111)2=(75.7)8,小數(shù)部分是2的負(fù)次方之和,16/48,數(shù)的多項式表示對于一個k進(jìn)制的數(shù)轉(zhuǎn)換為十進(jìn)制數(shù):,,,k:基數(shù)m:數(shù)字(0~k-1的數(shù)字)n:整數(shù)和小數(shù)部分的位數(shù)值,,,,,,,17/48,2.3計算機中存儲信息的方法,3)十進(jìn)制?二進(jìn)制,(53)10=(110101)2,除2取余,18/48,2.3計算機中存儲信息的方法,,(0.375)10=(0.011)2,乘2取整,19/48,2.3計算機中存儲信息的方法,非數(shù)值領(lǐng)域:ASCII(AmericanStandardCodeforInformationInterchange)美國信息交換標(biāo)準(zhǔn)代碼。一個字節(jié)為8位二進(jìn)制,一個ASCII碼占一個字節(jié)的低7位,最高位為規(guī)定為0,這樣一個字節(jié)可表示2的7次方即128種狀態(tài),從00000000-01111111,每種狀態(tài)與一個ASCII碼字符唯一對應(yīng),即可表示128個字符,包括26個英文大寫字符、26個英文小寫字符、10個數(shù)字字符、33個標(biāo)點符號和33個控制符。EBCDIC—擴(kuò)充的二—十進(jìn)制交換碼(用于大型機),,20/48,2.4計算機語言和計算機程序,為了使人和計算機能進(jìn)行信息交互而使用的、人機都能理解的特定語言——計算機語言。(人機共同語言)計算機語言的種類:機器語言;符號語言;(Symol)算法語言;非過程化語言(面向?qū)ο蟮腛OP)。,21/48,2.4計算機語言和計算機程序,機器語言:每一類計算機都規(guī)定了由若干位二進(jìn)制信息組成的一條條指令。所有這些指令的集合就是該機器的指令系統(tǒng)。計算機能直接執(zhí)行這些二進(jìn)制指令?機器指令.全部機器指令的總和就稱之為該機器的機器語言。為求解某一實際問題而從指令系統(tǒng)中挑選一些指令組成一個序列?就是機器語言程序。,22/48,B007MovAL,07B303MovBL,0328D8SubAL,BLCD20Int20,23/48,2.4計算機語言和計算機程序,符號語言:由于機器語言指令的二進(jìn)制碼難以記憶,使用也很繁瑣,人們想到使用符號來代替原來的指令的辦法?符號語言。一般來說,一條符號語言指令對應(yīng)一條機器指令。因此,使用符號語言指令編寫程序就需要一個翻譯工具?匯編程序就是來完成這個任務(wù)的(也稱之為“匯編”或“代真”過程),最后得到的機器指令就是“目標(biāo)程序”;MOVAX,1000ADDAX,BXSUBAX,BX,24/48,2.4計算機語言和計算機程序,算法語言:對于機器語言和符號語言都是面向機器的,可移植性較差,屬于“低級語言”;算法語言的表示方式接近自然語言和數(shù)學(xué)語言,是面向“過程”的語言?高級語言;常用的算法語言:BASIC;FORTRAN;COBOL;PASCAL;C系列;ADA…(每種語言都有不同版本),面向過程的語言,,25/48,2.4計算機語言和計算機程序,非過程化語言:算法語言是過程化的語言,就是在解題中要詳盡規(guī)定解題過程的每一步驟,清楚地描述(由程序安排)“做什么”,“怎么做”。現(xiàn)在人們開發(fā)出了非過程化語言,就是只要確定“做什么”,計算機就能完成任務(wù)。如“打印出我校入學(xué)成績600分以上的學(xué)生姓名”LISTALLFOR入學(xué)成績>=600,26/48,2.4計算機語言和計算機程序,計算機程序語言:是指全部指令的集合,每一種語言都規(guī)定了各自的語法規(guī)則以及語用含義。程序:為解決某一特定問題而用某一種語言編寫的指令序列。它們之間的關(guān)系類似于:如:中文?語言一篇中文論文?程序,27/48,2.4計算機語言和計算機程序,用計算機語言編程要掌握三個基本概念:語法:掌握嚴(yán)格的語法規(guī)則編程,不然編譯系統(tǒng)會給出語法錯誤。語義:掌握語法成分的含義:Print是打印輸出;Write是輸出到指定的設(shè)備上;語用:要善于利用語法規(guī)則中有關(guān)規(guī)定和語言成分的含義組織程序以達(dá)到特定的目的。如怎樣得到所需的循環(huán)次數(shù),如何得到我要的打印格式—正確使用語言問題。,都是表示輸出,28/48,2.4計算機語言和計算機程序,N.WIRTH指出:“程序就是在數(shù)據(jù)的某些特定的表示方式和結(jié)構(gòu)的基礎(chǔ)上,對抽象算法的具體描述”:1)對求解一個問題,先應(yīng)有正確的算法;2)程序處理的對象是數(shù)據(jù),數(shù)據(jù)有自己的特性,而且它們還有內(nèi)在聯(lián)系等。要合理組織它們就要選擇合適的數(shù)據(jù)結(jié)構(gòu)。3)程序不僅要描述算法,還要描述數(shù)據(jù)結(jié)構(gòu),算法+數(shù)據(jù)結(jié)構(gòu)=程序,理解,29/48,2.4計算機語言和計算機程序,對程序的評價:根據(jù)N.WIRTH提出的“算法+數(shù)據(jù)結(jié)構(gòu)=程序”的公式來評價一個程序時,除了要求程序的正確性和有效性外,還要求程序具有簡明性、可靠性、可修改性、可重用性等特征。,30/48,2.4計算機語言和計算機程序,對于“結(jié)構(gòu)化程序設(shè)計”,除了“算法”和“數(shù)據(jù)結(jié)構(gòu)”外,我們還應(yīng)該遵循:,,,算法+數(shù)據(jù)結(jié)構(gòu)+結(jié)構(gòu)化方法+語言工具,結(jié)構(gòu)化程序,,結(jié)構(gòu)化程序設(shè)計的四大要素,31/48,2.5程序運行環(huán)境,要運行一個程序,除了硬件外,還需要有軟件環(huán)境的支持。對于語言程序除了有相應(yīng)的匯編、解釋、編譯程序外,還必須有操作系統(tǒng)這個最大的、最基本的軟件環(huán)境的支持。,32/48,2.5程序運行環(huán)境,軟件環(huán)境:操作系統(tǒng);編輯程序;翻譯程序;裝配連接程序……,,,硬件,操作系統(tǒng),應(yīng)用軟件層,33/48,2.5程序運行環(huán)境,操作系統(tǒng)操作系統(tǒng)是指對計算機系統(tǒng)的硬件資源(CPU、存儲器、I/O設(shè)備)和軟件資源(各種系統(tǒng)軟件和應(yīng)用軟件)進(jìn)行統(tǒng)一指揮、統(tǒng)一管理、統(tǒng)一分配、統(tǒng)一調(diào)度的軟件系統(tǒng),是計算機系統(tǒng)正常運行的控制中心,是現(xiàn)代計算機必備系統(tǒng)軟件。人們常常將沒有操作系統(tǒng)的計算機稱之為“裸機”。,34/48,2.5程序運行環(huán)境,操作系統(tǒng)分為:,單用戶系統(tǒng)(用戶獨占方式)批處理方式(多道作業(yè)),分時系統(tǒng)(多終端系統(tǒng))實時系統(tǒng)(強調(diào)響應(yīng)速度),目前流行的系統(tǒng):UNIX、WINDOWS、部分DOS,35/48,2.5程序運行環(huán)境,操作系統(tǒng)的功能,存儲管理,處理機管理,設(shè)備管理,文件管理,進(jìn)程管理,控制CPU每瞬時的工作,接受中斷信號,為用戶提供CPU處理。,有效地管理計算機的各種設(shè)備,使之有效地工作,合理地為用戶分配存儲空間,有效地管理內(nèi)存。,管理外存中的程序和數(shù)據(jù),在需要時及時調(diào)入內(nèi)存使用。,是指處理機執(zhí)行程序?qū)?shù)據(jù)進(jìn)行處理的全過程所進(jìn)行的管理。合理地調(diào)度用戶作業(yè),負(fù)責(zé)組織和控制作業(yè)的運行,決定什么時候可以使用處理機。,36/48,2.5程序運行環(huán)境,編輯程序是源程序的建立與修改(修改、插入、刪除等)的平臺。一般來說可以是一個文字編輯系統(tǒng)。如:EDLINEDIT寫字板WORD等翻譯程序是一個將符號語言或高級語言翻譯成機器語言的程序。有以下三種:匯編程序;解釋程序;編譯程序;,例如,37/48,2.5程序運行環(huán)境,匯編程序的功能:將符號語言程序翻譯成機器語言程序,它對符號語言源程序逐行掃描,將機器碼代替助記符(代真),并進(jìn)行語法檢查。編譯程序的功能:將高級語言程序(算法語言)轉(zhuǎn)換成機器語言程序,具有翻譯和查錯功能。詞法、語法、語義分析、生成目標(biāo)程序以及優(yōu)化目標(biāo)程序等功能。,例如,38/48,2.5程序運行環(huán)境,解釋程序:也是將高級語言程序轉(zhuǎn)換成機器語言程序,它是邊翻譯邊執(zhí)行,即輸入一句,翻譯一句,執(zhí)行一句,不產(chǎn)生整個目標(biāo)程序。遇見錯誤語句就立即停止執(zhí)行。(典型的使用解釋程序的語言是BASIC語言),39/48,2.5程序運行環(huán)境,裝配連接程序:經(jīng)過編譯得到的目標(biāo)程序(*.OBJ)是不能立即執(zhí)行的,因為在目標(biāo)程序中,一般包含著內(nèi)部函數(shù)、外部函數(shù)、子程序、過程庫中的程序等,需要進(jìn)一步的將它們連接起來--裝配連接程序,最后變成可執(zhí)行的程序(*.EXE).源程序—編譯—裝配連接—運行,40/48,,,,2.5程序運行環(huán)境,編輯(源程序的建立),編譯(源程序生成目標(biāo)程序),裝配連接(將目標(biāo)程序與子程序連接),運行,,算法語言程序設(shè)計步驟,41/48,2.6程序開發(fā)的步驟,軟件生命期和軟件工程的概念與計算機硬件的發(fā)展過程一樣,軟件也有它們的生命期限(伴隨著硬件).如微軟最近公布停止對XP進(jìn)行“主流支持”,而進(jìn)入所謂的“延長支持期”,5年內(nèi)淡出市場.這樣,我們的WinXP、Office2003等需要升級,不然可能造成危險。對于系統(tǒng)的升級:Win7或Vista,42/48,2.6程序開發(fā)的步驟,軟件生命期和軟件工程的概念開發(fā)一個應(yīng)用系統(tǒng)所經(jīng)過的階段:建立數(shù)學(xué)模型;確定算法,畫出流程圖;編寫程序;程序測試。對于一個復(fù)雜的問題,直接寫出算法是困難的,這就要運用“軟件工程”的方法來開發(fā),也就是運用工程學(xué)的知識和方法指導(dǎo)和規(guī)范軟件開發(fā)全過程。,,43/48,2.6程序開發(fā)的步驟,軟件生命期和軟件工程的概念-軟件生命期(3階段):定義階段:軟件開發(fā)計劃:確定總目標(biāo),選定可行的方案需求分析:詳細(xì)分析用戶需求,最后形成功能說明書開發(fā)階段:總體設(shè)計:確定軟件系統(tǒng)結(jié)構(gòu),即大系統(tǒng)下的子系統(tǒng)詳細(xì)設(shè)計:使用流程圖對各個子系統(tǒng)完成設(shè)計算法編程:用語言程序來實現(xiàn)算法軟件測試:重復(fù)運行以糾正錯誤:常規(guī)測試、極限測試維護(hù)階段交付使用:交付程序和文檔資料,說明運行環(huán)境等軟件維護(hù):在使用中不斷修改錯誤直至軟件消亡.,,44/48,2.6程序開發(fā)的步驟,軟件生命期和軟件工程的概念--各階段的工作量之比:定義(1),設(shè)計和編碼(10),測試(50),維護(hù)(50~1000)設(shè)計人員工作范疇:系統(tǒng)分析員:系統(tǒng)的分析與定義高級程序員:總體設(shè)計以及測試程序員:詳細(xì)設(shè)計和編程、維護(hù)。,45/48,2.6程序開發(fā)的步驟,結(jié)構(gòu)程序設(shè)計方法:一個結(jié)構(gòu)化程序就是用高級語言表示的結(jié)構(gòu)化算法。只要是使用三種結(jié)構(gòu)(順序、選擇、循環(huán))組成的程序一定是結(jié)構(gòu)化(就是層次分明、結(jié)構(gòu)清晰、算法準(zhǔn)確)的程序。結(jié)構(gòu)化程序設(shè)計方法的基本思想:將復(fù)雜問題的求解分階段、分模塊地進(jìn)行:1)自頂向下(從下到上);2)逐步細(xì)化;3)模塊化設(shè)計;4)結(jié)構(gòu)化編碼。,46/48,學(xué)院財務(wù)管理系統(tǒng),,一系財務(wù),二系財務(wù),三系財務(wù),院部財務(wù),教工工資,科研經(jīng)費,實驗經(jīng)費,辦公經(jīng)費,,,,,,,,,,,,,,……,,47/48,一個簡單的結(jié)構(gòu)化程序設(shè)計舉例,將1~1000之間的素數(shù)打印出來,用篩選法求素數(shù)表,輸入1~1000的各個數(shù),把所有的非素數(shù)去掉,打印全部素數(shù),,,,,,輸入1~1000的各個數(shù)----A,把所有的非素數(shù)去掉----B,打印全部素數(shù)----C,古希臘數(shù)學(xué)家Eratosthenes提出的這個篩選法,,48/48,A,輸入N,1?I,當(dāng)I<=N,I?Xi,I+1?I,輸入數(shù)據(jù)個數(shù)(數(shù)據(jù)由程序產(chǎn)生),當(dāng)N=10時,則有:X1=1X2=2X3=3…..X10=10,49/48,B,0?X1,2?I,當(dāng)I<=,,I+1?I,,是,否,Xi=0?,,,I+1?J,J+1?J,當(dāng)J<=N,,,是,否,Xj=0?,,,0?Xj,否,是,Xj能被Xi整除,,,外循環(huán):確定Xi內(nèi)循環(huán):確定該數(shù)是否是素數(shù)。,將X1=1去掉,1234567891000000,0230507090000000,50/48,1?I,當(dāng)I<=N,,I+1?I,C,PRINTXi,,是,否,Xi=0?,當(dāng)該數(shù)為0時表示該數(shù)已經(jīng)去掉,完,51/48,本章小結(jié),計算機的基本組成及工作原理;計算機中數(shù)的表示、編碼方法等;計算機的基本特點及應(yīng)用分類;計算機中存儲信息的方法與容量表示;計算機語言和計算機程序;計算機程序運行環(huán)境;算法語言程序的建立?運行的步驟;應(yīng)用系統(tǒng)開發(fā)的步驟。,52/48,END,練習(xí)解釋,53/48,面向過程的語言:,定義:不考慮機器內(nèi)部構(gòu)造和不同機器的特點,只要按照解題的算法寫出解題過程就能執(zhí)行的語言程序。早期的算法語言基本都是面向過程的語言,現(xiàn)在人們已經(jīng)使用了更新的算法語言?面向?qū)ο蟮某绦蛟O(shè)計語言(OOP)。,返回,54/48,Eratosthenes篩選法,1)輸入1—1000的數(shù)據(jù);2)先去掉1;3)用剛才去掉的數(shù)的后一個數(shù),去掉后面的各數(shù)中是該數(shù)的倍數(shù);4)判斷這個數(shù)P是否大于N的開方數(shù);5)剩下的數(shù)就都是素數(shù)。,返回,55/48,,第二章的練習(xí)12題3小題,給定10個數(shù),打印出其中最大的一個數(shù),輸入10個數(shù),找出其中最大的數(shù),打印最大的數(shù),,采用自頂向下,逐步細(xì)化的結(jié)構(gòu)化算法,56/48,,第二章的練習(xí)12題3小題,給定10個數(shù),打印出其中最大的一個數(shù),讀入一個數(shù)給MAX,分別對9個數(shù)比較,打印最大的數(shù)MAX,,,讀入一個數(shù)給A,將A與MAX比較,大者保存MAX中,,,,,,57/48,,第二章的練習(xí)12題3小題,給定10個數(shù),打印出其中最大的一個數(shù),N=1,當(dāng)NMAX,T,F,,,,,,58/48,,第二章的練習(xí)12題7小題,給定一個偶數(shù)M(M≥6),將它表示為兩個素數(shù)之和(如:8=3+516=5+1122=5+17…),輸入M,A=3,直到A≥M,若A、B均為素數(shù),打印則A、B否則A+2?A,B=M-A,,,,,,,采用自頂向下,逐步細(xì)化的結(jié)構(gòu)化算法,59/48,第二章的練習(xí)12題7小題,,,,,FLAG=0,FLAG=1,A=A+2,FLAG=0,A是素數(shù),T,T,F,F,B是素數(shù),T,F,打印:M=A+B,A=A+2,,給定一個偶數(shù)M(M≥6),將它表示為兩個素數(shù)之和(如:8=3+516=5+1122=5+17…),60/48,第二章的練習(xí)12題7小題,I=2,F1=0,當(dāng)I≤和F1=0,,MOD(A,I)≠0,T,F,I=I+1,F1=-1,給定一個偶數(shù)M(M≥6),將它表示為兩個素數(shù)之和(如:8=3+516=5+1122=5+17…),61/48,給定一個偶數(shù)M(M≥6),將它表示為兩個素數(shù)之和如:8=3+516=5+1122=5+17…,,,以8和18為例說明,,,,,,,,,M,62/48,本章完,63/48,back,64/48,在Word中建立Fortran源程序,直接按Fortran源程序輸入;以TXT純文本格式保存;重命名文件后綴(*.For或*.F90)在編譯環(huán)境中打開該文件.,back,- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 計算機 程序
鏈接地址:http://www.3dchina-expo.com/p-3590560.html