第6章-詳細(xì)設(shè)計(jì)-1_第1頁
第6章-詳細(xì)設(shè)計(jì)-1_第2頁
第6章-詳細(xì)設(shè)計(jì)-1_第3頁
第6章-詳細(xì)設(shè)計(jì)-1_第4頁
第6章-詳細(xì)設(shè)計(jì)-1_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

回顧:軟件設(shè)計(jì)的步驟通常,設(shè)計(jì)階段的工作分成兩步總體設(shè)計(jì)——著重解決程序模塊的設(shè)計(jì)問題和全局?jǐn)?shù)據(jù)設(shè)計(jì)問題考慮如何把軟件系統(tǒng)劃分成若干個(gè)模塊決定各模塊的接口,即模塊間的相互關(guān)系模塊之間傳遞的信息詳細(xì)設(shè)計(jì)(也稱為程序設(shè)計(jì))——決定每個(gè)模塊內(nèi)部的具體算法,用戶界面設(shè)計(jì)。設(shè)計(jì)完成以后,要進(jìn)行必要的階段評審,使設(shè)計(jì)中發(fā)生的問題能夠及時(shí)發(fā)現(xiàn)并得到解決,而不致將其帶到開發(fā)的后期,造成更大的危害2/3/20230DFD=外部實(shí)體+加工+數(shù)據(jù)存儲+數(shù)據(jù)流;設(shè)計(jì):DFD轉(zhuǎn)換外部實(shí)體角色、外部軟件/硬件系統(tǒng);加工SC中的“模塊”數(shù)據(jù)存儲數(shù)據(jù)庫、文件數(shù)據(jù)流接口數(shù)據(jù)設(shè)計(jì)回顧:結(jié)構(gòu)化設(shè)計(jì)2/3/20231加工SC中的“模塊”教材購銷系統(tǒng)

銷售采購

取書打印發(fā)票購書申請開交款單缺書登記通知到書售書統(tǒng)計(jì)缺書匯總

郵購處理進(jìn)書登記頂層DFD圖0層DFD圖2/3/20232軟件工程

第六章詳細(xì)設(shè)計(jì)2/3/20233本章學(xué)習(xí)目標(biāo)掌握詳細(xì)設(shè)計(jì)的過程了解界面設(shè)計(jì)的原則掌握詳細(xì)設(shè)計(jì)的工具流程圖盒圖PAD圖PDL了解McCode程序復(fù)雜度度量方法2/3/20234本章要點(diǎn)一、詳細(xì)設(shè)計(jì)的概述

二、人機(jī)界面設(shè)計(jì)三、結(jié)構(gòu)程序設(shè)計(jì)四、過程設(shè)計(jì)工具五、案例講解六、程序復(fù)雜度度量2/3/20235詳細(xì)設(shè)計(jì)概述總體設(shè)計(jì)與詳細(xì)設(shè)計(jì)的差異軟件設(shè)計(jì)的輸入是《需求分析規(guī)格說明書》,輸出是《總體設(shè)計(jì)說明書》和《詳細(xì)設(shè)計(jì)說明書》??傮w設(shè)計(jì)的主要目的,是按某種設(shè)計(jì)方法,將軟件系統(tǒng)分解為多個(gè)子系統(tǒng),再將子系統(tǒng)分解為多個(gè)模塊或部件,并將系統(tǒng)所有的功能合理地分配到模塊或部件中去。

詳細(xì)設(shè)計(jì)是面向程序員的,它的主要目的,是按某種設(shè)計(jì)方法,將軟件系統(tǒng)的模塊或部件,進(jìn)行編程實(shí)現(xiàn)設(shè)計(jì),用以指導(dǎo)程序人員編寫代碼,形成模塊或部件的實(shí)現(xiàn)藍(lán)圖。

2/3/20236詳細(xì)設(shè)計(jì)概述詳細(xì)設(shè)計(jì)階段的目的與任務(wù)詳細(xì)設(shè)計(jì)的目的:為軟件結(jié)構(gòu)圖(SC)中的每一個(gè)模塊確定采用的算法和模塊內(nèi)數(shù)據(jù)結(jié)構(gòu),用某種選定的表達(dá)工具給出清晰的描述。詳細(xì)設(shè)計(jì)階段的主要任務(wù)為每一模塊確定算法確定每一模塊使用的數(shù)據(jù)結(jié)構(gòu)確定模塊的外部接口和用戶界面為每一模塊設(shè)計(jì)一組測試用例為每一模塊設(shè)計(jì)一組測試用例2/3/20237詳細(xì)設(shè)計(jì)概述詳細(xì)設(shè)計(jì)并不是具體地編程序,而是已經(jīng)細(xì)化成很容易從中產(chǎn)生程序的圖紙。即詳細(xì)設(shè)計(jì)是設(shè)計(jì)出程序的“藍(lán)圖”。在編碼階段程序員可以把這個(gè)“藍(lán)圖”(描述)直接翻譯成用某種程序設(shè)計(jì)語言書寫的程序。因此詳細(xì)設(shè)計(jì)的結(jié)果基本決定了最終程序的質(zhì)量。

