(A)-面向過(guò)程-面向?qū)ο骭第1頁(yè)
(A)-面向過(guò)程-面向?qū)ο骭第2頁(yè)
(A)-面向過(guò)程-面向?qū)ο骭第3頁(yè)
(A)-面向過(guò)程-面向?qū)ο骭第4頁(yè)
(A)-面向過(guò)程-面向?qū)ο骭第5頁(yè)
資源描述:

《(A)-面向過(guò)程-面向?qū)ο蟆酚蓵?huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

面向?qū)ο蟪绦蛟O(shè)計(jì)武漢理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 主要內(nèi)容程序設(shè)計(jì)方法結(jié)構(gòu)化程序設(shè)計(jì)方法與面向?qū)ο蟪绦蛟O(shè)計(jì)方法各自特點(diǎn)、區(qū)別和相互聯(lián)系面向?qū)ο蟮幕靖拍铑?lèi)、對(duì)象、封裝、消息、繼承、多態(tài)面向?qū)ο蠓治雠c設(shè)計(jì)(OOA、OOD)面向?qū)ο蟪绦蛟O(shè)計(jì)和C++語(yǔ)言第一章從過(guò)程抽象到數(shù)據(jù)抽象 第一章從過(guò)程抽象到數(shù)據(jù)抽象1.1從:面向過(guò)程的程序設(shè)計(jì)到:面向?qū)ο蟮某绦蛟O(shè)計(jì) 程序設(shè)計(jì)方法的發(fā)展程序設(shè)計(jì)=算法+數(shù)據(jù)結(jié)構(gòu)+程序設(shè)計(jì)方法+語(yǔ)言工具和環(huán)境隨著計(jì)算機(jī)軟、硬件技術(shù)的不斷發(fā)展,程序設(shè)計(jì)方法得到不斷發(fā)展,出現(xiàn)了許許多多的程序設(shè)計(jì)語(yǔ)言,程序設(shè)計(jì)方法經(jīng)歷一個(gè)由低級(jí)到高級(jí),由復(fù)雜到簡(jiǎn)單的過(guò)程。目前,主要有兩種程序設(shè)計(jì)方法:面向過(guò)程程序設(shè)計(jì)面向?qū)ο蟪绦蛟O(shè)計(jì) 使用傳統(tǒng)程序設(shè)計(jì)語(yǔ)言(如:C、FORTRAN)進(jìn)行程序設(shè)計(jì)時(shí),必須詳細(xì)、準(zhǔn)確地描述解題過(guò)程。因?yàn)槌绦蛟O(shè)計(jì)工作主要圍繞設(shè)計(jì)解題過(guò)程來(lái)進(jìn)行,所以傳統(tǒng)的程序設(shè)計(jì)方法稱(chēng)為面向過(guò)程的程序設(shè)計(jì)。面向過(guò)程的程序設(shè)計(jì)對(duì)應(yīng)于面向過(guò)程開(kāi)發(fā)模式。1.1.1面向過(guò)程程序設(shè)計(jì) 初始化讀入計(jì)算寫(xiě)出結(jié)束過(guò)程性系統(tǒng)1.面向過(guò)程開(kāi)發(fā)模式1)面向過(guò)程開(kāi)發(fā)模式的概念:面向過(guò)程開(kāi)發(fā)模式產(chǎn)生過(guò)程抽象。過(guò)程抽象的基礎(chǔ)是把軟件視為處理流,并把處理流定義成由一系列步驟構(gòu)成的算法。每一步驟都是帶有預(yù)定輸入和特定輸出的一個(gè)過(guò)程,把這些步驟串聯(lián)在一起可產(chǎn)生貫通于整個(gè)程序的控制流,最終產(chǎn)生一個(gè)具有靜態(tài)結(jié)構(gòu)的體系結(jié)構(gòu)。S1s2s3s4s5 2)面向過(guò)程開(kāi)發(fā)模式的特點(diǎn):過(guò)程性開(kāi)發(fā)模式側(cè)重構(gòu)建解決問(wèn)題的處理流。數(shù)據(jù)抽象(數(shù)據(jù)結(jié)構(gòu))根據(jù)算法步驟的要求開(kāi)發(fā),它貫穿于過(guò)程,提供過(guò)程所要求操作的信息。系統(tǒng)的狀態(tài)是一組全局變量,這組全局變量保存系統(tǒng)的狀態(tài)的值,把它們從一個(gè)過(guò)程傳送到另一個(gè)過(guò)程。算法設(shè)計(jì)數(shù)據(jù)抽象 【7.1.1集合的實(shí)現(xiàn)與使用】設(shè)有如下的要求:向整數(shù)集合的某一子集添加若干元素,從該集合中刪除某些元素,判斷指定元素是否在該集合中。1.分析與實(shí)現(xiàn)(1)數(shù)據(jù)聲明:在程序中用整數(shù)數(shù)組set表示整數(shù)集合:集合(數(shù)組)最多含MAXLENGTH個(gè)元素,集合當(dāng)前有count個(gè)元素。數(shù)據(jù)定義如下:intset[MAXLENGTH];unsignedcount;(2)數(shù)據(jù)處理:程序中抽象出集合上的三個(gè)操作:添加(Add)刪除(Remove)判斷(Isin)接著設(shè)計(jì)每個(gè)操作的算法-自頂向下、逐步求精面向過(guò)程程序設(shè)計(jì)示例3)面向過(guò)程設(shè)計(jì)程序的實(shí)例 (1)voidAdd(intelem,int*pset,unsigned&count)這個(gè)函數(shù)的功能是:添加新元素elem到集合pset。若元素elem不在集合pset中,elem加到pset尾部,集合的元素個(gè)數(shù)count加1;否則,元素elem已在pset中,結(jié)束。函數(shù)定義如下:voidAdd(intelem,int*pset,unsigned&count){if(countusingnamespacestd;#defineMAXLENGTH100voidAdd(intelem,int*pset,unsigned&count);voidRemove(intelem,int*pset,unsigned&count);intIsin(intelem,int*pset,unsignedcount);intmain(){intset[MAXLENGTH];//集合unsignedcount=0;//集合中當(dāng)前元素個(gè)數(shù)intelement,choice;while(1){cout<<"操作選擇:"<>choice;面向過(guò)程程序設(shè)計(jì)示例 switch(choice){case1:cout<<"輸入待添加元素:";cin>>element;Add(element,set,count);break;case2:cout<<"輸入待刪除元素:";cin>>element;Remove(element,set,count);break;case3:cout<<"輸入待判斷元素:";cin>>element;if(Isin(element,set,count))cout<<"元素"<

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。
大家都在看
近期熱門(mén)