999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

將非結(jié)構(gòu)化的流程圖轉(zhuǎn)化為結(jié)構(gòu)化的N-S流程圖的通用算法框架

2010-01-01 00:00:00陳培軍王欣潔李馨梅

摘要:介紹了將非結(jié)構(gòu)化流程圖等價(jià)的轉(zhuǎn)化為結(jié)構(gòu)化的N-S流程圖的通用算法框架。

關(guān)鍵詞: 流程圖:N-S流程圖:非結(jié)構(gòu)化流程圖:等價(jià)變換

中圖分類號(hào):TP311

文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1002-2422(2010)06-0103-02

1 通用轉(zhuǎn)換框架

(1)將每一步的具體的計(jì)算過程抽象、簡化,并用不同的編號(hào)表示不同的過程,簡化的傳統(tǒng)流程圖如圖1所示。

(2)將流程圖看成圖論中的圖。將流程圖中的每個(gè)操作,每個(gè)判斷“是”,“否”均看成圖的頂點(diǎn),流向箭頭看成有向圖中的有向邊,則可將傳統(tǒng)的流程圖看成一個(gè)有向圖。根據(jù)需要,也可將其視為無向圖,則循環(huán)結(jié)構(gòu)中有圈、分支結(jié)構(gòu)或不同的出口最終匯總時(shí),也會(huì)出現(xiàn)圈。

(3)將簡單的循環(huán)結(jié)構(gòu)或分支結(jié)構(gòu)用一個(gè)編號(hào)表示,并記錄該編號(hào)的含義,從而進(jìn)一步簡化流程圖。

如果流程圖中出現(xiàn)圖2中的三種情形,都可以簡化。圖2(a)和圖2(c)中可用一個(gè)編號(hào)表示虛線框住的部分,對(duì)圖2(b)需要先通過重復(fù)書寫語句的等價(jià)變換變成類似圖2(a)的樣子。

有了上面的理解,從而一般的框架可抽象為:找出當(dāng)前頂點(diǎn)個(gè)數(shù)最小的圈,依次對(duì)圈中每個(gè)頂點(diǎn)的度進(jìn)行判斷。如果只有一個(gè)頂點(diǎn)的度大于等于3,并且該頂點(diǎn)的度等于4,則為圖2中(a)中的情形;如果只有兩個(gè)頂點(diǎn)的度大于等于3,并且這兩個(gè)頂點(diǎn)的度都等于3,進(jìn)一步若該圈在原有向圖中,也是一個(gè)有向圈,則為圖2中(b)的情形,否則為圖2中(c)的情形。重復(fù)上述過程直到?jīng)]有圈可以簡化。

(4)將流程圖分成一系列順序執(zhí)行的子塊。不包含在任意圈中的頂點(diǎn)自身為一個(gè)子塊。對(duì)于任意的兩個(gè)圈,如果這兩個(gè)圈有一個(gè)相同的頂點(diǎn),則這兩個(gè)圈中包含的所有頂點(diǎn)屬于同一個(gè)子塊;對(duì)于上述子塊,若包含滿足下面性質(zhì)的頂點(diǎn)一所有指向該頂點(diǎn)的有向邊所在的圈所包含的頂點(diǎn)與所有從該頂點(diǎn)出發(fā)的有向邊所在的圈所包含的頂點(diǎn)的交集只有這個(gè)頂點(diǎn),則可在該頂點(diǎn)處將該子塊分成兩個(gè)子塊,該頂點(diǎn)包含在后面的子塊里。經(jīng)過上述過程,可將流程圖分成一系列順序執(zhí)行的子塊。該實(shí)例可以分為三個(gè)子塊,A、E分別為兩個(gè)子塊,其余的屬于同一個(gè)子塊。

(5)對(duì)每個(gè)包含多個(gè)圈的子塊,通過逐分支遍歷。動(dòng)態(tài)調(diào)整建立其N-S流程圖。如果只有分支結(jié)構(gòu),即該子塊中雖然有圈,但沒有有向圈,則總可以通過重復(fù)書寫語句將其轉(zhuǎn)化為N-S流程圖。如果最外層的條件為分支條件,則可以通過重復(fù)書寫語句得到該條件的每個(gè)分支,然后利用第(4)步將每個(gè)分支分解為一系列順序執(zhí)行的子塊。根據(jù)上面的分析,設(shè)計(jì)以下抽象的算法:

