第8章 第4節(jié) 程序設(shè)計語言和程序設(shè)計方法_第1頁
第8章 第4節(jié) 程序設(shè)計語言和程序設(shè)計方法_第2頁
第8章 第4節(jié) 程序設(shè)計語言和程序設(shè)計方法_第3頁
第8章 第4節(jié) 程序設(shè)計語言和程序設(shè)計方法_第4頁
第8章 第4節(jié) 程序設(shè)計語言和程序設(shè)計方法_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、同濟大學(xué)同濟大學(xué) 第第8.4 8.4 程序設(shè)計語言程序設(shè)計語言 和程序設(shè)計方法和程序設(shè)計方法 1 同濟大學(xué)同濟大學(xué) 目的目的 2 n 程序設(shè)計語言發(fā)展程序設(shè)計語言發(fā)展 n 語言處理程序語言處理程序 n 程序設(shè)計一般過程程序設(shè)計一般過程 n 程序設(shè)計方法程序設(shè)計方法 同濟大學(xué)同濟大學(xué) 8.4.1 程序設(shè)計語言概述程序設(shè)計語言概述 同濟大學(xué)同濟大學(xué) 系統(tǒng)軟件 4 操作系統(tǒng)操作系統(tǒng)語言處理程序語言處理程序?qū)嵱贸绦驅(qū)嵱贸绦?翻譯工具翻譯工具 作用:將源程序翻譯成計算作用:將源程序翻譯成計算 機能識別的機器語言程序。機能識別的機器語言程序。 程序設(shè)計語言:程序設(shè)計語言: 機器語言機器語言 匯編語言匯編語

2、言 高級語言高級語言 典型的程序設(shè)計語言有:典型的程序設(shè)計語言有: FORTRAN、Pascal、C 與與C+、BASIC、Java、 C#等。等。 匯 編 程 序 編 譯 程 序 解 釋 程 序 同濟大學(xué)同濟大學(xué) 5 1.1.機器語言機器語言 由由“0”、“1”二進制代碼按一定規(guī)則組成的、能被機器直二進制代碼按一定規(guī)則組成的、能被機器直 接理解、執(zhí)行的指令集合。接理解、執(zhí)行的指令集合。 缺點:缺點:編程工作量大,難學(xué)、難記、難修改;編程工作量大,難學(xué)、難記、難修改; 不同不同計算機的計算機的指令系統(tǒng)不同,機器語言通用性差指令系統(tǒng)不同,機器語言通用性差 優(yōu)點優(yōu)點:代碼不需要翻譯,所占空間少,執(zhí)

3、行速度快。代碼不需要翻譯,所占空間少,執(zhí)行速度快。 例如,計算例如,計算A=15+10 A=15+10 的機器語言程序如下:的機器語言程序如下: 10110000 0000111110110000 00001111: 把把1515放入累加器放入累加器A A中中 00101100 0000101000101100 00001010: 1010與累加器與累加器A A的值相加,結(jié)的值相加,結(jié) 果仍放入果仍放入A A中中 1111010011110100: 結(jié)束,停機結(jié)束,停機 同濟大學(xué)同濟大學(xué) 6 2.2.匯編語言匯編語言 使用反映機器指令功能的助記符代替機器語言的符號語言。使用反映機器指令功能的助

4、記符代替機器語言的符號語言。 例如用例如用ADDADD表示加、表示加、SUBSUB表示減、表示減、JMPJMP表示程序跳轉(zhuǎn)等等。表示程序跳轉(zhuǎn)等等。 優(yōu)點:優(yōu)點:克服了機器語言難讀等缺點,保持了其編程質(zhì)量高、占克服了機器語言難讀等缺點,保持了其編程質(zhì)量高、占 存儲空間少,執(zhí)行速度快的優(yōu)點。存儲空間少,執(zhí)行速度快的優(yōu)點。 缺點:缺點:仍然依賴于機器,通用性差。仍然依賴于機器,通用性差。 特點:特點:源程序源程序必須通過匯編程序翻譯成機器語言。必須通過匯編程序翻譯成機器語言。常用于過程常用于過程 控制等編程??刂频染幊獭?例如,計算例如,計算 A=15+10 A=15+10 的匯編語言程序:的匯編語