考慮程序代碼的質(zhì)量時(shí)必須注意,程序的“讀者”有兩個(gè),那就是計(jì)算機(jī)和人。

2/3/20238詳細(xì)設(shè)計(jì)概述模塊的算法設(shè)計(jì)應(yīng)當(dāng)詳細(xì)到什么程度?由于現(xiàn)代的軟件開發(fā)工具越來越先進(jìn),模塊的詳細(xì)設(shè)計(jì)和編程可以很好地融合一起,而且效率相當(dāng)高,有些開發(fā)工具甚至具有代碼自動生成的功能。所以模塊設(shè)計(jì)究竟要詳細(xì)到什么地步,應(yīng)當(dāng)視問題復(fù)雜性以及所采用的開發(fā)工具而定。一般地,只要確定了每個(gè)模塊的主要接口、數(shù)據(jù)結(jié)構(gòu)與算法,能夠清楚地指導(dǎo)模塊編程即可??傊?,不必花太多時(shí)間用于設(shè)計(jì)模塊的細(xì)節(jié)。2/3/20239詳細(xì)設(shè)計(jì)概述詳細(xì)設(shè)計(jì)的過程根據(jù)概要設(shè)計(jì)的結(jié)果對各個(gè)模塊內(nèi)部實(shí)現(xiàn)進(jìn)行規(guī)劃(包括算法、局部數(shù)據(jù)結(jié)構(gòu))。根據(jù)設(shè)計(jì)結(jié)果產(chǎn)生詳細(xì)設(shè)計(jì)文檔。評審:對處理過程的算法和數(shù)據(jù)庫的物理結(jié)構(gòu)都要評審。2/3/202310本章要點(diǎn)一、詳細(xì)設(shè)計(jì)的概述

二、人機(jī)界面設(shè)計(jì)三、結(jié)構(gòu)程序設(shè)計(jì)四、過程設(shè)計(jì)工具五、案例講解六、程序復(fù)雜度度量2/3/202311提問什么時(shí)候開始設(shè)計(jì)界面?誰參加設(shè)計(jì)?如何根據(jù)總體設(shè)計(jì)結(jié)果來設(shè)計(jì)界面?2/3/202312人機(jī)界面設(shè)計(jì)人機(jī)界面的設(shè)計(jì)質(zhì)量,直接影響用戶對軟件產(chǎn)品的評價(jià),從而影響軟件產(chǎn)品的競爭力和壽命,因此,必須對人機(jī)界面設(shè)計(jì)給予足夠重視。近年來,人機(jī)界面在系統(tǒng)中所占的比例越來越大,在個(gè)別系統(tǒng)中人機(jī)界面的設(shè)計(jì)工作量甚至占總設(shè)計(jì)量的一半以上。重要?。?!2/3/202313用戶界面在軟件體系結(jié)構(gòu)中的位置數(shù)據(jù)服務(wù)模塊用戶界面模塊商業(yè)服務(wù)模塊數(shù)據(jù)庫人機(jī)界面設(shè)計(jì)2/3/202314用戶界面的基本類型

從用戶角度出發(fā),用戶界面設(shè)計(jì)的類型主要有問題描述語言,數(shù)據(jù)表格、圖形與圖標(biāo)、菜單、對話框及窗口等。每一種類型都有不同的特點(diǎn)和性能。討論以下類型:菜單、圖象、對話框和窗口。人機(jī)界面設(shè)計(jì)2/3/2023151、菜單(menu)

