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