5、言程序: MOVMOV A A,1515:把:把1515放入累加器放入累加器A A中中 ADDADD A A,1010:1010與累加器與累加器A A相加,結(jié)果存入相加,結(jié)果存入A A中中 HLTHLT:結(jié)束,停機:結(jié)束,停機 類比:類比: IP地址地址 46 機器語言機器語言 域名域名 匯編語言匯編語言 同濟大學(xué)同濟大學(xué) 7 3.3.高級語言高級語言 接近于自然語言和數(shù)學(xué)公式的程序設(shè)計語言。接近于自然語言和數(shù)學(xué)公式的程序設(shè)計語言。 優(yōu)點:優(yōu)點:接近算法語言,易學(xué)、易掌握,接近算法語言,易學(xué)、易掌握, 可讀性好,可維護性強,可靠性高;可讀性好,可維護性強,可靠性高;

6、可移植性好,重用率高可移植性好,重用率高 自動化程度自動化程度高,編程效率高。高,編程效率高。 缺點:缺點:源程序要通過翻譯程序翻譯成機器語言,代碼不源程序要通過翻譯程序翻譯成機器語言,代碼不 最優(yōu)。最優(yōu)。 例如,計算例如,計算 A=15+10 A=15+10 的的BASICBASIC語言程序如下:語言程序如下: A=15+10A=15+10 15 15與與1010相加的結(jié)果放入相加的結(jié)果放入A A中中 PRINT APRINT A 輸出輸出A A ENDEND 程序結(jié)束程序結(jié)束 同濟大學(xué)同濟大學(xué) 8.4.2 8.4.2 語言處理程序語言處理程序 8 機器語言機器語言 源程序源程序 匯編語言匯

7、編語言 源程序源程序 機器語言程序機器語言程序 (目標(biāo)程序)(目標(biāo)程序) 匯編程序匯編程序 翻譯翻譯 低級語言處理程序低級語言處理程序 同濟大學(xué)同濟大學(xué) 高級語言翻譯程序高級語言翻譯程序 9 高級語言高級語言 源程序源程序 計算結(jié)果計算結(jié)果 解釋程序解釋程序 數(shù)據(jù)數(shù)據(jù) 高級語言高級語言 源程序源程序計算結(jié)果計算結(jié)果 連接程序連接程序 數(shù)據(jù)數(shù)據(jù) 目標(biāo)目標(biāo) 程序程序 可執(zhí)行可執(zhí)行 程序程序 編譯程序編譯程序 解釋方式解釋方式 編譯方式編譯方式 Basic C+ 程序庫程序庫 可脫離編譯程序和源程可脫離編譯程序和源程 序獨立存在并反復(fù)使用序獨立存在并反復(fù)使用 同濟大學(xué)同濟大學(xué) 8 8.4.3 .4.

8、3 程序設(shè)計的一般過程程序設(shè)計的一般過程 10 分析問題 確定數(shù)學(xué)模型 程序編寫、編輯、編譯和連接 算法設(shè)計 運行和測試 同濟大學(xué)同濟大學(xué) 程序設(shè)計方法 n結(jié)構(gòu)化程序設(shè)計結(jié)構(gòu)化程序設(shè)計 n面向?qū)ο蟪绦蛟O(shè)計面向?qū)ο蟪绦蛟O(shè)計 11 同濟大學(xué)同濟大學(xué) 結(jié)構(gòu)化程序設(shè)計思想 n最早由荷蘭科學(xué)家最早由荷蘭科學(xué)家E.W.DijkstraE.W.Dijkstra提出提出 p任何程序都基于任何程序都基于順序順序、選擇選擇、循環(huán)循環(huán)三種基本的三種基本的 控制結(jié)構(gòu)控制結(jié)構(gòu) p程序具有模塊化特征,每個程序模塊具有程序具有模塊化特征,每個程序模塊具有惟一惟一 的入口和出口的入口和出口 p取消取消GOTOGOTO語句語句