①如果該子塊不包含圈,結(jié)束;否則,執(zhí)行第②步。

⑦從子塊的入口,順著箭頭的方向,逐分支遍歷,找到第一個(gè)條件,判斷條件是否包含于任意一個(gè)有向圈中。如果不包含于任何一個(gè)有向圈中,則采用重復(fù)書寫語句的方法得到該條件的每一個(gè)分支,并將每一個(gè)分支分成一系列順序執(zhí)行的子塊,對(duì)每一個(gè)子塊遞歸(轉(zhuǎn)第①步);如果包含于一個(gè)有向圈中,則轉(zhuǎn)第⑤步。

③將該條件作為當(dāng)前子塊的最外層的循環(huán)條件,和該條件位于同一個(gè)有向圈中的其他條件均作為分支條件。按一定的順序遍歷所有分支,通過動(dòng)態(tài)調(diào)整,得到結(jié)構(gòu)化的循環(huán)體和退出循環(huán)后的操作,從而得到相應(yīng)的N-S流程圖。

圖3中的5個(gè)有向圈包含了子塊所有的頂點(diǎn),為全部可能的遍歷路徑。從子塊的入口,順著箭頭的方向,逐分支遍歷,找到第一個(gè)條件C1,且C1包含在有向圈內(nèi)見圖3(a)和圖3(b),選擇將C1作為外層循環(huán)條件。由圖1可以看出退出循環(huán)后,在子塊內(nèi),什么也不做;繼續(xù)找出條件C1不成立時(shí)的循環(huán)體。從包含C1的最簡單的有向圈圖3(a),通過重復(fù)書寫語句得到圖4(a),其中畫問號(hào)的地方有待于進(jìn)一步完善,下面繼續(xù)遍歷其他的路徑將其不斷完善。

繼續(xù)找包含條件C1的當(dāng)前最簡單的路徑,對(duì)該實(shí)例還只有一個(gè)有向圈見圖3(b)包含c1,將該圈包含的內(nèi)容融入4(a),得到圈4(b),其中兩個(gè)畫問號(hào)的分支需要確定。

從剩下的路徑中選擇一個(gè)簡單的見圖3(c)。圖3(c)表示當(dāng)條件C3不成立時(shí),無條件執(zhí)行循環(huán);當(dāng)c3成立時(shí),退出循環(huán)。引入輔助變量flag1,給其賦初值O,當(dāng)flag1=0時(shí),執(zhí)行循環(huán);當(dāng)flag1=1時(shí),退出循環(huán)。當(dāng)C3不成立時(shí),不修改flag1的值,從而繼續(xù)執(zhí)行循環(huán);當(dāng)c3成立時(shí)。修改flag1的值為1,從而退出循環(huán)。所以將圖3(c)進(jìn)一步融入已有的N-S流程圖,得到圖4(c)。進(jìn)一步融入圖3(d)(該圖表示當(dāng)c3成立時(shí),c4不成立時(shí),C5不成立時(shí),無條件執(zhí)行操作H、G),得圖4(d)。

對(duì)最后的有向圈圖3(e),表示當(dāng)C2和C3成立,C4不成立,C5成立,退出內(nèi)層的循環(huán),執(zhí)行完操作J后,無條件進(jìn)入條件C1的循環(huán)體,對(duì)應(yīng)圖4(d)中畫問號(hào)的部分的內(nèi)容。引入輔助變量flag2,賦初值O,修改外層循環(huán)的條件為“當(dāng)c1不成立或flag2==1”,為了使其他分支仍與原來等價(jià),在外層循環(huán)體內(nèi)的開始部分,增加語句flag2=0;所以4(d)中畫問號(hào)部分的操作為J;flag1=1(跳出內(nèi)層循環(huán));flag2=1(無條件執(zhí)行條件c1的循環(huán)體)。結(jié)果見圖5。

算法框架中所有的其他操作,都是為了將流程圖轉(zhuǎn)換為類似圖1的情形,核心的問題就是處理類似上面的問題。通過上面的分析,可以體會(huì)到如何決定遍歷的順序,如何決定條件類型,以及如何逐分支將當(dāng)前的結(jié)果融入已有的框架,修正得到與已有框架相容的新的框架,最終得到N-S流程圖的過程。上述過程還有待于進(jìn)一步抽象、細(xì)化、完善。要解決上下文的語義識(shí)別、邏輯關(guān)系的理解及其等價(jià)變形。圖4不斷修正得到N-S流程圖的中間過程

