離散數(shù)學(xué)上機(jī)實(shí)驗(yàn)報(bào)告_第1頁(yè)
離散數(shù)學(xué)上機(jī)實(shí)驗(yàn)報(bào)告_第2頁(yè)
離散數(shù)學(xué)上機(jī)實(shí)驗(yàn)報(bào)告_第3頁(yè)
離散數(shù)學(xué)上機(jī)實(shí)驗(yàn)報(bào)告_第4頁(yè)
離散數(shù)學(xué)上機(jī)實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、離散數(shù)學(xué)實(shí)驗(yàn)報(bào)告姓名:學(xué)號(hào):班級(jí):實(shí)驗(yàn)一連結(jié)詞邏輯運(yùn)算一.實(shí)驗(yàn)?zāi)康膶?shí)現(xiàn)二元合取、析取、蘊(yùn)涵和等價(jià)表達(dá)式的計(jì)算。熟悉連接詞邏輯運(yùn)算規(guī)則,利用程序語(yǔ)言實(shí)現(xiàn)邏輯這幾種邏輯運(yùn)算。二.實(shí)驗(yàn)內(nèi)容從鍵盤輸入兩個(gè)命題變?cè)狿和Q的真值,求它們的合取、析取、蘊(yùn)涵和等價(jià)四種運(yùn)算的真值。要求對(duì)輸入內(nèi)容進(jìn)行分析,如果不符合0、1條件需要重新輸入,程序有良好的輸入輸出界面。三.實(shí)驗(yàn)環(huán)境使用Microsoft VisualC+6.0為編程軟件,采用稱C/C+語(yǔ)言為編程語(yǔ)言實(shí)現(xiàn)。四.實(shí)驗(yàn)過程1.算法分析:合?。簆,q都為1的時(shí)候?yàn)?,其他為0析取:p,q都為0的時(shí)候?yàn)?,其他為1蘊(yùn)含:p為1,q為0時(shí)為0,其他為1等價(jià):p,

2、q同真同假2.程序代碼:#includeint main()int P,Q,a,b,c,d,p,q;printf( P的值);for(P=0;P2;P+)for(Q=0;Q2;Q+)printf(t%d,P);printf(n Q的值);for(P=0;P2;P+)for(Q=0;Q2;Q+)printf(t%d,Q);printf(n 非P的值);for(P=0;P2;P+)for(Q=0;Q2;Q+)if(P=0)/*判斷非P的值*/p=1;elsep=0;printf(t%d,p);printf(n 非Q的值);for(P=0;P2;P+)for(Q=0;Q2;Q+)if(Q=1)/*判

3、斷非Q的值*/q=0;elseq=1;printf(t%d,q);printf(n P與Q的值);for(P=0;P2;P+)for(Q=0;Q2;Q+)if(Q=0|P=0)/*判斷P與Q的值*/a=0;elsea=1;printf(t%d,a);printf(n P或Q的值);for(P=0;P2;P+)for(Q=0;Q2;Q+)if(Q=1|P=1)/*判斷P或Q的值*/b=1;elseb=0;printf(t%d,b);printf(nP蘊(yùn)含Q的值);for(P=0;P2;P+)for(Q=0;Q2;Q+)if(P=1&Q=0)/*判斷P蘊(yùn)含Q的值*/c=0;elsec=1;prin

4、tf(t%d,c);printf(nP等價(jià)Q的值);for(P=0;P2;P+)for(Q=0;Q2;Q+)if(P=Q)/*判斷P等價(jià)Q的值*/d=1;elsed=0;printf(t%d,d);printf(n);return 0;3.實(shí)驗(yàn)數(shù)據(jù)及結(jié)果分析:實(shí)驗(yàn)二 關(guān)系的復(fù)合運(yùn)算及逆運(yùn)算一.實(shí)驗(yàn)?zāi)康氖煜りP(guān)系的復(fù)合運(yùn)算和逆運(yùn)算,編程實(shí)現(xiàn)關(guān)系復(fù)合運(yùn)算和逆運(yùn)算算法。二.實(shí)驗(yàn)內(nèi)容利用矩陣求解有限集上的復(fù)合關(guān)系和逆關(guān)系。三.實(shí)驗(yàn)過程1.算法分析:復(fù)合運(yùn)算就將兩個(gè)用矩陣表示的關(guān)系進(jìn)行復(fù)合,即在第一個(gè)矩陣中尋找值為1的元素坐標(biāo)(i ,j ),在第二個(gè)矩陣第j行尋找值為1的元素,若有,且坐標(biāo)為(j ,k )

5、,則產(chǎn)生的新的關(guān)系的矩陣中坐標(biāo)為(i ,k )的元素值為1。逆運(yùn)算就是將用矩陣中值為1的元素坐標(biāo)(i ,j)對(duì)調(diào),產(chǎn)生新的關(guān)系的矩陣中坐標(biāo)為(j ,i )的元素值為1。2.程序代碼:/關(guān)系的復(fù)合運(yùn)算#includeusing namespace std;int main()int a100100,b100100,c100100,i,j,k,n;coutn;cout請(qǐng)輸入關(guān)系矩陣Mr的格式:endl;for(i=0;in;i+)for(j=0;jaij;cout請(qǐng)輸入關(guān)系矩陣Ms的格式:endl;for(i=0;in;i+)for(j=0;jbij;for(i=0;in;i+) /進(jìn)行復(fù)合運(yùn)算f

