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

下載本文檔

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

文檔簡介

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ī)則,利用程序語言實(shí)現(xiàn)邏輯這幾種邏輯運(yùn)算。二.實(shí)驗(yàn)內(nèi)容從鍵盤輸入兩個(gè)命題變元P和Q的真值,求它們的合取、析取、蘊(yùn)涵和等價(jià)四種運(yùn)算的真值。要求對(duì)輸入內(nèi)容進(jìn)行分析,如果不符合0、1條件需要重新輸入,程序有良好的輸入輸出界面。三.實(shí)驗(yàn)環(huán)境使用Microsoft Visual C+6.0為編程軟件,采用稱C/C+語言為編程語言實(shí)現(xiàn)。四.實(shí)驗(yàn)過程1.算法分析:合?。簆,q都為1的時(shí)候?yàn)?,其他為0 析?。簆,q都為0的時(shí)候?yàn)?,其他為1 

2、;蘊(yùn)含:p為1,q為0時(shí)為0,其他為1 等價(jià):p,q同真同假2.程序代碼:#include<stdio.h>int main()int P,Q,a,b,c,d,p,q;printf(" P的值");for(P=0;P<2;P+)for(Q=0;Q<2;Q+)printf("t%d",P);printf("n Q的值");for(P=0;P<2;P+)for(Q=0;Q<2;Q+)printf("t%d",Q);printf("n 非P的值");for

3、(P=0;P<2;P+)for(Q=0;Q<2;Q+)if(P=0)/*判斷非P的值*/p=1;elsep=0;printf("t%d",p);printf("n 非Q的值");for(P=0;P<2;P+)for(Q=0;Q<2;Q+)if(Q=1)/*判斷非Q的值*/q=0;elseq=1;printf("t%d",q);printf("n P與Q的值");for(P=0;P<2;P+)for(Q=0;Q<2;Q+)if(Q=0|P=0)/*判斷P與Q的值*/a=0;else

4、a=1;printf("t%d",a);printf("n P或Q的值");for(P=0;P<2;P+)for(Q=0;Q<2;Q+)if(Q=1|P=1)/*判斷P或Q的值*/b=1;elseb=0;printf("t%d",b);printf("nP蘊(yùn)含Q的值");for(P=0;P<2;P+)for(Q=0;Q<2;Q+)if(P=1&&Q=0)/*判斷P蘊(yùn)含Q的值*/c=0;elsec=1;printf("t%d",c);printf("

5、;nP等價(jià)Q的值");for(P=0;P<2;P+)for(Q=0;Q<2;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行尋

6、找值為1的元素,若有,且坐標(biāo)為(j ,k ),則產(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)算#include<iostream>using namespace std;int main()int a100100,b100100,c100100,i,j,k,n;cout<<"請輸入集合X中元素的個(gè)數(shù):"cin>>n;cout<<"請輸入關(guān)系矩陣Mr的格式:"&l

7、t;<endl;for(i=0;i<n;i+)for(j=0;j<n;j+)cin>>aij;cout<<"請輸入關(guān)系矩陣Ms的格式:"<<endl;for(i=0;i<n;i+)for(j=0;j<n;j+)cin>>bij;for(i=0;i<n;i+) /進(jìn)行復(fù)合運(yùn)算for(j=0;j<n;j+)if(aij=1)for(k=0;k<n;k+)if(bjk=1)cik=1;for(i=0;i<n;i+)for(j=0;j<n;j+)if(cij!=1)cij=0

8、;cout<<endl;cout<<"關(guān)系矩陣Mr與Ms的復(fù)合運(yùn)算結(jié)果是:"<<endl;for(i=0;i<n;i+)for(j=0;j<n;j+)cout<<cij<<" "cout<<endl;return 0;/關(guān)系的逆運(yùn)算#include<stdio.h>int main()int a100100,b100100,n,i,j,index;printf("請輸入集合X中元素的個(gè)數(shù):");scanf("%d",&a

9、mp;n);printf("請輸入關(guān)系矩陣Mr的格式:n");for(i=0;i<n;i+)for(j=0;j<n;j+)scanf("%d",&aij);for(i=0;i<n;i+)/進(jìn)行逆運(yùn)算for(j=0;j<n;j+)if(aij=1)index=i;i=j;j=index;bij=1;for(i=0;i<n;i+)for(j=0;j<n;j+)if(bij!=1)bij=0;printf("n關(guān)系矩陣M rc為:n");for(i=0;i<n;i+)for(j=0;j<

10、;n;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)容利用矩陣求解有限集上給定關(guān)系的自反、對(duì)稱和傳遞閉包。三.實(shí)驗(yàn)過程1.算法分析:在三種閉包中自反和對(duì)稱閉包的求解很容易,對(duì)矩陣表示的關(guān)系,其自反閉包只要將矩陣的主對(duì)角線全部置為1就可;對(duì)稱閉包則加上關(guān)系的轉(zhuǎn)置矩陣(邏輯加法);傳遞閉包則直接根據(jù)t(R)=R +。2.程序代碼:#include<iostream>using names