按照顯示方式正文菜單、圖標(biāo)菜單、正文和圖標(biāo)混合菜單,如“開始”菜單。按屏幕位置和操作風(fēng)格固定位置、浮動位置(彈出)、下拉式、嵌入式混合菜單固定及下拉菜單固定菜單下拉菜單人機(jī)界面設(shè)計(jì)用戶界面的基本類型2/3/2023162、圖像在用戶界面中,加入豐富多彩的畫面,將能夠更加形象地為用戶提供有用的信息,以達(dá)到可視化的目的。主要的處理操作有:圖像的隱蔽和再現(xiàn)、屏幕滾動和圖案顯示、動畫等。用戶界面的基本類型人機(jī)界面設(shè)計(jì)2/3/2023173、對話框?qū)υ捒蚴窃谛枰獣r(shí),顯示在屏幕上一個(gè)矩形區(qū)域內(nèi)的圖形和正文信息。通過對話,實(shí)現(xiàn)系統(tǒng)和用戶之間的通信。對話框顯示的方式與彈出式菜單類似,即瞬時(shí)彈出。同時(shí),系統(tǒng)還應(yīng)將對話框所覆蓋的原圖像進(jìn)行保存,以便在對話結(jié)束后能立即恢復(fù)。有三種對話形式:必須回答式無需回答式警告式必須回答式對話框

無需回答式對話框

警告式對話框用戶界面的基本類型人機(jī)界面設(shè)計(jì)2/3/2023184、窗口(window)圖形學(xué)中稱為視圖區(qū)(Viewport),視為虛擬屏幕。一個(gè)實(shí)用窗口,可包含部件:

菜單區(qū)(menubar)圖標(biāo)區(qū)(iconbar)標(biāo)題區(qū)(titlebar)移動區(qū)(movebar)大小區(qū)(sizebar)退出區(qū)(quitbar)用戶工作區(qū)(user’sworkbar)橫向滾動區(qū)(horizontalscrollbar)縱向滾動區(qū)(verticalscrollbar)人機(jī)界面設(shè)計(jì)用戶界面的基本類型2/3/2023194、窗口(window)

下圖描述了一個(gè)包括多個(gè)部件的窗口.標(biāo)題區(qū)圖標(biāo)區(qū)大小區(qū)退出區(qū)菜單區(qū)滾動區(qū)菜單工作區(qū)2/3/202320人機(jī)界面設(shè)計(jì)什么是好的用戶界面通俗地講,用戶界面“好不好”主要看它是否“容易使用”和“美觀”。易用性是指用戶使用軟件的容易程度。現(xiàn)代人的生活節(jié)奏快,干啥事都想圖個(gè)方便。誰都不樂意掏錢買很難用的東西,所以把易用性作為用戶界面的重要屬性對待無可非議。2/3/202321用戶界面的易用性包括:可行性(使用有效果)有效性(工作效率高,避免繁瑣操作)安全性(能安全使用)易學(xué)性(易于學(xué)習(xí))易記性(使用方法便于記憶)人機(jī)界面設(shè)計(jì)2/3/202322不要把你的想法強(qiáng)加給用戶!2/3/202323人機(jī)界面設(shè)計(jì)界面設(shè)計(jì)原則1、置于用戶控制之下:對用戶操作給出恰當(dāng)?shù)姆磻?yīng),并幫助用戶完成工作。2、減少用戶的記憶負(fù)擔(dān):系統(tǒng)應(yīng)“記住”有關(guān)信息,通過默認(rèn)項(xiàng)、快捷方式或界面視覺減少用戶的記憶負(fù)擔(dān)。3、保持界面的一致性2/3/202324人機(jī)界面設(shè)計(jì)(UI設(shè)計(jì))如何設(shè)計(jì)界面?從總體結(jié)構(gòu)圖開始設(shè)計(jì)界面首先考慮用戶如何進(jìn)這些模塊。最簡單的想法是:設(shè)計(jì)一個(gè)菜單,然后從菜單分別進(jìn)入這些模塊。用戶特征分析原型設(shè)計(jì)2/3/202325用戶特征分析外行型初學(xué)型熟練型專家型人機(jī)界面設(shè)計(jì)圖書館借閱室人員的工作界面?2/3/202326原型設(shè)計(jì)人機(jī)界面設(shè)計(jì)2/3/202327多層次菜單型目前網(wǎng)站界面都屬于這類菜單模式。它的特點(diǎn)是:進(jìn)入主界面后,有一個(gè)包含多層功能調(diào)用的菜單。無論是C/S結(jié)構(gòu)的界面,還是B/S結(jié)構(gòu)的界面,這類菜單普遍適用。人機(jī)界面設(shè)計(jì)(UI設(shè)計(jì))2/3/202328多層次菜單型2/3/202329一覽無余型菜單這類菜單適合普通大眾,無須專門訓(xùn)練2/3/202330業(yè)務(wù)向?qū)瓦@類比較復(fù)雜,是主流軟件常用的設(shè)計(jì)方式2/3/202331界面設(shè)計(jì)舉例借閱證辦理界面1、確定屏幕數(shù)據(jù)元素從需求、表設(shè)計(jì)、界面設(shè)計(jì)三個(gè)方面2、確定屏幕功能區(qū)域3、制定防止出錯(cuò)策略2/3/202332字段名意義類型長度要求備注xm姓名varchar8notnull

