第5章 計(jì)算機(jī)程序設(shè)計(jì)_第1頁(yè)
第5章 計(jì)算機(jī)程序設(shè)計(jì)_第2頁(yè)
第5章 計(jì)算機(jī)程序設(shè)計(jì)_第3頁(yè)
第5章 計(jì)算機(jī)程序設(shè)計(jì)_第4頁(yè)
第5章 計(jì)算機(jī)程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第5章計(jì)算機(jī)程序設(shè)計(jì)本章導(dǎo)讀:

本章主要介紹程序設(shè)計(jì)基礎(chǔ)知識(shí)、程序設(shè)計(jì)的一般過程和程序設(shè)計(jì)語(yǔ)言,重點(diǎn)介紹了面向過程程序設(shè)計(jì)、面向?qū)ο蟪绦蛟O(shè)計(jì)和可視化程序設(shè)計(jì)的特點(diǎn),并結(jié)合C、C++、Java、VB等語(yǔ)言介紹這些程序設(shè)計(jì)方法的具體應(yīng)用。本章主要知識(shí)點(diǎn):

程序設(shè)計(jì)基礎(chǔ)知識(shí)面向過程程序設(shè)計(jì)的特點(diǎn)及其應(yīng)用

面向?qū)ο蟪绦蛟O(shè)計(jì)的特點(diǎn)及其應(yīng)用可視化程序設(shè)計(jì)的特點(diǎn)及其應(yīng)用

第5章計(jì)算機(jī)程序設(shè)計(jì)5.1概述

5.2面向過程程序設(shè)計(jì)5.3面向?qū)ο蟪绦蛟O(shè)計(jì)5.4可視化程序設(shè)計(jì)5.1概述返回本章目錄5.1.1程序設(shè)計(jì)基礎(chǔ)5.1.2程序設(shè)計(jì)的一般過程5.1.3程序設(shè)計(jì)語(yǔ)言5.1.4程序設(shè)計(jì)發(fā)展概況5.1.1程序設(shè)計(jì)基礎(chǔ)

計(jì)算機(jī)之所以能自動(dòng)連續(xù)地進(jìn)行工作,最根本的原因就在于“存儲(chǔ)程序”和“程序控制”?!按鎯?chǔ)程序”——就是把計(jì)算機(jī)處理問題的步驟用計(jì)算機(jī)能夠識(shí)別的指令編寫出來,并送入計(jì)算機(jī)內(nèi)部的存儲(chǔ)器存儲(chǔ)起來?!俺绦蚩刂啤薄褪前咽孪却鎯?chǔ)好的程序從存儲(chǔ)器取出來,送入CPU執(zhí)行,計(jì)算機(jī)才能按照人的意圖自動(dòng)完成指定的工作。因此,程序就是為解決某一問題而編寫的語(yǔ)句集合,是將一個(gè)實(shí)際問題的具體操作用某種程序設(shè)計(jì)語(yǔ)言描述出來的指令序列。編寫程序的過程就是程序設(shè)計(jì)。程序設(shè)計(jì)語(yǔ)言就是計(jì)算機(jī)能夠理解和執(zhí)行的特殊語(yǔ)言。

返回本節(jié)目錄5.1.2程序設(shè)計(jì)的一般過程返回本節(jié)目錄程序設(shè)計(jì)就是分析問題、編寫程序、調(diào)試程序的過程。用計(jì)算機(jī)解決實(shí)際問題的基本過程如下圖所示。程序設(shè)計(jì)步驟如下:(1)分析要解決的問題,明確任務(wù)(2)分析問題,建立數(shù)學(xué)模型,并選擇合適的解決方案(3)確定數(shù)據(jù)結(jié)構(gòu)和算法:數(shù)據(jù)結(jié)構(gòu)+算法=程序(4)編寫程序(5)調(diào)試程序(6)整理資料,交付使用分析問題確定解決方案確定具體算法編寫程序調(diào)試程序整理文檔5.1.3程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)語(yǔ)言可分成機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言。前兩類依賴于計(jì)算機(jī)硬件,因機(jī)器而異又稱為低級(jí)語(yǔ)言,而高級(jí)語(yǔ)言與計(jì)算機(jī)硬件基本無關(guān),是目前使用非常廣泛的程序設(shè)計(jì)語(yǔ)言。

1.機(jī)器語(yǔ)言機(jī)器語(yǔ)言是一種用二進(jìn)制數(shù)“0”和“1”表示計(jì)算機(jī)各種操作的程序設(shè)計(jì)語(yǔ)言。一條機(jī)器指令能夠控制計(jì)算機(jī)執(zhí)行一種操作。計(jì)算機(jī)能夠直接理解和執(zhí)行使用機(jī)器語(yǔ)言編寫的程序,執(zhí)行速度快,占用內(nèi)存少;但難于記憶,編程困難,可讀性差,容易出錯(cuò)。機(jī)器語(yǔ)言是面向機(jī)器的語(yǔ)言,可移植性極差。5.1.3程序設(shè)計(jì)語(yǔ)言