11、pace std;void deliver(int x100100,int y100100,int n);int main()int i,j,n,R100100,r100100,s100100,t100100;cout<<"請輸入矩陣的階:"cin>>n;cout<<endl<<"請輸入R的關(guān)系矩陣:"<<endl;for(i=0;i<n;i+) /輸入R的關(guān)系矩陣for(j=0;j<n;j+)cin>>Rij;for(i=0;i<n;i+) /將R的關(guān)系矩陣賦值給

12、r,s,tfor(j=0;j<n;j+)rij=Rij;sij=Rij;tij=Rij;for(i=0;i<n;i+) /自反閉包運(yùn)算if(rii=0)rii=1;cout<<endl<<"自反閉包關(guān)系矩陣r(R):"<<endl;for(i=0;i<n;i+) /輸出r的關(guān)系矩陣for(j=0;j<n;j+)cout<<rij<<" "cout<<endl;for(i=0;i<n;i+) /對(duì)稱閉包運(yùn)算for(j=0;j<i;j+)if(sij=

13、1|sji=1)sij=1;sji=1;cout<<endl<<"對(duì)稱閉包關(guān)系矩陣s(R):"<<endl;for(i=0;i<n;i+) /輸出s的關(guān)系矩陣for(j=0;j<n;j+)cout<<sij<<" "cout<<endl;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;m&l

14、t;n;m+)for(i=0;i<n;i+) for(j=0;j<n;j+)if(xij=1)for(k=0;k<n;k+)if(yjk=1) /進(jìn)行復(fù)合運(yùn)算zik=1;for(i=0;i<n;i+) for(j=0;j<n;j+)if(zij!=1)zij=0;for(i=0;i<n;i+) for(j=0;j<n;j+)xij=xij+zij; /進(jìn)行傳遞閉包運(yùn)算for(i=0;i<n;i+) for(j=0;j<n;j+)if(xij!=0)xij=1;cout<<endl<<"傳遞閉包關(guān)系矩陣t(R

15、):"<<endl;for(i=0;i<n;i+) /輸出x的關(guān)系矩陣for(j=0;j<n;j+)cout<<xij<<" "cout<<endl;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)系,而鄰接矩陣表示圖中任意兩個(gè)節(jié)點(diǎn)的鄰接關(guān)系。求解鄰接矩陣 A1,A2,A3An可知任意兩個(gè)節(jié)點(diǎn)之間是否存在互相連通的路,

16、從而判斷是否可達(dá)。2.程序代碼:#include<iostream>using namespace std;void main()int i,j,k,n,m,a100100,b100100,c100100,d100100;cout<<"請輸入矩陣階數(shù):"cin>>n;cout<<"請輸入鄰接矩陣a:"<<endl;for(i=0;i<n;i+)for(j=0;j<n;j+)cin>>aij;bij=aij; for(i=0;i<n;i+) /矩陣d為零矩陣for(j

17、=0;j<n;j+)dij=0;for(m=0;m<n;m+)for(i=0;i<n;i+) /矩陣c為零矩陣for(j=0;j<n;j+)cij=0;for(k=0;k<n;k+)for(i=0;i<n;i+)for(j=0;j<n;j+)cki=cki+bkj*aji; /矩陣的乘法運(yùn)算for(i=0;i<n;i+)for(j=0;j<n;j+)bij=cij;dij=dij+bij;cout<<"m為"<<m+1<<",矩陣b為:"<<endl;for(i=0;i<n;i+)for

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論