• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            road420

            導航

            <2008年10月>
            2829301234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678

            統(tǒng)計

            常用鏈接

            留言簿(2)

            隨筆檔案

            文章檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            五種程序設計方法

            五種程序設計方法

            1.        結構化程序設計

            為了提高程序的可讀性、可重用性等,逐漸出現(xiàn)了將程序開發(fā)中經(jīng)常用到的相同的功能,比如數(shù)學函數(shù)運算、字符串操作等,獨立出來編寫成函數(shù),然后按照相互關系或應用領域匯集在相同的文件里,這些文件構成了函數(shù)庫

            函數(shù)庫是一種對信息的封裝,將常用的函數(shù)封裝起來,人們不必知道如何實現(xiàn)它們。只需要了解如何調(diào)用它們即可。函數(shù)庫可以被多個應用程序共享,在具體編程環(huán)境中,一般都有一個頭文件相伴,在這個頭文件中以標準的方式定義了庫中每個函數(shù)的接口,根據(jù)這些接口形式可以在程序中的任何地方調(diào)用所需的函數(shù)。

            由于函數(shù)、庫、模塊等一系列概念和技術的出現(xiàn),程序設計逐漸變成如圖所示的風格。程序被分解成一個個函數(shù)模塊,其中既有系統(tǒng)函數(shù),也有用戶定義的函數(shù)。通過對函數(shù)的調(diào)用,程序的運行逐步被展開。閱讀程序時,由于每一塊的功能相對獨立,因此對程序結構的理解相對容易,在一定程度上緩解了程序代碼可讀性和可重用件的矛盾,但并未徹底解決矛盾。隨著計算機程序的規(guī)模越來越大,這個問題變得更加尖銳,于是出現(xiàn)了另一種編程風格——結構化程序設計

            在結構化程序設計中,任何程序段的編寫都基于3種結構:分支結構、循環(huán)結構和順序結構。程序具有明顯的模塊化特征,每個程序模塊具有惟一的出口和入口語句。結構化程序的結構簡單清晰,模塊化強,描述方式貼近人們習慣的推理式思維方式。因此可讀性強,在軟件重用性、軟件維護等方面都有所進步,在大型軟件開發(fā)尤其是大型科學與工程運算軟件的開發(fā)中發(fā)揮了重要作用。因此到目前為止,仍有許多應用程序的開發(fā)采用結構化程序設計技術和方法。即使在目前流行的面向?qū)ο筌浖_發(fā)中也不能完全脫離結構化程序設計。

             

            2.        面向?qū)ο蟪绦蛟O計

            面向?qū)ο蟮某绦蛞塾嫹椒ㄊ浅绦蛟O計的一種新方法。所有面向?qū)ο蟮某绦蛟O計語言一般都含有三個方面的語法機制,即對象和類、多態(tài)性、繼承性。

            1.對象和類

            對象的概念、原理和方法是面向?qū)ο蟮睦硇蛟O計語言暈重要的特征。對象是用戶定義的類型(稱為類)的變量。一個對象是既包含數(shù)據(jù)又包合操作該數(shù)據(jù)的代碼(函數(shù))的邏輯實體。對象中的這些數(shù)據(jù)和函數(shù)稱為對象的成員,即成員數(shù)據(jù)和成員函數(shù)。對象中的成員分為公有的和私有的。公有成員是對象與外界的接口界面。外界只能通過調(diào)用訪問一個對象的公有成員來實現(xiàn)該對象的功能。私有成員體現(xiàn)一個對象的組織形式和功能的實現(xiàn)細節(jié)。外界無法對私有成員進行操作。類對象按照規(guī)范進行操作,將描述客觀事物的數(shù)據(jù)表達及對數(shù)據(jù)的操作處理封裝在一起,成功地實現(xiàn)了面向?qū)ο蟮某绦蛟O計。當用戶定義了一個類類型后,就可以在該類型的名下定義變量(即對象)了。類是結構體類型的擴充。結構體中引入成員函數(shù)并規(guī)定了其訪問和繼承原則后便成了類。

            2.多態(tài)性

            面向?qū)ο蟮某绦蛟O計語言支持多態(tài)性,把一個接口用于一類活動。即一個接口多種算法。具體實施時該選擇哪一個算法是由特定的語法機制確定的。C++編譯時和運行時都支持多態(tài)性。編譯時的多態(tài)性體現(xiàn)在重載函數(shù)和重載運算符等方面。運行時的多態(tài)性體現(xiàn)在繼承關系及虛函數(shù)等方面。

            3.繼承性

            C++程序中,由一個類(稱為基類)可以派生出新類(稱為派生類)。這種派生的語法機制使得新類的出現(xiàn)輕松自然,使得一個復雜事物可以被順理成章地歸結為由逐層派生的對象描述。派生使得程序中定義的類呈層次結構。處于子層的對參既具有其父層對象的共性.又具有自身的特性。繼承性是一個類對象獲得其基類對象特性的過程。C++中嚴格地規(guī)定了派生類對其基類的繼承原則和訪問權限,使得程序中對數(shù)據(jù)和函數(shù)的訪間,需在家族和朋友間嚴格區(qū)分。

             

            3.        事件驅(qū)動的程序設計

            事件驅(qū)動的程序設計實際上是面向?qū)ο蟪绦蛟O計的一個應用,但它目前僅適用于windows系列操作系統(tǒng)windows環(huán)境中的應用程序與MSDOS環(huán)境中的應用程序運行機制不同、設計程序的方式也不一樣。windows程序采用事件驅(qū)動機制運行,這種事件驅(qū)動程序由事件的發(fā)生與否來控制,系統(tǒng)中每個對象狀態(tài)副改變都是事件發(fā)生的原由或結果,設計程序時需以一種非順序方式處理事件,與順序的、過程驅(qū)動的傳統(tǒng)程序設計方法迥異

            事件也稱消息,含義比較廣泛,常見的事件有鼠標事件(如民標移動、單擊、掠過窗口邊界)、鍵盤事件(如按鍵的壓下與拾起)等多種。應用程序運行經(jīng)過一系列必要的初始化后,將進入等待狀態(tài),等待有事件發(fā)生,一旦事件出現(xiàn),程序就被激活并進行相應處理。

            事件驅(qū)動程序設計是圍繞著消息的產(chǎn)生與處理進行的.消息可來自程序中的某個對象,也可由用戶、wlndow s或運行著的其他應用程序產(chǎn)生。每當事件發(fā)生時,Windows俘獲有關事件,然后將消息分別轉(zhuǎn)發(fā)到相關應用程序中的有關對象,需要對消息作出反應的對象應該提供消息處理函數(shù),通過這個消息處理函數(shù)實現(xiàn)對象的一種功能或行為。所以編寫事件驅(qū)動程序的大部分工作是為各個對象()添加各種消息的處理函數(shù)。由于一個對象可以是消息的接收者,同時也可能是消息的發(fā)送者,所發(fā)送的消息與接收到的消息也可以是相同的消息,而有些消息的發(fā)出時間是無法預知的(比如關于鍵盤的消息),因此應用程序的執(zhí)行順序是無法預知的。

            4.        邏輯式對象程序設計

            邏輯式程序設計的概念來自邏輯式程序設計語言Prolog這一曾經(jīng)在計算機領域引起震動的日本第五代計算機的基本系統(tǒng)語言,在這種第五代計算機中,Prolog的地位相當于當前計算機中的機器語言。

            Prolog主要應用在人工智能領域,在自然語言處理、數(shù)據(jù)庫查詢、算法描述等方面都有應用,尤其適于作為專家系統(tǒng)的開發(fā)工具。

            Prolog是一種陳述式語言,它不是一種嚴格的通用程序設計語言,使用Prolog編寫程序不需要描述具體的解題過程、只需結出一些必要的事實和規(guī)則,這些規(guī)則是解決問題方法的規(guī)范說明,根據(jù)這些規(guī)則和事實.計算機利用渭詞邏輯,通過演繹推理得到求解問題的執(zhí)行序列。

            5.        并行程序設計

            一個有實際應用的并行算法,最終總要在并行機上實現(xiàn),為此首先就要將并行算法轉(zhuǎn)化為并行程序,此過程就是所謂的并行程序設計(Parallel Program)。它要求算法設計者、系統(tǒng)結構師和軟件工作者廣泛頻繁的交互。因為設計并行程序涉及到的知識面較廣,主要包括操作系統(tǒng)中的有關知識和優(yōu)化編譯方面的知識。操作系統(tǒng)內(nèi)容非常豐富,并行程序中最基本的計算要素如任務、進程、線程等基本概念、同步機制和通信操作等。

            目前并行程序設計的狀況是:并行軟件的發(fā)展落后于并行硬件;和串行系統(tǒng)與應用軟件相比,現(xiàn)今的并行系統(tǒng)與應用軟件甚少且不成熟;并行軟件的缺乏是發(fā)展并行計算的主要障礙;不幸的是,這種狀態(tài)似乎仍在繼續(xù)著。究其原因是并行程序設計遠比串行程序設計復雜:并行程序設計不但包含了串行程序設計,面且還包含了更多的富有挑戰(zhàn)性的問題;串行程序設計僅有一個普遍被接受的馮·諾依曼計算模型,而并行計算模型雖有好多,但沒有一個可被共同認可的像馮·諾依曼那樣的優(yōu)秀模型;并行程序設計對環(huán)境工具(如編譯、查錯等)的要求遠比串行程序設計先進得多;串行程序設計比較適合于自然習慣,且人們在過去積累了大量的編程知識、經(jīng)驗和寶貴的軟件財富。

            posted on 2010-09-16 14:45 深邃者 閱讀(292) 評論(0)  編輯 收藏 引用

            91精品国产综合久久婷婷| 国产日产久久高清欧美一区| 久久有码中文字幕| 久久久久久久波多野结衣高潮 | 2021国内精品久久久久久影院| 久久综合九色综合久99| 亚洲人成伊人成综合网久久久| AV色综合久久天堂AV色综合在| 久久九九久精品国产| 亚洲va中文字幕无码久久| 日本久久久精品中文字幕| 久久91精品国产91| 99久久精品无码一区二区毛片 | 久久久久亚洲精品无码网址| 亚洲va中文字幕无码久久| 久久久久女教师免费一区| 97久久天天综合色天天综合色hd| 一级做a爰片久久毛片免费陪| 国内精品久久国产大陆| 无码专区久久综合久中文字幕| 久久久久亚洲AV无码专区桃色| 99久久99久久久精品齐齐| 久久精品亚洲AV久久久无码| 久久99精品久久久久久齐齐| 久久久久久免费一区二区三区| 久久国产精品无码一区二区三区 | 国产亚洲精久久久久久无码| 久久人人超碰精品CAOPOREN| 狠狠色婷婷综合天天久久丁香 | 精品久久久久久无码人妻蜜桃| AV无码久久久久不卡蜜桃| 久久久久国产精品熟女影院| 狠狠色综合网站久久久久久久高清| 久久精品无码一区二区三区日韩| 亚洲国产精久久久久久久| 日本福利片国产午夜久久| 人人狠狠综合久久亚洲88| 精品欧美一区二区三区久久久| 久久综合综合久久97色| AAA级久久久精品无码区| 国产精品99久久精品爆乳|