計算機科學導論第三版答案.doc
《計算機科學導論第三版答案.doc》由會員分享,可在線閱讀,更多相關《計算機科學導論第三版答案.doc(45頁珍藏版)》請在裝配圖網上搜索。
第1章 概 述 習題(答案) 一.選擇題 1. D 2. B 3. CD 4. C 5.A 6. ABC 7. A 8. C 9.B 10. B 11. C 12. A 13. ABC 14.B 15. ABCD 16.C 17.ABCDE 二.簡答題 1.簡述計算機的發(fā)展階段 計算機的出現是20世紀最輝煌的成就之一,按照采用的電子器件劃分,計算機大致經歷了四個階段。 1. 第一代計算機(1946—1957) 其主要特征是邏輯器件使用了電子管,用穿孔卡片機作為數據和指令的輸入設備,用磁鼓或磁帶作為外存儲器,使用機器語言編程。第一臺計算機需要工作在有空調的房間里,如果希望它處理什么事情,需要把線路重新連接接,把成千上萬的線重新焊接。 1949年發(fā)明了可以存儲程序的計算機,這些計算機使用機器語言編程,可存儲信息和自動處理信息,存儲和處理信息的方法開始發(fā)生革命性的變化。 第一代計算機體積大、運算速度低、存儲容量小、可靠性低。幾乎沒有什么軟件配置,主要用于科學計算。盡管如此,第一代計算機卻奠定了計算機的技術基礎,如二進制、自動計算及程序設計等,對以后計算機的發(fā)展產生了深遠的影響。其代表機型有:ENIAC、IBM650(小型機)、IBM709(大型機)等。 2. 第二代計算機(1958—1964) 其主要特征是使用晶體管代替了電子管,內存儲器采用了磁芯體,引入了變址寄存器和浮點運算部件,利用I/O處理機提高了輸入輸出能力。這不僅使得計算機的體積縮小了很多,同時增加了機器的穩(wěn)定性并提高了運算速度,而且計算機的功耗減小,價格降低。在軟件方面配置了子程序庫和批處理管理程序,并且推出了Fortran、COBOL、ALGOL等高級程序設計語言及相應的編譯程序,降低了程序設計的復雜性。除應用于科學計算外,它還開始應用在數據處理和工業(yè)控制等方面。其代表機型有IBM7090、IBM7094、CDC7600等。 3. 第三代計算機(1965—1972) 其主要特征是用半導體中、小規(guī)模集成電路(Integrated Circuit,IC)作為元器件代替晶體管等分立元件,用半導體存儲器代替磁芯存儲器,使用微程序設計技術簡化處理機的結構,這使得計算機的體積和耗電量顯著減小,而計算速度和存儲容量卻有較大提高,可靠性也大大加強。在軟件方面則廣泛地引入多道程序、并行處理、虛擬存儲系統(tǒng)和功能完備的操作系統(tǒng),同時還提供了大量的面向用戶的應用程序。計算機開始定向標準化、模塊化、系列化,此外,計算機的應用進入到許多科學技術領域。代表機器有IBM 360系列、富士通F230系列等。 4. 第四代計算機(1972年至今) 其主要特征是使用了大規(guī)模和超大規(guī)模集成電路,使計算機沿著兩個方向飛速向前發(fā)展。一方面,利用大規(guī)模集成電路制造多種邏輯芯片,組裝出大型、巨型計算機,使運算速度向每秒十萬億次、百萬億次及更高速度發(fā)展,存儲容量向百兆、千兆字節(jié)發(fā)展,巨型機的出現,推動了許多新興學科的發(fā)展。另一方面,利用大規(guī)模集成電路技術,將運算器、控制器等部件集成在一個很小的集成電路芯片上,從而出現了微處理器。微型計算機、筆記本型和掌上型等超微型計算機的誕生是超大規(guī)模集成電路應用的直接結果,并使計算機很快進入到尋常百姓家。完善的系統(tǒng)軟件、豐富的系統(tǒng)開發(fā)工具和商品化的應用程序的大量涌現,以及通信技術和計算機網絡的飛速發(fā)展,使得計算機進入了一個快速發(fā)展的階段。 現在很多國家正在研制新一代的計算機,新一代計算機將是微電子技術、光學技術、超導技術、電子仿生技術等多學科相結合的產物。它能進行知識處理、自動編程、測試和排錯,以及用自然語言、圖形、聲音和各種文字進行輸入和輸出。新一代計算機的研究目標是打破計算機現有的體系結構,使得計算機能夠具有像人那樣的思維、推理和判斷能力。已經實現的非傳統(tǒng)計算技術有超導計算、量子計算、生物計算、光計算等。未來的計算機可能是超導計算機、量子計算機、生物計算機、光計算機、納米計算機或DNA計算機等。 2. 簡述中國計算機的發(fā)展歷程。 1. 華羅庚和我國第一個計算機科研小組 華羅庚教授是我國計算技術的奠基人和最主要的開拓者之一。當馮·諾依曼開創(chuàng)性地提出并著手設計EDVAC時,正在美國 Princeton大學工作的華羅庚教授參觀過他的實驗室,并經常與他討論有關學術問題。1952年,全國大學院系進行調整,他從清華大學電機系物色了閔乃大、夏培肅和王傳英三位科研人員,在他擔任所長的中國科學院數學所內建立了中國第一個電子計算機科研小組。1956年,在籌建中科院計算技術研究所時,華羅庚教授擔任籌備委員會主任。 2. 第一代電子管計算機研制(1958—1964) 我國從1957年開始研制通用數字電子計算機,1958年8月1日該機研制成功,可以表演短程序運行,標志著我國第一臺電子計算機誕生。為紀念這個日子,該機定名為八一型數字電子計算機。該機在738廠開始小量生產,改名為103型計算機(即DJS-1型),共生產38臺。 1958年5月我國開始了第一臺大型通用電子計算機(104機)研制(如圖1.2所示),以前蘇聯當時正在研制的БЭСМ-II計算機為藍本,在前蘇聯專家的指導幫助下,中科院計算所、四機部、七機部和部隊的科研人員與738廠密切配合,于1959年國慶節(jié)前完成了研制任務。 在研制104機同時,夏培肅院士領導的科研小組首次自行設計于1960年4月研制成功一臺小型通用電子計算機,即107機 1964年我國第一臺自行設計的大型通用數字電子管計算機119機研制成功(如圖1.4所示),平均浮點運算速度達到5萬次/每秒。 (3) 第二代晶體管計算機研制(1965—1972) 1965年研制成功的我國第一臺大型晶體管計算機(109乙機,共用2萬多支晶體管,3萬多支二極管)。對109乙機加以改進,兩年后又推出109丙機,為用戶運行了15年,有效算題時間10萬小時以上,在我國兩彈試驗中發(fā)揮了重要作用,被用戶譽為“功勛機”。 同時華北計算所先后研制成功108機、108乙機(DJS-6)、121機(DJS-21)和 320機(DJS-6),并在738廠等五家工廠生產。哈軍工(國防科大前身)于1965年2月成功推出了441B晶體管計算機并小批量生產了40多臺。 (4) 第三代基于中小規(guī)模集成電路的計算機研制(1973—20世紀80年代初) 我國于1970年初期陸續(xù)推出大、中、小型采用集成電路的計算機。1973年,北京大學與北京有線電廠等單位合作研制成功運算速度每秒100萬次的大型通用計算機。進入80年代,我國高速計算機,特別是向量計算機有了新的發(fā)展。1983年中國科學院計算所完成我國第一臺大型向量機(757機,如圖1.6所示)計算速度達到1000萬次/每秒。 同年,國防科技大學研制的銀河-Ⅰ億次巨型計算機(如圖1.7所示)是我國高速計算機研制的一個重要里程碑,它標志著我國文革動亂時期與國外拉大的距離又縮小到7年左右(銀河-Ⅰ的參考機克雷-Ⅰ于1976年推出)。 (5) 第四代基于超大規(guī)模集成電路的計算機研制(20世紀80年代中期至今) 和國外一樣,我國第四代計算機研制也是從微機開始的。1980年初我國很多單位也開始采用Z80、X86和M6800芯片研制微機。1983年12月電子部六所研制成功與IBM PC機兼容的DJS-0520微機。 1992年國防科技大學研究成功銀河-Ⅱ通用并行巨型機,峰值速度達4億次/每秒浮點運算(相當于每秒10億次基本運算操作),總體上達到80年代中后期國際先進水平。 從上世紀90年代初開始,國際上采用主流的微處理機芯片研制高性能并行計算機已成為一種發(fā)展趨勢。1993年,國家智能計算機研究開發(fā)中心成功研制曙光一號全對稱共享存儲多處理機;1995年,該中心又推出了中國第一臺具有大規(guī)模并行處理機(MPP)結構的并行機曙光1000(含36個處理機),峰值速度25億次/每秒浮點運算,實際運算速度上了10億次/每秒浮點運算這一高性能臺階。 1997年國防科技大學成功研制銀河-Ⅲ百億次并行巨型計算機系統(tǒng),采用可擴展分布共享存儲并行處理體系結構,由130多個處理結點組成,峰值性能為130億次/每秒浮點運算,系統(tǒng)綜合技術指標達到90年代中期國際先進水平。 國家智能計算機研究開發(fā)中心與曙光公司于1997至1999年先后在市場上推出具有機群結構的曙光1000A,曙光2000-Ⅰ,曙光2000-Ⅱ超級服務器,峰值計算速度已突破1000億次/每秒浮點運算,機器規(guī)模已超160個處理機。2000年推出浮點運算速度3000億次/每秒的曙光3000超級服務器。 2004年上半年推出每秒浮點運算速度1萬億次/每秒的曙光4000超級服務器。 3.什么是計算機系統(tǒng)? 計算機系統(tǒng)是一種能夠按照事先存儲的程序,自動、高速地對數據進行輸入、處理、輸出和存儲的系統(tǒng),由計算機硬件系統(tǒng)和計算機軟件系統(tǒng)兩大部分組成。 4. 簡述計算機硬件系統(tǒng)的五大部分。 ① 運算器 運算器又稱算術邏輯單元(Arithmetic Logic Unit,ALU),是計算機對數據進行加工處理的部件,它的主要功能是對二進制數進行加、減、乘、除等算術運算和與、或、非等基本邏輯運算,實現邏輯判斷。運算器是在控制器的控制之下實現其功能的,運算結果由控制器發(fā)出的指令送到內存儲器中。 ② 控制器 控制器主要由指令寄存器、譯碼器、程序計數器和操作控制器等組成,控制器是用來控制計算機各部件協(xié)調工作,并使整個處理過程有條不紊地進行。它的基本功能就是從內存中取出指令和執(zhí)行指令,即控制器按程序計數器指出的指令地址從內存中取出該指令進行譯碼,然后根據該指令功能向有關部件發(fā)出控制命令,執(zhí)行該指令。另外,控制器在工作過程中,還要接受各部件反饋回來的信息。 通常把運算器、控制器集成在一個大規(guī)模集成電路板上稱為中央處理器,又稱CPU(Central Processing Unit)。 ③ 存儲器 存儲器是計算機的記憶裝置,用于存放原始數據、中間數據、最終結果和處理程序。為了對存儲的信息進行管理,把存儲器劃分成存儲單元,每個單元的編號稱為該單元的地址。各種存儲器基本上都是以1個字節(jié)作為一個存儲單元。存儲器內的信息是按地址存取的,如要訪問存儲器中的某個信息,就必須知道它的地址。向存儲器里存入信息也稱為“寫入”,寫入新的內容將覆蓋原來的內容。從存儲器里取出信息也稱為“讀出”,信息讀出后并不破壞原來存儲的內容,因此信息可以重復讀出,多次利用。 通常把內存儲器、運算器和控制器合稱為計算機主機,也可以說主機是由CPU與內存儲器組成的,而主機以外的裝置稱為外部設備,外部設備包括輸入/輸出設備、外存儲器等。 ④輸入和輸出設備 輸入和出設備簡稱I/O(Input/Output)設備。用戶通過輸入設備將程序和數據輸入計算機,輸出設備將計算機處理的結果(如數字、字母、符號和圖形)顯示或打印出來。常用的輸入設備有:鍵盤、鼠標器、掃描儀、數字化儀等;常用的輸出設備有:顯示器、打印機、繪圖儀等。 5.請解釋馮?諾依曼所提出的“存儲程序”概念。 把程序和數據都以二進制的形式統(tǒng)一存放在存儲器中,由機器自動執(zhí)行。不同的程序解決不同的問題,實現了計算機通用計算的功能。 6.控制器的主要功能是什么? 控制器基本功能就是從內存中取指令和執(zhí)行指令,即控制器按程序計數器指出的指令地址從內存中取出該指令進行譯碼,然后根據該指令功能向有關部件發(fā)出控制命令,執(zhí)行該指令。另外,控制器在工作過程中,還要接受各部件反饋回來的信息。 7.簡述CPU和主機的概念。 通常把運算器、控制器做在一個大規(guī)模集成電路塊上稱為中央處理器,又稱CPU(Central Processing Unit)。 通常把內存儲器、運算器和控制器合稱為計算機主機,也可以說主機是由CPU與內存儲器組成的,而主機以外的裝置稱為外部設備,外部設備包括輸入/輸出設備,外存儲器等。 8.什么是計算機軟件?計算機軟件的分類有哪些? 軟件是指用來指揮計算機運行的各種程序的總和以及開發(fā)、使用和維護這些程序所需的技術文檔。 計算機軟件系統(tǒng)分為系統(tǒng)軟件和應用軟件。計算機系統(tǒng)軟件由操作系統(tǒng)、語言處理系統(tǒng)、以及各種軟件工具等各種軟件程序組成,指揮、控制計算機硬件系統(tǒng)按照預定的程序運行、工作,從而達到預定的目標。應用軟件是用戶利用計算機軟、硬件資源為解決各類應用問題而編寫的軟件,包括用戶程序及其說明性文件資料。 9.計算機有哪些主要的特點? (1)運算速度快、精度高 計算機的字長越長,其精度越高,現在世界上最快的計算機每秒可以運算幾十萬億次以上。一般計算機可以有十幾位甚至幾十位(二進制)有效數字,計算精度可由千分之幾到百萬分之幾,是任何計算工具所望塵莫及的。 (2)具有邏輯判斷和記憶能力 計算機有準確的邏輯判斷能力和高超的記憶能力。能夠進行各種邏輯判斷,并根據判斷的結果自動決定下一步應該執(zhí)行的指令。 (3)高度的自動化和靈活性 計算機采取存儲程序方式工作,即把編好的程序輸入計算機,機器便可依次逐條執(zhí)行,這就使計算機實現了高度的自動化和靈活性。 10. 簡述計算機系統(tǒng)的主要技術指標。 評價計算機的性能指標有很多,通常人們從計算機的字長、時鐘周期和主頻、運算速度、內存容量、數據輸入輸出最高速率等技術指標來評價計算機系統(tǒng)。 1.字長 在計算機中,用若干二進制位表示一個數或一條指令,前者稱為數據字,后者稱為指令字。字長的直接影響計算機的功能強弱、精度高低和速度快慢。計算機處理數據時,一次可以運算的數據長度稱為一個“字”(Word),字的長度稱為字長。一個字可以是一個字節(jié)(Byte,簡稱B),也可以是多個字節(jié)。常用的字長有8位(bit)、16位、32位、64位等。如某一類計算機的字由4個字節(jié)組成,則字的長度為32位,相應的計算機稱為32位機。 2.時鐘周期和主頻 計算機的中央處理器對每條指令的執(zhí)行是通過若干個微指令操作來完成的,這些微指令操作是按時鐘周期的節(jié)拍來“動作”的,時鐘周期的微秒數反映出計算機的運算速度。有時也用時鐘周期的倒數——時鐘頻率(兆頻),即人們常說的主頻來表示。一般說來,主頻越高(時鐘周期越短),計算機的運算速度越快。但是,主頻并不能全面準確地反映計算機的運算速度,而每秒鐘執(zhí)行百萬條指令數(MIPS)指標則能較全面準確地反映計算機的運算速度。近十年來,微計算機的主頻提高很快,例如,IBM PC/XT微機的CPU主頻為4.77MHz,而Pentium 4 CPU的主頻己超過1GMHz,并且在不斷提高。 3.運算速度 計算機的運算速度是衡量計算機水平的一項主要指標,它取決于指令執(zhí)行時間。運算速度的計算方法多種多樣,目前常用單位時間內執(zhí)行多少條指令來表示,而計算機執(zhí)行各種指令所需時間不同。因此,常根據在一些典型題目計算中,各種指令執(zhí)行的頻度以及每種指令的執(zhí)行時間來折算出計算機的等效速度。 4.內存容量 存儲器的容量反映計算機記憶信息的能力,它常以字節(jié)為單位表示。存儲器的容量越大,則存儲的信息越多,計算機的功能越強。 計算機中的操作大多是與內存交換信息,但內存的存取速度相對CPU的算術和邏輯運算的速度要低1~2個數量級。因此,內存的讀寫速度也是影響計算機運行速度的主要因素之一。 為了度量信息存儲容量,將8位二進制位(8bits)稱為1個字節(jié),字節(jié)是計算機中數據處理和存儲容量的基本單位。1024個字節(jié)稱為1K字節(jié)(1KB),1024K個字節(jié)稱1兆字節(jié)(1MB),1024M個字節(jié)稱為1G字節(jié)(1GB),1024G個字節(jié)稱為1T字節(jié)(1TB),現在微型計算機主存容量大多數在兆字節(jié)以上。 5.數據輸入輸出最高速率 主機與外部設備之間交換數據的速率也是影響計算機系統(tǒng)工作速度的重要因素。由于各種外部設備本身工作的速度不同,常用主機所能支持的數據輸入輸出最大速率來表示。 11.計算機的分類有哪些? 根據計算機工作原理和運算方式的不同,以及計算機中信息表示形式和處理方式的不同,計算機可分為數字式電子計算機(Digital Computer)、模擬式電子計算機(Analog Computer)和數字模擬混合計算機(Hybrid Computer)。當今廣泛應用的是數字計算機,因此,常把數字式電子計算機(Electronic Digital Computer)簡稱為電子計算機或計算機。 按計算機的用途可分為通用計算機(General Purpose Computer)和專用計算機(Special Purpose Computer )兩大類。通用計算機能解決多種類型問題,是具有較強通用性的計算機,一般的數字式電子計算機多屬此類;專用計算機是為解決某些特定問題而專門設計的計算機,如嵌入式系統(tǒng)。 根據計算機的總體規(guī)模對計算機分類,可分為巨型機(Super Computer)、大/中型計算機(Mainframe)、小型計算機(Mini computer)、微型計算機(Micro computer)和網絡計算機(Network Computer)五大類。 常見的微型機還可以分為臺式機、便攜機、筆記本電腦、掌上型電腦等多種類型。 12.簡述計算機的基本運行方式。 計算機的基本運作方式可概括為所謂的“IPOS循環(huán)”。IPOS循環(huán)即輸入(Input)、處理(Processing)、輸出(Output)和存儲(Storage),它反映了計算機進行數據處理的基本步驟。 (1)輸入 接受由輸入設備(如鍵盤、鼠標器、掃描儀等)提供的數據。 (2)處理 對數值、邏輯、字符等各種類型的數據進行操作,按指定的方式進行轉換。 (3)輸出 將處理所產生的結果等數據由輸出設備(如顯示器、打印機、繪圖儀等)進行輸出。 (4)存儲 計算機可以存儲程序和數據供以后使用。 13.計算機有哪些主要的用途? (1)科學計算 使用計算機來完成科學研究和工程技術中所遇到的數學問題的計算稱為科學計算,也稱為數值計算??茖W計算是使用計算機完成在科學研究和工程技術領域中所提出的大量復雜的數值計算問題,是計算機的傳統(tǒng)應用之一。 (2)信息處理 所謂信息處理就是使用計算機對數據進行輸入、分類、加工、整理、合并、統(tǒng)計、制表、檢索以及存儲等,又稱為數據處理。例如座席預訂與售票系統(tǒng)、零售業(yè)中的應用、辦公自動化等。信息處理已成為當代計算機的主要任務,是現代化管理的基礎。 (3)實時控制(也稱過程控制) 實時控制也稱過程控制,實時控制能及時地采集檢測數據、使用計算機快速地進行處理并自動地控制被控對象的動作,實現生產過程的自動化。 (4)計算機輔助設計/輔助制造/輔助教學 計算機輔助設計(Computer Aided Design——CAD)是使用計算機來輔助人們完成產品或工程的設計任務的一種方法和技術。計算機輔助制造(Computer Aided Manufacturing——CAM)是使用計算機輔助人們完成工業(yè)產品的制造任務,能通過直接或間接地與工廠生產資源接口的計算機來完成制造系統(tǒng)的計劃、操作工序控制和管理工作的計算機應用系統(tǒng)。計算機輔助教學(Computer Aided Instruction——CAI)是把計算機用作教學媒體,使它充當指導者、工具和學習者角色,學生通過與計算機的對話進行學習的一種新型教學技術。 (5)人工智能 人工智能(Artificial?Intelligence——AI)就是指計算機模擬人類某些智力行為的理論、技術和應用。 (6)多媒體技術 隨著電子技術特別是通信和計算機技術的發(fā)展,人們已經有能力把文本、音頻、視頻、動畫、圖形和圖像等各種媒體綜合起來,構成“多媒體”(Multimedia)的概念。 14.簡述計算機的發(fā)展趨勢。 (1)微型化 一方面,隨著計算機的應用日益廣泛,在一些特定場合,需要很小的計算機,計算機的重量、體積都變得越來越小,但功能并不減少。另一方面,隨著計算機在世界上日益普及,個人電腦正逐步由辦公設備變?yōu)殡娮酉M品。人們要求電腦除了要保留原有的性能之外,還要有時尚的外觀、輕便小巧、便于操作等特點,如平板電腦、手持電腦等。今后個人計算機(Personal Computer)在計算機中所占的比重將會越來越大,使用也將會越來越方便。 (2)巨型化 社會在不斷發(fā)展,人類對自然世界的認識活動也越來越多,很多情況要求計算機對數據進行運算?!熬扌突痹谶@里并不是通常意義上的大小,主要是指機器的性能——運算速度等。 (3)網絡化 因特網(Internet)的建立正在改變我們的世界,改變我們的生活。網絡具有虛擬和真實兩種特性,網上聊天和網絡游戲等具有虛擬特性,而網絡通信、電子商務、網絡資源共享則具有真實的特性。 (4)智能化 今后,計算機在生活中扮演的角色將會更加重要,計算機應用將具有更多的智能特性,能夠幫助用戶解決—些自己不熟悉或不愿意做的事,如智能家電、烹調等。 (5)新型計算機 目前新一代計算機正處在設想和研制階段。新一代計算機是把信息采集、存儲處理、通信和人工智能結合在一起的計算機系統(tǒng)。 15.簡述計算學科的定義、計算學科的本質、計算學科的三個過程。 計算學科是對描述和變換信息的算法過程,包括對理論分析、設計、效率、實現和應用等進行的系統(tǒng)研究。計算學科的研究包括了從算法與可計算性的研究到根據可計算硬件和軟件的實際實現問題的研究。 計算學科的根本問題是“什么能被有效地自動進行?”。計算學科的根本問題討論的是能行性的有關內容,而凡是與能行性有關的討論都是處理離散對象的。 計算學科的實質是學科方法論的思想,其關鍵問題是抽象、理論和設計三個過程相互作用的問題。 (1)理論 理論是數學科學的根本。應用數學家們都認為,科學的進展都是基于純數學的。應用數學用數學的方法推動經驗科學和工程學的發(fā)展,同時又不斷刺激對新數學的需要,為純理論數學提出新的問題。 (2)抽象 抽象(模型化)是自然科學的根本??茖W家們相信,科學進展的過程基本上都是形成假設,然后用模型化過程去求證。 (3)設計 設計是工程的根本。工程師們認為,工程進展基本上都是提出問題,然后通過設計去構造系統(tǒng),以解決問題。 16.簡述計算機科學與技術學科的定義。 計算機科學技術是研究計算機的設計與制造和利用計算機進行信息獲取、表示、存儲、處理、控制等的理論、原則、方法和技術的學科,包括科學與技術兩方面??茖W側重于研究現象、揭示規(guī)律;技術則側重于研制計算機和研究使用計算機進行信息處理的方法與技術手段??茖W是技術的依據,技術是科學的體現;技術得益于科學,它又向科學提出新的課題。 17.簡述計算機科學與技術學科的根本問題及研究范疇。 計算機科學與技術學科的根本問題是什么能被有效地自動化。問題的符號表示及其處理過程的機械化、嚴格化的固有特性,決定了數學是計算機科學與技術學科的重要基礎之一,數學及其形式化描述、嚴密的表達和計算是計算機科學與技術學科所用的重要工具,建立物理符號系統(tǒng)并對其實施變換是計算機科學與技術學科進行問題描述和求解的重要手段。 計算機科學與技術的研究范疇包括計算機理論、硬件、軟件、網絡及應用等,按照研究的內容,也可以劃分為基礎理論、專業(yè)基礎和應用三個層面。 計算機理論的研究包括離散數學、算法分析理論、形式語言與自動機理論、程序設計語言理論、程序設計方法學;計算機硬件的研究包括元器件與存儲介質、微電子技術、計算機組成原理、微型計算機技術、計算機體系結構;計算機軟件的研究包括程序設計語言的設計、數據結構與算法、程序設計語言翻譯系統(tǒng)、操作系統(tǒng)、數據庫系統(tǒng)、算法設計與分析、軟件工程學、可視化技術;計算機網絡的研究包括網絡結構、數據通信與網絡協(xié)議、網絡服務、網絡安全;計算機應用的研究及人-機工程包括計算機應用的研究、軟件開發(fā)工具、完善既有的應用系統(tǒng)、開拓新的應用領域、人-機工程、研究人與計算機的交互和協(xié)同技術。 18.簡述計算機科學課程體系的核心內容。 計算學科課程體系的教學內容歸結為14個知識體,包括: (1)離散結構(PS) 計算學科是以離散型變量為研究對象,離散數學對計算技術的發(fā)展起著十分重要的作用。隨著計算技術的迅猛發(fā)展,離散數學越來越受到重視。 (2)程序設計基礎(PF) 《計算作為一門學科》報告指出了程序設計在計算學科的正確地位:程序設計是計算學科課程中固定練習的一部分,是每一個計算學科專業(yè)的學生應具備的能力,是計算學科核心科目的一部分,程序設計語言還是獲得計算機重要特性的有力工具。 (3)算法與復雜性(AL) 算法是計算機科學和軟件工程的基礎,現實世界中,任何軟件系統(tǒng)的性能僅依賴于兩個基本點方面,一方面是所選擇的算法;另一方面是各不同層次實現的適宜性和效率。 (4)組織與體系結構(AR) 計算機在計算中處于核心地位,如果沒有計算機,計算學科只是理論數學的一個分支,應該對計算機系統(tǒng)的功能構件、以及他們的特點/性能和相互作用有一定的理解。 (5)操作系統(tǒng)(OS) 操作系統(tǒng)定義了對硬件行為的抽象,程序員用它來對硬件進行控制。操作系統(tǒng)還管理計算機用戶間的資源共享。 (6)網絡計算(NC) 計算機和通信網絡的發(fā)展,尤其是基于TCP/IP的網絡的發(fā)展使得網絡技術在計算學科中更加重要。 (7)程序設計語言(PL) 程序設計語言是程序員與計算機交流的主要工具。一個程序員不僅要知道如何使用一種語言進行程序設計,還應理解不同語言的程序設計風格。 (8)人-機交互(HL) 人機交互重點在于理解人對交互式對象的交互行為,知道如何使用以人為中心的方法開發(fā)和評價交互軟件系統(tǒng),以及人機交互設計問題的一般知識。 (9)圖形學和可視化計算(GV) 該主領域的主要內容包括:計算機圖形學、可視化、虛擬現實、計算機視覺等4 個學科子領域的研究內容。 (10)智能系統(tǒng)(IS) 人工智能領域關心的問題是自主代理的設計和分析。智能系統(tǒng)必須干知其環(huán)境,合理地朝著指定的任務行動,并與其它代理和人進行交互。 (11)信息管理(IM) 信息系統(tǒng)幾乎在所有使用計算機的場合都發(fā)揮著重要的作用。 (12)軟件工程(SE) 軟件工程是關于如何有效地利用建立滿足用戶和客戶需求的軟件系統(tǒng)理論/知識和實踐的學科,可以應用于小型、中型、大型系統(tǒng)。 (13)數值計算科學(CN) 從計算學科的誕生之日起,科學計算的數值方法和技術就構成了計算機科學研究的一個主要領域。 (14)社會和職業(yè)問題(SP) 大學生需要懂得計算學科本身基本的文化、社會、法律和道德問題。還需要培養(yǎng)學生提出有關計算的社會影響這樣嚴肅問題以及對這些問題的可能答案進行評價的能力。學生還需要認識到軟硬件銷售商和用戶的基本法律權利,也應意識到這些權利的基本基礎——道德價值觀。 三.討論題 1.計算機的產生是世紀最偉大的成就之一,具體體現在哪些方面?根據你的觀察,請列出計算機的應用。 答案略。 2.在信息社會,如何才能在計算機產業(yè)中做出自己的貢獻,有所作為? 答案略。 3.計算機提供了無限的機會和挑戰(zhàn)。利用它可以更快更好地完成許多事情,可以方便地和全世界的人們聯系和通信。但是,是否想過事情的反面呢?所有的變化都是積極的么?計算機的廣泛使用會產生什么負面的影響嗎?討論這些問題和其他所能想到的問題。 答案略。 第2章 計算機體系結構與組織 習題(答案) 一. 選擇題 1.D 2.D 3.D 4.D 5.C 6.B 7.A 8. C 9.A 10.C 11.A 12.C 13.C 14.C 15.A 16.A 17.B 18.A 二. 簡答題 1.試簡單敘述計算機采用二進制的原因。 答:計算機只認識二進制編碼形式的指令和數據。因此,包括數字、字符、聲音、圖形、圖像等信息都必須經過某種方式轉換成二進制的形式,才能提供給計算機進行識別和處理。在計算機中采用二進制,是因為物理上實現容易。由于二進制只有兩個狀態(tài)0和1,這正好與物理器件的兩種狀態(tài)相對應,例如電壓信號的高與低,門電路的導通與截止等;而十進制電路則需要用十種狀態(tài)來描述,這將使得電路十分復雜,處理也十分困難。因此,采用二進制將使得計算機在物理上實現簡單,且具有可靠性高、處理簡單、抗干擾能力強等優(yōu)點。 2.什么是定點數,它分為哪些種類? 答:所謂定點數,就是指計算機在運算過程中,數據中小數點的位置固定不變。其中小數點的位置是由計算機設計者在機器的結構中指定一個不變的位置,而不一定都必須具有小數點的指示裝置。定點數一般有小數和整數兩種表示形式。定點小數是把小數點固定在數據數值部分的左邊,符號位的右邊;定點整數則把小數點固定在數據數值部分的右邊。 3.簡要敘述聲音的編碼過程。 答:計算機獲取聲音信息的過程即是聲音信號數字化的處理過程。經過數字化處理后的數字聲音信息才能被計算機所識別和處理。聲音被計算機處理的過程主要經過音頻信號的采樣、量化和編碼幾個過程。 4.簡述計算機軟件系統(tǒng)的分類。(系統(tǒng)軟件和應用軟件兩方面) 軟件是指能在計算機上運行的各種程序,包括各種有關的文檔。通常將軟件分為系統(tǒng)軟件和應用軟件兩大類。 1.系統(tǒng)軟件 可以把軟件分成若干層,最內層是對硬件的擴充與完善,而外層則是對內層的再次擴充與完善。一般把靠近內層、為方便使用和管理計算機資源的軟件,稱為系統(tǒng)軟件。系統(tǒng)軟件通常是負責管理、控制和維護計算機的各種軟硬件資源,并為用戶提供一個友好的操作界面,以及服務于一般目的的上機環(huán)境。系統(tǒng)軟件包括操作系統(tǒng)、計算機的監(jiān)控管理程序、高級程序設計語言的編譯和解釋程序以及系統(tǒng)服務程序等。操作系統(tǒng)在系統(tǒng)軟件中處于核心地位,其他的系統(tǒng)軟件在操作系統(tǒng)的支持下工作;高級程序設計語言的編譯和解釋程序,將軟件工程師編寫的軟件“翻譯”成為計算機能夠“理解”的機器語言;系統(tǒng)服務程序為計算機系統(tǒng)的正常運行提供服務。 2.應用軟件 應用軟件是針對某個應用領域的具體問題而開發(fā)和研制的程序,它由專業(yè)人員為各種應用目的而開發(fā)。應用軟件必須在系統(tǒng)軟件的支持下才能工作,它具有很強的實用性和專業(yè)性,正是由于應用軟件的開發(fā)和使用,才使得計算機的應用日益滲透到社會的各行各業(yè)。應用軟件可以由用戶自己開發(fā),也可在市場上購買。 常用的應用軟件有:文字處理軟件,如WPS、Word等;電子表格軟件,如Excel、Lotus等;圖形處理軟件,如 3DMAX等;課件制作軟件,如PowerPoint、Authorware等;多媒體處理軟件,如RealPlay、MediaPlayer等。 5.存儲器的功能是什么? 答:現代計算機是以存儲器為中心的計算機系統(tǒng),存儲器是計算機的重要組成部分。當利用計算機完成某項任務時,首先把解決問題的程序和所需數據存于存儲器中,在執(zhí)行程序時再由存儲器快速地提供給處理機。顯然,存儲器的功能是存儲信息,被存儲的信息包括程序信息和數據信息等。 6. 存儲器的主要指標是什么? 答:存儲器作為計算機系統(tǒng)的核心部件之一,有必要對其性能進行描述。描述一個存儲器性能優(yōu)劣的主要指標有存儲容量、存儲周期和存取時間、可靠性、性能價格比、功耗、可靠性等。 7. 簡述存儲器的三級存儲體系分層結構。 三級結構的存儲器系統(tǒng),是圍繞讀寫速度尚可、存儲容量適中的主存儲器來組織和運行的,并由高速緩沖存儲器緩解主存讀寫速度慢、不能滿足CPU運行速度需要的矛盾;用虛擬存儲器更大的存儲空間來解決主存容量小、存不下規(guī)模更大的程序與更多數據的難題,從而達到使整修存儲器系統(tǒng)有更高的讀寫速度、更大的存儲空間、相對較低的制造與運行成本的要求。追求整修存儲器系統(tǒng)有更高的性能價格比是三級存儲體系結構的核心思想。這種三級結構的存儲器系統(tǒng)的運行原理是建立在程序運行的局部性原理之上的。程序運行的局部性原理體現在: (1) 時間的局部性原理。在一小段時間內,最近被訪問過的程序和數據很可能再次被訪問。 (2) 空間局部性原理。即最近被往往集中在一小片存儲區(qū)域中。 (3) 指令執(zhí)行順序的局部性原理。指令順序執(zhí)行比轉移執(zhí)行的可能性要大。 在三級結構的存儲器系統(tǒng)中,所存儲的信息必須滿足如下原則: l 一致性原則 即同一個信息會同時存放在幾個級別的存儲器中,此時,這一信息在幾個級別的存儲器中必須保持相同的值。 l 包含性原則 處在內層(即靠近CPU)存儲器中的信息一定被包含在各外層的存儲器中,即內層存儲器中的全部信息一定是各外層存儲器中所存信息中一小部分的副本,這是保證程序正常運行、實現信息共享、提高系統(tǒng)資源利用率所必需的,反之則不成立。 8. 簡述多核的關鍵技術。 與單核處理器相比,多核處理器在體系結構、軟件、功耗和安全性設計等方面面臨著巨大的挑戰(zhàn),但也蘊含著巨大的潛能。? 1.核結構研究 CMP的構成分成同構和異構兩類,同構是指內部核的結構是相同的,而異構是指內部的核結構是不同的。為此,面對不同的應用研究核結構的實現對未來微處理器的性能至關重要。核本身的結構,關系到整個芯片的面積、功耗和性能。怎樣繼承和發(fā)展傳統(tǒng)處理器的成果,直接影響多核的性能和實現周期。同時,根據 Amdahl定理,程序的加速比決定于串行部分的性能,所以,從理論上來看似乎異構微處理器的結構具有更好的性能。 多核所用的指令系統(tǒng)對系統(tǒng)的實現也是很重要的,采用多核之間采用相同的指令系統(tǒng)還是不同的指令系統(tǒng),能否運行操作系統(tǒng)等,也將是研究的內容之一。 2.程序執(zhí)行模型 多核處理器設計的首要問題是選擇程序執(zhí)行模型。程序執(zhí)行模型的適用性決定多核處理器能否以最低的代價提供最高的性能。程序執(zhí)行模型是編譯器設計人員與系統(tǒng)實現人員之間的接口。編譯器設計人員決定如何將一種高級語言程序按一種程序執(zhí)行模型轉換成一種目標機器語言程序; 系統(tǒng)實現人員則決定該程序執(zhí)行模型在具體目標機器上的有效實現。當目標機器是多核體系結構時,產生的問題是:多核體系結構如何支持重要的程序執(zhí)行模型?是否有其他的程序執(zhí)行模型更適于多核的體系結構?這些程序執(zhí)行模型能多大程度上滿足應用的需要并為用戶所接受? 3.Cache設計:多級Cache設計與一致性問題 處理器和主存間的速度差距對CMP來說是個突出的矛盾,因此必須使用多級Cache來緩解。目前有共享一級Cache的CMP、共享二級Cache的 CMP以及共享主存的CMP。通常,CMP采用共享二級Cache的CMP結構,即每個處理器核心擁有私有的一級Cache,且所有處理器核心共享二級 Cache。 Cache自身的體系結構設計也直接關系到系統(tǒng)整體性能。但是在CMP結構中,共享Cache或獨有Cache孰優(yōu)孰劣、需不需要在一塊芯片上建立多級 Cache,以及建立幾級Cache等等,由于對整個芯片的尺寸、功耗、布局、性能以及運行效率等都有很大的影響,因而這些都是需要認真研究和探討的問題。 另一方面,多級Cache又引發(fā)一致性問題。采用何種Cache一致性模型和機制都將對CMP整體性能產生重要影響。在傳統(tǒng)多處理器系統(tǒng)結構中廣泛采用的 Cache一致性模型有: 順序一致性模型、弱一致性模型、釋放一致性模型等。與之相關的Cache一致性機制主要有總線的偵聽協(xié)議和基于目錄的目錄協(xié)議。目前的CMP系統(tǒng)大多采用 基于總線的偵聽協(xié)議。 4.核間通信技術 CMP處理器的各CPU核心執(zhí)行的程序之間有時需要進行數據共享與同步,因此其硬件結構必須支持核間通信。高效的通信機制是CMP處理器高性能的重要保障,目前比較主流的片上高效通信機制有兩種,一種是基于總線共享的Cache結構,一種是基于片上的互連結構。 總線共享Cache結構是指每個CPU內核擁有共享的二級或三級Cache,用于保存比較常用的數據,并通過連接核心的總線進行通信。這種系統(tǒng)的優(yōu)點是結構簡單,通信速度高,缺點是基于總線的結構可擴展性較差。 基于片上互連的結構是指每個CPU核心具有獨立的處理單元和Cache,各個CPU核心通過交叉開關或片上網絡等方式連接在一起。各個CPU核心間通過消息通信。這種結構的優(yōu)點是可擴展性好,數據帶寬有保證;缺點是硬件結構復雜,且軟件改動較大。也許這兩者的競爭結果不是互相取代而是互相合作,例如在全局范圍采用片上網絡而局部采用總線方式,來達到性能與復雜性的平衡。 5.總線設計 傳統(tǒng)微處理器中,Cache不命中或訪存事件都會對CPU的執(zhí)行效率產生負面影響,而總線接口單元(BIU)的工作效率會決定此影響的程度。當多個CPU 核心同時要求訪問內存或多個CPU核心內私有Cache同時出現Cache不命中事件時,BIU對這多個訪問請求的仲裁機制以及對外存儲訪問的轉換機制的效率決定了CMP系統(tǒng)的整體性能。因此尋找高效的多端口總線接口單元(BIU)結構,將多核心對主存的單字訪問轉為更為高效的猝發(fā)(burst)訪問,同時尋找對CMP處理器整體效率最佳的一次Burst訪問字的數量模型以及高效多端口BIU訪問的仲裁機制將是CMP處理器研究的重要內容。 6.操作系統(tǒng)設計:任務調度、中斷處理、同步互斥 對于多核CPU,優(yōu)化操作系統(tǒng)任務調度算法是保證效率的關鍵。一般任務調度算法有全局隊列調度和局部隊列調度。前者是指操作系統(tǒng)維護一個全局的任務等待隊列,當系統(tǒng)中有一個CPU核心空閑時,操作系統(tǒng)就從全局任務等待隊列中選取就緒任務開始在此核心上執(zhí)行。這種方法的優(yōu)點是CPU核心利用率較高。后者是指操作系統(tǒng)為每個CPU內核維護一個局部的任務等待隊列,當系統(tǒng)中有一個CPU內核空閑時,便從該核心的任務等待隊列中選取恰當的任務執(zhí)行,這種方法的優(yōu)點 是任務基本上無需在多個CPU核心間切換,有利于提高CPU核心局部Cache命中率。目前多數多核CPU操作系統(tǒng)采用的是基于全局隊列的任務調度算法。 多核的中斷處理和單核有很大不同。多核的各處理器之間需要通過中斷方式進行通信,所以多個處理器之間的本地中斷控制器和負責仲裁各核之間中斷分配的全局中斷控制器也需要封裝在芯片內部。 另外, 多核CPU是一個多任務系統(tǒng)。由于不同任務會競爭共享資源,因此需要系統(tǒng)提供同步與互斥機制。而傳統(tǒng)的用于單核的解決機制并不能滿足多核,需要利用 硬件提供的“讀-修改-寫”的原子操作或其他同步互斥機制來保證。 7.低功耗設計 半導體工藝的迅速發(fā)展使微處理器的集成度越來越高,同時處理器表面溫度也變得越來越高并呈指數級增長,每三年處理器的功耗密度就能翻一番。目前,低功耗和熱優(yōu)化設計已經成為微處理器研究中的核心問題。CMP的多核心結構決定了其相關的功耗研究是一個至關重要的課題。 低功耗設計是一個多層次問題,需要同時在操作系統(tǒng)級、算法級、結構級、電路級等多個層次上進行研究。每個層次的低功耗設計方法實現的效果不同——抽象層次 越高,功耗和溫度降低的效果越明顯。 8.存儲器 為了使芯片內核充分地工作,最起碼的要求是芯片能提供與芯片性能相匹配的存儲器帶寬,雖然內部Cache的容量能解決一些問題,但隨著性能的進一步提高,必須有其他一些手段來提高存儲器接口的帶寬,如增加單個管腳帶寬的DDR、DDR2、QDR、XDR等。同樣,系統(tǒng)也必須有能提供高帶寬的存儲器。所以,芯片對封裝的要求也越來越高,雖然封裝的管腳數每年以20%的數目提升,但還不能完全解決問題,而且還帶來了成本提高的問題,為此,怎樣提供一個高帶寬, 低延遲的接口帶寬,是必須解決的一個重要問題。 9.可靠性及安全性設計 隨著技術革新的發(fā)展,處理器的應用滲透到現代社會的各個層面,但是在安全性方面卻存在著很大的隱患。一方面,處理器結構自身的可靠性低下,由于超微細化與時鐘設計的高速化、低電源電壓化,設計上的安全系數越來越難以保證,故障的發(fā)生率逐漸走高。另一方面,來自第三方的惡意攻擊越來越多,手段越來越先進,已成為具有普遍性的社會問題?,F在,可靠性與安全性的提高在計算機體系結構研究領域備受注目。 今后,CMP這類處理器芯片內有多個進程同時執(zhí)行的結構將成為主流,再加上硬件復雜性、設計時的失誤增加,使得處理器芯片內部也未必是安全的,因此,安全與可靠性設計任重而道遠。 9. 什么是高性能計算機? 答:高性能計算機的概念并無明確的定義,一般認為運算速度非??斓挠嬎銠C就可以認為是高性能計算機。嚴格地講,高性能計算機是一個擁有最先進的硬件、軟件、網絡和算法的綜合概念,“高性能”的標準是隨著技術的發(fā)展而發(fā)展的。 10. 什么是接口?它的主要功能是什么? 答:在主機與外設進行數據交換時必領引入相應的邏輯部件解決兩者之間的同步與協(xié)調、數據格式轉換等問題,這些邏輯部件就稱為輸入輸出接口,簡稱為接口。輸入輸出接口的基本功能有: (1)實現數據緩沖,提供主機和設備交換信息過程中的數據緩沖機構,使主機與外設在工作速度上達到匹配。 (2)實現數據格式的轉換,例如,當主機和設備的信號同謀不同時的信號電平轉換功能、數據傳送中的格式(串行、并行)轉換功能、直接內存訪問中的額外需求等。 (3)提供外設和接口的狀態(tài),為 CPU更好地控制各種外設提供有效的幫助,交換主機和外圍設備的狀態(tài)信息。 (4)實現主機與外設之間的通訊聯絡控制,實現主機與設備之間的數據交換。 11. 簡述并行算法的基本內容。 并行算法是在給定并行模型下的一種具體明確的計算方法和步驟,其分類有不同的分類方法。 根據并行計算任務的大小分類,可以分為粗粒度并行算法、中粒度并行算法和細粒度并行算法三類。粗粒度并行算法所含的計算任務有較大的計算量和較復雜的計算程序;中粒度并行算法所含的計算任務的大小和計算程序的長短在粗粒度和細粒度兩種類型的算法之間;細粒度并行算法所含的計算任務有較小的計算量和較短的計算程序。 根據并行計算的基本對象可分為數值并行計算和非數值并行計算。非數值計算也會用于高精度數值計算,數值計算中也會有查找、匹配等非數值計算成分,這兩者之間并無嚴格的界限。實際分類時,主要是根據主要的計算量所屬范疇以及宏觀的計算方法來判斷。 根據并行計算進程間的依賴關系可以分為同步并行算法和異步并行算法。前者是通過一個全局的時鐘來控制各部分的步伐,將任務中的各個部分計算同步地向前推進;而后者執(zhí)行的各部分計算步伐之間沒有關聯,互不同步,在操作中,它們根據計算過程的不同階段決定等待、繼續(xù)或終止。同步并行算法適合于SIMD并行計算機,異步并行算法適合于MIMD并行計算機。 一個高效的并行算法設計過程比較復雜。一般編程設計過程可以分為任務劃分、通信分析、任務組合和處理器映射四步。任務劃分階段主要將整個使用域或功能分解成一些小的計算任務,它的目的是要揭示和開拓并行執(zhí)行的機會;通信分析則檢測在任務劃分階段劃分的合理性;任務組合按照性能要求和實現的代價來考察前兩個階段的結果,必要時可以將一些小的任務組合成更大的任務以提高執(zhí)行效率和減少通信開銷;處理器映射決定將每一個任務分配到哪個處理器上去執(zhí)行,目的是要最小化全局執(zhí)行時間和通訊成本,并最大化處理器的利用率。 12. 什么是網絡計算機?它有什么優(yōu)點? 答:網絡計算機(NETWORK COMPUTER)簡稱NC,是專用于高速網絡環(huán)境下的計算機終端設備。是基于處理器芯片和網絡基礎的新一代計算機產品,是一種新的桌面計算機。NC除了有人機交互必需的顯示器,鍵盤鼠標外,它沒有硬盤,軟盤,光驅等外部存儲設備,是一種瘦客戶機。網絡計算機具有以下優(yōu)點: (1)易管理,維護簡單,使用方便。 (2)網絡計算機沒有硬盤,軟盤和光盤,也沒有風扇,在硬件方面沒有什么可維護的地方,大大減少了計算機網絡的維護工作,成本低廉。 (3)安全性強,無論是防止病毒的侵犯,還是資料維護的安全,NC都比PC要好的多。 (4)靜音節(jié)能,高可靠網絡計算機沒有任何噪音,非常安靜。網絡計算機的功耗非常小。 三. 討論題 1. 為什么計算機使用二進制,而不使用人們生活中的十進制來表示數據信息。 答案略。 2. 計算機系統(tǒng)的存儲器分為哪幾個層次?(原題已刪除) 答案略。 3. 網絡計算機有許多優(yōu)點,請結合其特點談談我國發(fā)展網絡計算機的前途。 答案略。 第3章 程序設計語言 習 題 一、選擇題 1. A 2. A 3. D 4. A 5. AB 6. C 7. D 8. D 9. ABCD 10. B 11.A 12.A 二、簡答題 1.簡述程序的概念。 答:一個程序就是能夠實現特定功能的一組指令序列的集合。或者程序=算法+數據結構。 2. 簡述程序設計過程的一般步驟。 程序設計的過程一般有四個步驟。 1.分析問題 在著手解決問題之前,應該通過分析,充分理解問題,明確原始數據、解題要求、需要輸出的數據及形式等。 2.設計算法 算法是解題的過程。首先集中精力于算法的總體規(guī)劃,然后逐層降低問題的抽象性,逐步充實細節(jié),直到最終把抽象的問題具體化成可用程序語句表達的算法。這是一個自上而下、逐步細化的過程。 3.編碼 利用程序設計語言表示算法的過程稱為編碼。 4.調試程序 調試程序包括編譯和連接等操作。編譯程序將源程序轉換為目標程序,它對程序員編寫的源程序進行語法檢查,程序員根據編譯過程中的錯誤提示信息,查找并改正源程序的錯誤后再重新編譯,直到沒有語法錯誤為止。大多數程序設計語言還要使用連接程序把目標程序與系統(tǒng)提供的庫文件進行連接以得到最終的可執(zhí)行文件。在連接過程中若程序使用了錯誤的內部函數名,將會引起連接錯誤。對于經過編譯和連接,并最終運行結束的程序,程序員還要對程序執(zhí)行的結果進行分析,只有得到正確結果的程序才是所需的程序。 3. 簡述機器語言和匯編語言的共同特點。 匯編語言具有一個本質上與機器語言一一對應的指令系統(tǒng)。大多數情況下,一條匯編指令直接對應一條機器指令,少數匯編指令對應幾條機器指令,所以,匯編語言的實質和機器語言是相同的。與機器指令一樣,匯編指令直接針對計算機硬件進行操作,要求程序員具有較為深厚的計算機專業(yè)知識;每一條指令只能實現一個非常細微的操作(例如移動、自增),因而源程序一般比較冗長、復雜、容易出錯。 4. 簡述高級語言程序的運行過程。 使用高級語言編寫程序的一般過程可以歸納為以下幾個步驟: (1) 使用文本編輯工具,逐條編寫源程序的語句。保存源程序的文件時,文件的后綴名與所用的高級語言有關。 (2) 編譯源程序文件,生成目標文件,文件后綴名通常為obj。 (3) 鏈接目標文件,生成可執(zhí)行文件,文件后綴名通常為exe。 (4) 在計算機上運行可執(zhí)行程序,并進行調試和維護。 程序的執(zhí)行環(huán)境由操作系統(tǒng)提供,一般分為命令行環(huán)境和圖形用戶界面環(huán)境。在DOS與大多數Unix類操作系統(tǒng)中,提供的就是命令行用戶界面,用戶需要在系統(tǒng)命令提示符后面輸入各種操作命令以實現需要的功能;在Windows操作系統(tǒng)中,提供的是圖形用戶界面,用戶可以通過點擊鼠標等操作完成希望的功能。“界面就是程序”反映了在程序設計中為用戶提供良好的操作界面的重要性。用戶使用界面的好壞直接影響著程序的質量,要樹立以人為本的思想,盡量為用戶提供便利。 5.簡述編譯程序的概念。 編譯程序是把高級語言程序(源程序)作為一個整體來處理,在應用源程序執(zhí)行之前,就將程序源代碼“翻譯”成目標代碼(機器語言),編譯后與系統(tǒng)提供的代碼庫鏈接,形成—個完整的可執(zhí)行的機器語言程序(目標程序代碼)。 6.用圖示法表示編譯程序的框架。 答:編譯程序的框架如圖所示: 7.詞法分析的任務是什么? 答:作為編譯過程的第一個階段,其任務是從左到右一個字符,一個字符地對源程序進行掃描,讀入源程序,對構成源程序的字符流進行掃描和分解,通過詞法分析從而識別出一個個單詞(也稱單詞符號或符號)。 8.語法分析的任務是什么? 答:語法分析是編譯過程的第二個階段,任務是在詞法分析的基礎上將單詞序列分解成各類語法短語,如“程序”、“語句”、“表達式”等等。 9.簡述語義處理的功能。 答:編譯過程中的語義處理實現兩個功能: (1) 審查每個語法結構- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 計算機科學 導論 第三 答案
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://www.hcyjhs8.com/p-1584364.html