9、 n結(jié)構(gòu)化程序的結(jié)構(gòu)簡單清晰,可讀性好,模結(jié)構(gòu)化程序的結(jié)構(gòu)簡單清晰,可讀性好,模 塊化強塊化強。 12 同濟大學(xué)同濟大學(xué) 結(jié)構(gòu)化編程主要包括兩個方面 提倡采用自頂向下、逐 步細化的模塊化程序設(shè) 計原則 每個模塊強調(diào)采用單入 口單出口的三種基本控 制結(jié)構(gòu)(順序、選擇、 循環(huán)),避免使用GOTO 語句 13 主程序 模塊2模塊3模塊1 模塊11模塊112 模塊31 模塊32 模塊111模塊311 同濟大學(xué)同濟大學(xué) 面向?qū)ο蟪绦蛟O(shè)計 n8080年代初面向?qū)ο蟮某绦蛟O(shè)計年代初面向?qū)ο蟮某绦蛟O(shè)計(Object (Object Oriented ProgrammingOriented Programmin

10、g,簡稱,簡稱OOP)OOP) n用面向?qū)ο蟮姆椒ń鉀Q問題,不再將問題分用面向?qū)ο蟮姆椒ń鉀Q問題,不再將問題分 解為過程,而是將問題解為過程,而是將問題分解為對象分解為對象。 p對象:屬性、方法和事件對象:屬性、方法和事件 n“對象消息對象消息”的面向?qū)ο蟮某绦蛟O(shè)計模式的面向?qū)ο蟮某绦蛟O(shè)計模式 有取代有取代“數(shù)據(jù)結(jié)構(gòu)算法數(shù)據(jù)結(jié)構(gòu)算法”的面向過程的程的面向過程的程 序設(shè)計模式的趨向。序設(shè)計模式的趨向。 14 同濟大學(xué)同濟大學(xué) 兩者區(qū)別 n結(jié)構(gòu)化的分解突出結(jié)構(gòu)化的分解突出過程過程: p如何做如何做(How to do )(How to do )?它強調(diào)代碼的功能是如何得?它強調(diào)代碼的功能是如何得

11、以完成。以完成。 n面向?qū)ο蟮姆纸馔怀稣鎸嵤澜绾统橄蟮拿嫦驅(qū)ο蟮姆纸馔怀稣鎸嵤澜绾统橄蟮膶ο髮ο螅?p做什么做什么(What to do )(What to do )?它將大量的工作由相應(yīng)的對?它將大量的工作由相應(yīng)的對 象來完成,程序員在應(yīng)用程序中只需說明要求對象完象來完成,程序員在應(yīng)用程序中只需說明要求對象完 成的任務(wù)。成的任務(wù)。 15 同濟大學(xué)同濟大學(xué) 面向?qū)ο蟪绦蛟O(shè)計益處 符合人們習(xí)慣的思維方法,便于分析復(fù)雜符合人們習(xí)慣的思維方法,便于分析復(fù)雜 而多變化的問題;而多變化的問題; 易于軟件的維護和功能的增減;易于軟件的維護和功能的增減; 可重用性好,能用繼承的方式減短程序開可重用性好,能用

12、繼承的方式減短程序開 發(fā)所花的時間;發(fā)所花的時間; 與可視化技術(shù)相結(jié)合,改善了工作界面和與可視化技術(shù)相結(jié)合,改善了工作界面和 便于與用戶交互。便于與用戶交互。 同濟大學(xué)同濟大學(xué) 17 常用高級語言常用高級語言 Fortran:1954年推出,適用于科學(xué)和工程計算。年推出,適用于科學(xué)和工程計算。 C、C+:1972年推出年推出C語言,語言,1983年加入面向?qū)ο蟮母拍?,年加入面向?qū)ο蟮母拍睿?改名為改名為C+。語言簡練、功能強,適用面廣。語言簡練、功能強,適用面廣。 BASIC:初學(xué)者語言,:初學(xué)者語言,1964年推出;年推出;1991年微軟推出可視化年微軟推出可視化 的、基于對象的的、基于對象的VisualBasic開發(fā)環(huán)境,發(fā)展到現(xiàn)在的開發(fā)環(huán)境,發(fā)展到現(xiàn)在的VB.NET 開發(fā)環(huán)境,則是完全面向?qū)ο?、功能更強大。開發(fā)環(huán)境,則是完全面向?qū)ο?、功能更強大?Java:1995年推出,是一種新型的跨平臺的面向?qū)ο笤O(shè)計語年推出,是一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論