6、or(j=0;jn;j+)if(aij=1)for(k=0;kn;k+)if(bjk=1)cik=1;for(i=0;in;i+)for(j=0;jn;j+)if(cij!=1)cij=0;coutendl;cout關(guān)系矩陣Mr與Ms的復(fù)合運(yùn)算結(jié)果是:endl;for(i=0;in;i+)for(j=0;jn;j+)coutcij ;coutendl;return 0;/關(guān)系的逆運(yùn)算#includeint main()int a100100,b100100,n,i,j,index;printf(請(qǐng)輸入集合X中元素的個(gè)數(shù):);scanf(%d,&n);printf(請(qǐng)輸入關(guān)系矩陣Mr的格式:n)

7、;for(i=0;in;i+)for(j=0;jn;j+)scanf(%d,&aij);for(i=0;in;i+)/進(jìn)行逆運(yùn)算for(j=0;jn;j+)if(aij=1)index=i;i=j;j=index;bij=1;for(i=0;in;i+)for(j=0;jn;j+)if(bij!=1)bij=0;printf(n關(guān)系矩陣M rc為:n);for(i=0;in;i+)for(j=0;jn;j+)printf(%d ,bij);printf(n);return 0;3.實(shí)驗(yàn)數(shù)據(jù)及結(jié)果分析:實(shí)驗(yàn)三關(guān)系的閉包運(yùn)算一.實(shí)驗(yàn)?zāi)康氖煜りP(guān)系的閉包運(yùn)算,編程實(shí)現(xiàn)關(guān)系閉包運(yùn)算算法。二.實(shí)驗(yàn)內(nèi)容利用

8、矩陣求解有限集上給定關(guān)系的自反、對(duì)稱和傳遞閉包。三.實(shí)驗(yàn)過程1.算法分析:在三種閉包中自反和對(duì)稱閉包的求解很容易,對(duì)矩陣表示的關(guān)系,其自反閉包只要將矩陣的主對(duì)角線全部置為1就可;對(duì)稱閉包則加上關(guān)系的轉(zhuǎn)置矩陣(邏輯加法);傳遞閉包則直接根據(jù)t(R)=R +。2.程序代碼:#includeusing namespace std;void deliver(int x100100,int y100100,int n);int main()int i,j,n,R100100,r100100,s100100,t100100;coutn;coutendl請(qǐng)輸入R的關(guān)系矩陣:endl;for(i=0;in;i

9、+) /輸入R的關(guān)系矩陣for(j=0;jRij;for(i=0;in;i+) /將R的關(guān)系矩陣賦值給r,s,tfor(j=0;jn;j+)rij=Rij;sij=Rij;tij=Rij;for(i=0;in;i+) /自反閉包運(yùn)算if(rii=0)rii=1;coutendl自反閉包關(guān)系矩陣r(R):endl;for(i=0;in;i+) /輸出r的關(guān)系矩陣for(j=0;jn;j+)coutrij ;coutendl;for(i=0;in;i+) /對(duì)稱閉包運(yùn)算for(j=0;ji;j+)if(sij=1|sji=1)sij=1;sji=1;coutendl對(duì)稱閉包關(guān)系矩陣s(R):end

10、l;for(i=0;in;i+) /輸出s的關(guān)系矩陣for(j=0;jn;j+)coutsij ;coutendl;deliver(t,R,n); /關(guān)于傳遞閉包的函數(shù)return 0;void deliver(int x100100,int y100100,int n)/關(guān)于傳遞閉包的函數(shù)int i,j,k,m,z100100;for(m=0;mn;m+)for(i=0;in;i+) for(j=0;jn;j+)if(xij=1)for(k=0;kn;k+)if(yjk=1) /進(jìn)行復(fù)合運(yùn)算zik=1;for(i=0;in;i+) for(j=0;jn;j+)if(zij!=1)zij=0;

11、for(i=0;in;i+) for(j=0;jn;j+)xij=xij+zij; /進(jìn)行傳遞閉包運(yùn)算for(i=0;in;i+) for(j=0;jn;j+)if(xij!=0)xij=1;coutendl傳遞閉包關(guān)系矩陣t(R):endl;for(i=0;in;i+) /輸出x的關(guān)系矩陣for(j=0;jn;j+)coutxij ;coutendl;3.實(shí)驗(yàn)數(shù)據(jù)及結(jié)果分析:實(shí)驗(yàn)四圖的矩陣表示一.實(shí)驗(yàn)?zāi)康氖煜D的矩陣表示方法鄰接矩陣、可達(dá)矩陣和關(guān)聯(lián)矩陣。二.實(shí)驗(yàn)內(nèi)容利用鄰接矩陣得到的可達(dá)矩陣來求解圖的連通性質(zhì)。三.實(shí)驗(yàn)過程1.算法分析:可達(dá)矩陣表示圖中任意兩個(gè)節(jié)點(diǎn)間的可達(dá)關(guān)系,而鄰接矩陣表示

12、圖中任意兩個(gè)節(jié)點(diǎn)的鄰接關(guān)系。求解鄰接矩陣 A1,A2,A3An可知任意兩個(gè)節(jié)點(diǎn)之間是否存在互相連通的路,從而判斷是否可達(dá)。2.程序代碼:#includeusing namespace std;void main()int i,j,k,n,m,a100100,b100100,c100100,d100100;coutn;cout請(qǐng)輸入鄰接矩陣a:endl;for(i=0;in;i+)for(j=0;jaij;bij=aij; for(i=0;in;i+) /矩陣d為零矩陣for(j=0;jn;j+)dij=0;for(m=0;mn;m+)for(i=0;in;i+) /矩陣c為零矩陣for(j=0;jn;j+)cij=0;for(k=0;kn;k+)for(i=0;in;i+)for(j=0;jn;j+)cki=cki+bkj*aji; /矩陣的乘法運(yùn)算for(i=0;in;i+)for(j=0;jn;j+)bij=cij;dij=d

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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)論