*bh借書證編號varchar9notnull如TT0111111,TT01單位編號blrq辦理日期datetime

notnullszbj所在班級varchar16nullnl年齡integer

nullxb性別char(2)2null‘男’/‘女’根據(jù)調(diào)研資料直接設(shè)計(jì)某些表,滿足第三范式2/3/202333必須輸入,不輸入無法保存必須輸入,編號有要求,為了快捷輸入,要求號碼可以自動增加性別是固定選擇項(xiàng)目用listbox是否需要維護(hù)一個(gè)部門選擇項(xiàng)?這個(gè)CheckBox是因?yàn)閼?yīng)付有些圖書館號碼是隨機(jī)或者以另外的規(guī)則產(chǎn)生的如果借書證信息來自學(xué)籍管理系統(tǒng),可以導(dǎo)入想看看已經(jīng)輸入的借書證,可以從這里看有些圖書館,有老的系統(tǒng),搞了這個(gè)選擇,默認(rèn)不會打勾2/3/202334該界面設(shè)計(jì)有什么缺點(diǎn)?2/3/202335Web界面的設(shè)計(jì)特征:設(shè)計(jì)以功能為主形象明確,容易接受形式簡潔Web界面的設(shè)計(jì)工具:基于HTML:HTML和CSS相結(jié)合腳本語言:例如JSP,快速確認(rèn)輸入、制作簡單動畫等。使用腳本語言,一般先在HTML文檔開始時(shí)進(jìn)行聲明。

人機(jī)界面設(shè)計(jì)(UI設(shè)計(jì))2/3/202336本章要點(diǎn)一、詳細(xì)設(shè)計(jì)的概述

二、人機(jī)界面設(shè)計(jì)三、結(jié)構(gòu)程序設(shè)計(jì)四、過程設(shè)計(jì)工具五、案例講解六、程序復(fù)雜度度量2/3/202337結(jié)構(gòu)化程序設(shè)計(jì)對于過程設(shè)計(jì)采用的典型方法是結(jié)構(gòu)化程序設(shè)計(jì)(SP)方法。結(jié)構(gòu)程序設(shè)計(jì)技術(shù)可以保證了每個(gè)模塊功能的正確實(shí)現(xiàn),也讓設(shè)計(jì)出的處理過程簡明易懂。2/3/202338“結(jié)構(gòu)化”起源:對GOTO的認(rèn)識結(jié)構(gòu)化程序設(shè)計(jì)(SP)方法,最早是由E.W.Dijkstra在20世紀(jì)60年代中期提出的。1965年,他在一次會議上指出:“可以從高級語言中取消GOTO語句”,“程序的質(zhì)量與程序中所包含的GOTO語句的數(shù)量成反比”。結(jié)構(gòu)化程序設(shè)計(jì)2/3/202339舉例--三個(gè)數(shù)中找出最小數(shù)程序1if(A<B)goto120;if(B<C)goto110;100write(C);goto140;110write(B);goto140;120if(A<C)goto130;goto100;130write(A);140end程序2if(A<B)and(A<C)thenwrite(A)elseif(A≥B)and(B<C)thenwrite(B)elsewrite(C)endifendif結(jié)構(gòu)化程序設(shè)計(jì)2/3/202340“結(jié)構(gòu)化”起源:對GOTO的認(rèn)識1966年Bohm和Jacopini證明了,只用三種基本的控制結(jié)構(gòu)就能實(shí)現(xiàn)任何單入口單出口的程序。這三種基本的控制結(jié)構(gòu)是“順序”、“選擇”和“循環(huán)”。1972年IBM公司的Mills進(jìn)一步提出,程序應(yīng)該只有一個(gè)入口和一個(gè)出口,從而補(bǔ)充了結(jié)構(gòu)程序設(shè)計(jì)的規(guī)則。結(jié)構(gòu)化程序設(shè)計(jì)2/3/202341結(jié)構(gòu)程序設(shè)計(jì)定義結(jié)構(gòu)程序設(shè)計(jì)的經(jīng)典定義如下所述:“如果一個(gè)程序的代碼塊僅僅通過順序、選擇和循環(huán)這3種基本控制結(jié)構(gòu)進(jìn)行連接,并且每個(gè)代碼塊(控制結(jié)構(gòu))只有一個(gè)入口和一個(gè)出口,則稱這個(gè)程序是結(jié)構(gòu)化的?!?/p>