2.匯編語(yǔ)言

匯編語(yǔ)言是一種用助記符來表示各個(gè)基本操作的程序設(shè)計(jì)語(yǔ)言。如用ADD表示加法操作,SUB表示減法操作等。匯編語(yǔ)言的出現(xiàn),大大減少了程序編寫、閱讀、修改、維護(hù)等方面的工作量,但匯編語(yǔ)言也是一種面向機(jī)器的語(yǔ)言,計(jì)算機(jī)不能直接執(zhí)行,通用性和可移植性差,必須經(jīng)過匯編程序翻譯成機(jī)器語(yǔ)言程序后才能在計(jì)算機(jī)上執(zhí)行,需要程序員對(duì)計(jì)算機(jī)內(nèi)部結(jié)構(gòu)非常了解。

xor

ah,ah ;(ah)=0

int13h ;13H中斷調(diào)用

movah,80h

jmp0000:7c00 ;跳轉(zhuǎn)5.1.3程序設(shè)計(jì)語(yǔ)言返回本節(jié)目錄

3.高級(jí)語(yǔ)言高級(jí)語(yǔ)言是一種用接近自然語(yǔ)言和數(shù)學(xué)語(yǔ)言的語(yǔ)法、符號(hào)描述基本操作的程序設(shè)計(jì)語(yǔ)言。高級(jí)語(yǔ)言編寫的程序不依賴于具體的機(jī)器,程序員編程時(shí)無需關(guān)心計(jì)算機(jī)內(nèi)部的細(xì)節(jié),從而大大提高了編程效率。計(jì)算機(jī)不能直接執(zhí)行使用高級(jí)語(yǔ)言編寫的程序,需用專門的翻譯程序?qū)⑵滢D(zhuǎn)換成機(jī)器語(yǔ)言程序后才能執(zhí)行。目前,使用較廣泛的高級(jí)語(yǔ)言有C、C++、VisualBasic、VisualC++、PowerBuilder、Java、Delphi、ASP、JSP、PHP、VisualFoxpro等。5.2面向過程程序設(shè)計(jì)返回本章目錄5.2.1概述5.2.2基于C語(yǔ)言的面向過程程序設(shè)計(jì)

5.2.1概述面向過程程序設(shè)計(jì)有三種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu),又稱“結(jié)構(gòu)化程序設(shè)計(jì)”。程序一般由一個(gè)主程序(或主函數(shù))和若干個(gè)子程序(或函數(shù))組成。它把數(shù)據(jù)和過程分離成兩個(gè)相互獨(dú)立的實(shí)體,程序員必須時(shí)刻注意所處理的數(shù)據(jù),對(duì)不同數(shù)據(jù)作相同處理或?qū)ο嗤瑪?shù)據(jù)作不同處理,都要重新編程,程序的可重用性不好。面向過程程序設(shè)計(jì)中過程的實(shí)現(xiàn)取決于數(shù)據(jù)結(jié)構(gòu)。如果一個(gè)數(shù)據(jù)結(jié)構(gòu)發(fā)生變化,將導(dǎo)致許多函數(shù)和過程重寫。有時(shí)幾個(gè)關(guān)鍵的數(shù)據(jù)結(jié)構(gòu)發(fā)生變化,將導(dǎo)致整個(gè)軟件系統(tǒng)的結(jié)構(gòu)崩潰。5.2.2基于C語(yǔ)言的面向過程程序設(shè)計(jì)

C語(yǔ)言是國(guó)際上廣泛流行的程序設(shè)計(jì)語(yǔ)言,適合作為系統(tǒng)描述語(yǔ)言,既可用來寫系統(tǒng)軟件,也可用來寫應(yīng)用軟件。特點(diǎn)如下:(1)是一種高級(jí)語(yǔ)言,但它又提供了低級(jí)語(yǔ)言的功能。(2)提供豐富的數(shù)據(jù)類型,可以實(shí)現(xiàn)各種數(shù)據(jù)結(jié)構(gòu)。(3)提供了豐富的運(yùn)算符,表達(dá)式類型多樣化。(4)是結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言。(5)生成的目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。(6)可移植性好,可以用于各種類型的計(jì)算機(jī)和操作系統(tǒng)中。(7)有預(yù)處理功能,提高了程序的可讀性和可移植性。(8)語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大。

