《計算機軟件基礎(chǔ)與程序設(shè)計語言》由會員分享,可在線閱讀,更多相關(guān)《計算機軟件基礎(chǔ)與程序設(shè)計語言(26頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,單擊此處編輯母版標(biāo)題樣式,計算機基礎(chǔ)科學(xué)系,計算機基礎(chǔ)科學(xué)系,2009.10,第,3,章計算機軟件系統(tǒng),第七講 計算機軟件基礎(chǔ)與程序設(shè)計語言,主要教學(xué)內(nèi)容,計算機軟件基礎(chǔ)知識,1,程序設(shè)計語言,2,小 結(jié),4,程序的構(gòu)建與執(zhí)行,3,學(xué)習(xí)目標(biāo),1,了解指令、程序與軟件的概念及相互之間的關(guān)系。掌握軟件的分類方法。,2,了解程序設(shè)計語言的分類,程序的構(gòu)建方法與執(zhí)行方法。,重點與難點,程序與軟件的概念;機器語言、匯編語言與高級語言的優(yōu)缺點為本講的重點。,指令,給計算機的命令稱指令。一種指令對應(yīng)計算機的一種操作。指令由操作碼和操作數(shù)構(gòu)成,操作碼表
2、示執(zhí)行何種操作,操作數(shù)表示操作數(shù)的存儲地址或操作對象。,所謂指令集,就是,CPU,中用來計算和控制計算機系統(tǒng)的一套指令的集合,而每一種新型的,CPU,在設(shè)計時就規(guī)定了一系列與其他硬件電路相配合的指令系統(tǒng)。指令集的先進與否,關(guān)系到,CPU,的性能發(fā)揮,它也是,CPU,性能體現(xiàn)的一個重要標(biāo)志。,1.,指令、程序和軟件,1.1,指令,CPU,的指令集從主流的體系結(jié)構(gòu)上分為精簡指令集(,Reduced Instruction Set Computing,,,RISC,)和復(fù)雜指令集(,Complex Instruction Set Computing,,,CISC,)。,1.2,程序,在我國,計算機軟
3、件保護條例,中把程序定義為:為了得到某種結(jié)果而可以由計算機等具有信息處理能力的裝置執(zhí)行的代碼化指令序列,或者可被自動轉(zhuǎn)換成代碼化指令序列的符號化指令序列或者符號化語句序列。簡單地說,程序是可以連續(xù)執(zhí)行,并能夠完成一定任務(wù)的指令的集合,它是人與機器之間進行交流的語言。,1.3,軟件,計算機軟件(,Computer Software,)是指計算機程序與數(shù)據(jù)及相關(guān)文檔資料的總稱。程序是計算任務(wù)的處理對象和處理規(guī)則的描述;數(shù)據(jù)是程序要處理的對象;文檔是為了便于了解程序所需的闡明性資料。程序必須裝入機器內(nèi)部才能工作,數(shù)據(jù)必須調(diào)入計算機內(nèi)存才能被處理,文檔一般是給人看的,不一定裝入機器。,1.4,指令、程
4、序與軟件的關(guān)系,程序,指令,指令,指令,指令,數(shù)據(jù),文檔,軟件,2.,軟件的分類,系統(tǒng)軟件:,是指控制和協(xié)調(diào)計算機及其外部設(shè)備,支持應(yīng)用軟件的開發(fā)和運行的軟件,其主要的功能是調(diào)度、監(jiān)控和維護系統(tǒng)等。,軟件的分類,應(yīng)用軟件:,應(yīng)用軟件是用戶為解決各種實際問題而編制的計算機應(yīng)用程序及有關(guān)資料。,2.,軟件的分類,系統(tǒng)軟件:,(,1,)操作系統(tǒng)軟件,如,Windows XP,、,Windows 2000,、,Linux,、,UNIX,等。,(,2,)各種語言的處理程序,如匯編語言、高級語言、編譯程序等。,(,3,)各種服務(wù)性程序,如機器的調(diào)試、故障檢查和診斷程序、殺毒程序等。,(,4,)各種數(shù)據(jù)庫管
5、理系統(tǒng),如,SQL Server,、,Oracle,、,Informix,等。,應(yīng)用軟件:,(,1,)用于科學(xué)計算方面的數(shù)學(xué)計算軟件包、統(tǒng)計軟件包。,(,2,)文字處理軟件,如金山文字處理軟件、,Office 2003,。,(,3,)圖像處理軟件,如,Photoshop,、動畫處理軟件(,3ds max,)。,(,4,)各種財務(wù)管理軟件,如稅務(wù)管理軟件、工業(yè)控制軟件、輔助教育等專用軟件。,3.,程序設(shè)計語言的分類,語言是為了交流的需要!,3.1,程序設(shè)計語言的分類,機器語言,匯編語言,高級語言,專用語言,3.1,程序設(shè)計語言的分類,1、,機器語言,1,2,3,4,5,6,7,8,9,10,11
6、,12,13,14,15,16,00000000000001000000000000000000,01011110 00001100 11000010 0000000000000010,11101111 00010110 0000000000000101,11101111 10011110 0000000000001011,11111000 10101101 11011111 0000000000010010,0110001011011111 0000000000010101,11101111 0000001011111011 0000000000010111,11110100 1010110
7、1 11011111 0000000000011110,000000111010001011011111 0000000000100001,111011110000001011111011 0000000000100100,0111111011110100 10101101,1111100010101110 11000101 0000000000101011,000001101010001011111011 0000000000110001,11101111 0000001011111011 0000000000110100,00000100 0000000000111101,00000100
8、 0000000000111101,3.1,程序設(shè)計語言的分類,特點:,機器語言是面向機器的,機器語言的優(yōu)點是計算機可直接執(zhí)行,機器語言程序與其他語言程序相比,占用內(nèi)存少,執(zhí)行速度快,通用性差,而且指令和數(shù)據(jù)都是二進制代碼,難于閱讀和記憶,編碼工作量大,難以維護,因此,程序員很難用機器語言來開發(fā)實用的計算機程序。,3.1,程序設(shè)計語言的分類,2、,匯編語言,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,Entry main,m,subl2#12,sp,jsb,C$MAIN_ARGS,movab,$CHAR_STRING_CON,pushal,-8(fp),pus
9、hal,(r2),calls#2,read,pushal,-12(fp),pushal,3(r2),calls#2,read,mull3 -8(fp),-12(fp),-,pushal,6(r2),calls#2,print,clrl,r0,ret,3.1,程序設(shè)計語言的分類,匯編語言的執(zhí)行過程,匯編程序,(已在計算機中),源程序,(匯編語言),目標(biāo)程序,(機器指令),執(zhí)行結(jié)果,執(zhí)行,匯編,機器語言程序,連接,3.1,程序設(shè)計語言的分類,匯編語言也稱為符號語言,也是面向機器的,也就是說不同的機器它們的匯編語言也是不同的。,優(yōu)點:對于機器語言而言更容易理解,缺點:適用于編寫直接控制機器操作的低層
10、程序,它與機器密切相關(guān),一般人也較難使用,執(zhí)行速度慢,可移植性差。,3.1,程序設(shè)計語言的分類,3、,高級語言,示例,C+,語言的源程序,/,*,This program reads two integer numbers from the,keyboard and prints their product.,*,/,#include,int,main(void),/Local Declarations,int,number1;,int,number2;,int,result;,/Statements,cin,number1;,cin,number2;,result=number1,*,num
11、ber2;,cout,result;,return 0;,/main,3.2.1,程序設(shè)計語言的分類,高級語言的執(zhí)行過程,高級語言適用于許多不同的機器,它使程序員能夠避開計算機的復(fù)雜性,將精力集中在應(yīng)用程序的編寫上。用高級語言編寫的程序稱為源程序。源程序不能直接被計算機識別,必須經(jīng)過轉(zhuǎn)換才能被執(zhí)行。,編譯程序,(已在計算機中),源程序,(高級語言),目標(biāo)程序,(機器指令),執(zhí)行結(jié)果,執(zhí)行,編譯,機器語言程序,連接,3.1,程序設(shè)計語言的分類,4、,專用語言,專用語言也稱為領(lǐng)域?qū)S谜Z言(,Domain Specific Language,,,DSL,)。領(lǐng)域?qū)S谜Z言其基本思想是求專不求全,不像通
12、用語言那樣目標(biāo)范圍涵蓋一切軟件問題,而是專門針對某一特定問題的計算機語言。這里介紹,HTML,與,SQL,兩種語言。,程序的構(gòu)建,1.,程序的編輯,2.,程序編譯,3.,程序的鏈接,3.2,程序的構(gòu)建,程序的執(zhí)行,程序的執(zhí)行,總 結(jié),軟件系統(tǒng)是計算機系統(tǒng)的重要組成部分。計算機軟件是指計算機程序與數(shù)據(jù)及相關(guān)文檔資料的總稱,分為系統(tǒng)軟件與應(yīng)用軟件兩大類。,計算機程序設(shè)計語言通常分為機器語言、匯編語言和高級語言三類。另外,近十幾年來一些專用語言如,HTML,、,SQL,相繼出現(xiàn)。,機器語言是面向機器的,計算機能直接識別的語言。匯編語言是面向機器的符號語言,匯編語言程序不能在計算機上直接運行,它必須通過匯編程序轉(zhuǎn)化為機器語言程序才能運行;用高級語言編寫的程序稱為源程序,源程序不能直接被計算機識別,必須轉(zhuǎn)換成機器語言程序才能被計算機執(zhí)行,按轉(zhuǎn)換方式可分為編譯與解釋兩類。編譯包括程序預(yù)處理與程序翻譯兩步工作。,Department of Computer Science and Technology,Thank you!,