2/3/202342三種基本的控制結(jié)構(gòu)順序結(jié)構(gòu),先執(zhí)行A再執(zhí)行BIF_THEN_ELSE型選擇(分支)結(jié)構(gòu)DO_WHILE型循環(huán)結(jié)構(gòu):

結(jié)構(gòu)化程序設(shè)計(jì)2/3/202343為了實(shí)際使用方便起見,常常還允許使用DO_CASE型多分支結(jié)構(gòu)和DO_UNTIL型循環(huán)結(jié)構(gòu)。其他常用的控制結(jié)構(gòu)結(jié)構(gòu)化程序設(shè)計(jì)2/3/202344

這三種基本結(jié)構(gòu)就可以實(shí)現(xiàn)任何單入口單出口的程序。但為了使用方便,還允許有DO_UNTIL和DO_CASE兩種控制結(jié)構(gòu)。有時(shí)為了提前從循環(huán)中跳出,還允許有BREAK結(jié)構(gòu)。我們稱只允許使用三種基本結(jié)構(gòu)的為經(jīng)典的結(jié)構(gòu)化程序設(shè)計(jì);除三種基本結(jié)構(gòu)外,還可用DO_UNTIL和DO_CASE的為擴(kuò)展的結(jié)構(gòu)程序設(shè)計(jì);若再加上BREAK則稱為修正的結(jié)構(gòu)程序設(shè)計(jì)。結(jié)構(gòu)化程序設(shè)計(jì)2/3/202345abX1X2X7X4X3X5ifedcjTFFFTT舉例:指出所有的基本程序結(jié)構(gòu)選擇當(dāng)循環(huán)多分支直到循環(huán)2/3/202346……

for(a=1,b=1;a<=100,a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}……a<=100FTb>=20b%3==1b+=3a++b-=5TFFTa=0,b=1單入口

M1單出口舉例2/3/202347A<BA,B,CB<CA<C打印BFTFTTF打印C打印A……

If(A.LT.B)goto120If(B.LT.C)goto110100write(6,*)Cgoto140110write(6,*)Bgoto140120If(A.LT.C)goto130goto100130write(6,*)A140continue

-----單入口多出口結(jié)構(gòu)

M2舉例2/3/202348舉例例:非結(jié)構(gòu)化到結(jié)構(gòu)化2/3/202349結(jié)構(gòu)程序設(shè)計(jì)除滿足結(jié)構(gòu)程序設(shè)計(jì)原則外,下列是結(jié)構(gòu)程序設(shè)計(jì)的目標(biāo):著名的“清晰第一,效率第二”已成為當(dāng)今主導(dǎo)的程序設(shè)計(jì)風(fēng)格“先求清楚后求快”“保持程序簡單以求快”“寫清楚——不要為‘效率’犧牲清晰”2/3/202350本章要點(diǎn)一、詳細(xì)設(shè)計(jì)的概述

二、界面設(shè)計(jì)三、結(jié)構(gòu)程序設(shè)計(jì)四、過程設(shè)計(jì)工具五、案例講解六、程序復(fù)雜度度量2/3/202351過程設(shè)計(jì)的工具描述程序處理過程的工具稱為過程設(shè)計(jì)工具,它們可以分為圖形、表格、和語言3類。不論是哪類工具,對它們的基本要求都是能提供對設(shè)計(jì)的無歧義的描述。即:應(yīng)該能指明控制流程、處理功能、數(shù)據(jù)組織,以及其他方面的實(shí)現(xiàn)細(xì)節(jié),從而在編碼階段能把對設(shè)計(jì)的描述直接翻譯成程序代碼。描述工具程序流程圖N-S圖PAD圖判定表判定樹PDL偽代碼2/3/202352程序流程圖:也稱為程序框圖,它使用五種基本控制結(jié)構(gòu):過程設(shè)計(jì)的工具2/3/202353程序流程圖中常用的符號程序流程圖過程設(shè)計(jì)的工具2/3/2023541、循環(huán)符號的使用循環(huán)名進(jìn)入循環(huán)條件循環(huán)體循環(huán)名

i=1,100S=S+i

i