(6)將各個(gè)層級(jí)的子塊組裝,將第(3)步中得到的各個(gè)中間編號(hào),根據(jù)相應(yīng)的記錄逐級(jí)展開還原,得到相應(yīng)的N-S流程圖。對(duì)本例只有一個(gè)子塊有圈,并且第一個(gè)條件即為循環(huán)條件,且沒有第(3)步中的簡化,所以組裝非常簡單,最終的結(jié)果如圖5所示。

2 結(jié)束語

結(jié)合具體的實(shí)例,給出了由非結(jié)構(gòu)化的流程圖轉(zhuǎn)化為與之等價(jià)的N-S流程圖的宏觀算法框架,僅是一種可行的方法,可用于指導(dǎo)一般問題的轉(zhuǎn)換。

參考文獻(xiàn)

[1]鄧德祥.結(jié)構(gòu)化流程圖的回顧與改進(jìn)意見[J].北京:北方工業(yè)大學(xué)學(xué)報(bào),1992,4(3):81-87.

[2]張廣泉.非結(jié)構(gòu)化程序流程圖及其等價(jià)變換[J].重慶:重慶師范學(xué)院學(xué)報(bào)(自然科學(xué)版),1993,10(3):28-31.

[3]孫靖民,梁迎春.機(jī)械優(yōu)化設(shè)計(jì)[M](第4版).北京:機(jī)械工業(yè)出版社,2007:130-135.

主站蜘蛛池模板: 国产福利一区视频| 在线视频亚洲欧美| 超薄丝袜足j国产在线视频| 国产精品一区二区国产主播| 久久综合九色综合97婷婷| 亚洲AV人人澡人人双人| 中文成人在线视频| 国产欧美另类| 蜜臀AV在线播放| 国产一区成人| 欧美一级大片在线观看| 看av免费毛片手机播放| 亚洲丝袜中文字幕| 欧美翘臀一区二区三区| 精品国产毛片| 狠狠亚洲五月天| 国产呦视频免费视频在线观看| 毛片网站免费在线观看| 国产一级裸网站| 国产综合精品一区二区| 91亚洲免费| 欧美一级高清视频在线播放| 国产精品毛片一区| 国产天天射| 久久一本精品久久久ー99| 欧美a在线视频| 日本午夜精品一本在线观看| 天天色天天操综合网| 再看日本中文字幕在线观看| 欧美va亚洲va香蕉在线| 婷婷色一二三区波多野衣| 欧美福利在线| 重口调教一区二区视频| 亚洲精品桃花岛av在线| 欧美成一级| 久久国产精品影院| 欧美亚洲中文精品三区| 婷五月综合| 极品私人尤物在线精品首页 | 国产69精品久久| 四虎成人免费毛片| 国产一区二区人大臿蕉香蕉| 久久久久青草大香线综合精品| 亚洲国语自产一区第二页| 毛片一级在线| lhav亚洲精品| 国产精品嫩草影院av| 欧美精品v日韩精品v国产精品| 国产激情无码一区二区三区免费| 欧美.成人.综合在线| 99久久精品无码专区免费| 久久国产精品波多野结衣| 黄色一级视频欧美| 国产精品尹人在线观看| 亚洲欧美激情小说另类| 亚洲欧美成人网| 国产成人一区免费观看| 无码丝袜人妻| 91久久国产成人免费观看| 亚洲最新地址| 毛片在线播放a| 亚洲a级在线观看| 国产精品美女在线| 99re这里只有国产中文精品国产精品 | 亚洲欧美另类视频| 91国内视频在线观看| 亚洲永久色| 夜夜操国产| 97久久人人超碰国产精品| 国产精品成人一区二区| 日韩最新中文字幕| 亚洲色婷婷一区二区| 朝桐光一区二区| 久久国产精品娇妻素人| 国产午夜人做人免费视频中文| 9999在线视频| 亚洲天堂伊人| 制服丝袜在线视频香蕉| 成人免费视频一区| 亚洲人成网站日本片| 天天激情综合| 91亚洲精品第一|