返回本節(jié)目錄5.3面向?qū)ο蟪绦蛟O(shè)計(jì)返回本章目錄5.3.1概述5.3.2基于C++的面向?qū)ο蟪绦蛟O(shè)計(jì)5.3.3基于Java的面向?qū)ο蟪绦蛟O(shè)計(jì)5.3.1概述傳統(tǒng)程序設(shè)計(jì)方法的程序缺乏可交換性,程序效率低,可靠性差,程序維護(hù)困難。面向?qū)ο蟪绦蛟O(shè)計(jì)是一種通過模仿人類思維方式(包括概括、分類、抽象、歸納等)來建立現(xiàn)實(shí)世界模型的方法,是嶄新的程序設(shè)計(jì)思想體系。它通過數(shù)據(jù)抽象,將許多對(duì)象中共性的數(shù)據(jù)和操作這些數(shù)據(jù)所需要的算法抽取出來。它將數(shù)據(jù)及數(shù)據(jù)的操作封裝在一起,作為一個(gè)相互依存、不可分割的整體來處理,并采用信息隱藏技術(shù),將對(duì)象及對(duì)象的操作抽象成一種新的數(shù)據(jù)類型——“類”,并考慮不同對(duì)象之間的聯(lián)系和類的重用性。在面向?qū)ο蟪绦蛟O(shè)計(jì)中,首要的任務(wù)就是確定所需要的類,每個(gè)類應(yīng)設(shè)置足夠的操作,并利用繼承機(jī)制共享其相同的特性。面向?qū)ο蟪绦蛟O(shè)計(jì)的最大優(yōu)點(diǎn)是允許“繼承”,即在某個(gè)類的基礎(chǔ)上可以派生出新類。5.3.2基于C++的面向?qū)ο蟪绦蛟O(shè)計(jì)

C++繼承了C語(yǔ)言的全部?jī)?nèi)容,并在C語(yǔ)言的基礎(chǔ)上增加了面向?qū)ο蟪绦蛟O(shè)計(jì)的內(nèi)容。C++既支持傳統(tǒng)的面向過程程序設(shè)計(jì),又支持新型的面向?qū)ο蟪绦蛟O(shè)計(jì)。因此,C++成為面向?qū)ο蟪绦蛟O(shè)計(jì)的主流語(yǔ)言。

5.3.3基于Java的面向?qū)ο蟪绦蛟O(shè)計(jì)返回本節(jié)目錄

Java是一種廣泛使用的網(wǎng)絡(luò)編程語(yǔ)言,簡(jiǎn)單,面向?qū)ο?,解釋?zhí)行不依賴于機(jī)器的結(jié)構(gòu),具有可移植性、安全性,并且提供了并發(fā)機(jī)制,是多線程的。Java語(yǔ)言的特性使它可以最大限度地利用網(wǎng)絡(luò),Java的小應(yīng)用程序(Applet)是動(dòng)態(tài)、安全、跨平臺(tái)的網(wǎng)絡(luò)應(yīng)用程序,可在網(wǎng)絡(luò)上傳輸而不受CPU和環(huán)境的限制。JavaApplet嵌入HTML語(yǔ)言,通過主頁(yè)發(fā)布到Internet。

5.4可視化程序設(shè)計(jì)5.4.1概述5.4.2基于VisualBasic的可視化程序設(shè)計(jì)

返回本章目錄5.4.1概述可視化程序設(shè)計(jì)簡(jiǎn)單說就是“所見即所得”,即在設(shè)計(jì)時(shí),根據(jù)頭腦中所想象的應(yīng)用程序界面,通過鼠標(biāo)以“手繪”的方式在屏幕上“畫”出程序界面,而不是編制大量的代碼然后再編譯生成界面,底層的一些程序代碼可以由開發(fā)平臺(tái)自動(dòng)生成??梢暬绦蛟O(shè)計(jì)一般為用戶提供大量的界面元素或稱為控件對(duì)象。用戶只要利用鼠標(biāo)把這些控件對(duì)象拖動(dòng)到適當(dāng)位置,然后設(shè)置它們的大小、形狀、屬性等,就可以設(shè)計(jì)出自己所想要的應(yīng)用程序界面。5.4.2基于VisualBasic的可視化程序設(shè)計(jì)

VisualBasic是由微軟公司于1991年推出的可視化程序設(shè)計(jì)語(yǔ)言。“VisualBasic”的意思就是“可視化的BASIC語(yǔ)言”,它是對(duì)BASIC語(yǔ)言的擴(kuò)充,既保留了BASIC語(yǔ)言易學(xué)易用的優(yōu)點(diǎn),又充分利用Windows提供的圖形環(huán)境,提供了一套嶄新的可視化設(shè)計(jì)工具,采用面向?qū)ο蟮氖录?qū)動(dòng)編程機(jī)制,大大簡(jiǎn)化了Windows程序

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論