S=0S=S+iS=0,i=1i>100i=i+1

F

T循環(huán)體-----循環(huán)流程符號的使用過程設(shè)計(jì)的工具程序流程圖2/3/202355

判斷有一個(gè)入口,但也允許有多個(gè)可選出口A:B

A=B

A<BA>BX=?x=1x=2x=3x=4X=?=1=2=3=4=5

-----多出口判斷流程符號的使用過程設(shè)計(jì)的工具程序流程圖2/3/202356使用程序流程圖,描述并打印N的階乘舉例2/3/202357程序流程圖從20世紀(jì)40年代末到70年代中期,程序流程圖一直是軟件設(shè)計(jì)的主要工具。

優(yōu)點(diǎn):便于掌握缺點(diǎn):它不是逐步求精的好工具。程序員可以隨意轉(zhuǎn)移。程序流程圖不易表示數(shù)據(jù)結(jié)構(gòu)。2/3/202358將下面給出的偽碼轉(zhuǎn)換為流程圖 voidroot(floatroot1,floatroot2){i=1;j=0;while(i<=10){ 輸入一元二次方程的系數(shù)a,b,c; p=b*b–4*a*c; if(p<0)輸出“方程i無實(shí)數(shù)根”; elseif(p>0)求出根并輸出; if(p==0){ 求出重根并輸出; j=j+1; } i=i+1;

}輸出重根的方程的個(gè)數(shù)j;}課堂練習(xí)2/3/202359出于要有一種不允許違背結(jié)構(gòu)程序設(shè)計(jì)精神的圖形工具的考慮,Nassi和Shneiderman提出了盒圖,又稱為N-S圖。它有下述特點(diǎn):

(1)功能域(即,一個(gè)特定控制結(jié)構(gòu)的作用域)明確,可以從盒圖上一眼就看出來。

(2)不可能任意轉(zhuǎn)移控制。

(3)很容易確定局部和全程數(shù)據(jù)的作用域。

(4)很容易表現(xiàn)嵌套關(guān)系,也可以表示模塊的層次結(jié)構(gòu)。盒圖(N_S圖)過程設(shè)計(jì)的工具2/3/202360順序結(jié)構(gòu)塊1塊2塊3塊4條件TFthen塊1else塊2選擇結(jié)構(gòu)Do_while部分當(dāng)循環(huán)條件當(dāng)型循環(huán)Do_until部分直到循環(huán)條件直到型循環(huán)A調(diào)用子程序ACase條件case1塊1case2塊2多分支選擇結(jié)構(gòu)case3塊3值1值2值3過程設(shè)計(jì)的工具盒圖(N_S圖):N-S圖對五種基本控制結(jié)構(gòu),由五種圖形構(gòu)件表示。2/3/202361過程設(shè)計(jì)的工具2/3/202362舉例--將下列偽代碼轉(zhuǎn)換成盒圖S1;if(x>5)thenS2elseS3;while(y<0)S4;S5;ifu>0then{S6;while(k>5)S7;}S8;

S1FT

x>5S3S2y<0S4

S5

FT

u>0S6

k>5S7

S82/3/202363將下面給出的偽碼轉(zhuǎn)換為N-S圖。 voidroot(floatroot1,floatroot2){i=1;j=0;while(i<=10){ 輸入一元二次方程的系數(shù)a,b,c; p=b*b–4*a*c; if(p<0)輸出“方程i無實(shí)數(shù)根”; elseif(p>0)求出根并輸出; if(p==0){ 求出重根并輸出; j=j+1; } i=i+1;

}輸出重根的方程的個(gè)數(shù)j;}課堂練習(xí)2/3/202364【解答】i=1;j=0;while(i<=10)輸入a,b,c;計(jì)算p=b2

-4ac;p<0?輸出“方程i”無實(shí)根求出根并輸出p>0?p==0?求出重根并輸出;j=j+1;i=i+1;輸出重根的方程個(gè)數(shù)iFTTTFF

(1)N-S圖2/3/202365PAD圖--ProblemAnalysisDiagramPAD圖由日本日立公司1973年發(fā)明以后,已得到一定程度的推廣。它用二維樹形結(jié)構(gòu)的圖來表示程序的控制流,將這種圖翻譯成程序代碼比較容易。它即克服了傳統(tǒng)的流程圖不能清晰表現(xiàn)程序結(jié)構(gòu)的缺點(diǎn),又不像N-S圖那樣受到把全部程序約束在一個(gè)方框內(nèi)的限制,這就是其

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論