安徽工業(yè)大學(xué)離散數(shù)學(xué)實(shí)驗(yàn)報(bào)告_第1頁(yè)
安徽工業(yè)大學(xué)離散數(shù)學(xué)實(shí)驗(yàn)報(bào)告_第2頁(yè)
安徽工業(yè)大學(xué)離散數(shù)學(xué)實(shí)驗(yàn)報(bào)告_第3頁(yè)
安徽工業(yè)大學(xué)離散數(shù)學(xué)實(shí)驗(yàn)報(bào)告_第4頁(yè)
安徽工業(yè)大學(xué)離散數(shù)學(xué)實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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)告專業(yè)軟件工程班級(jí)163班姓名周掌珍學(xué)號(hào)169074261授課教師楊思春二O一七年六月目 錄實(shí)驗(yàn)一聯(lián)結(jié)詞的運(yùn)算實(shí)驗(yàn)二集合的運(yùn)算實(shí)驗(yàn)三二元關(guān)系的性質(zhì)判定實(shí)驗(yàn)四圖的矩陣運(yùn)算實(shí)驗(yàn)一聯(lián)結(jié)詞的運(yùn)算一實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)上機(jī)實(shí)驗(yàn)操作,將命題連接詞運(yùn)算融入到C 語(yǔ)言的程序編寫中,一方面加強(qiáng)對(duì)命題連接詞運(yùn)算的理解,另一方面通過(guò)編程實(shí)現(xiàn)命題連接詞運(yùn)算,幫助學(xué)生復(fù)習(xí)和鍛煉C語(yǔ)言知識(shí),將理論知識(shí)與實(shí)際操作結(jié)合,讓學(xué)生更加容易理解和記憶命題連接詞運(yùn)算。二實(shí)驗(yàn)原理(1)非運(yùn)算,符號(hào):, 當(dāng)P=T時(shí),P為F,當(dāng)P=F時(shí),P為T。(2) 合取 , 符號(hào) : , 當(dāng)且僅當(dāng) P 和 Q的真值同為真,命題 P Q的真值才為

2、真;否則, P Q的真值為假。(3) 析取 , 符號(hào) : , 當(dāng)且僅當(dāng) P 和 Q的真值同為假,命題 P Q的真值才為假;否則, P Q的真值為真。(4) 異或 , 符號(hào) : , 當(dāng)且僅當(dāng) P 和 Q的真值不同時(shí),命題 P Q的真值才為真;否則, P Q的真值為真。(5) 蘊(yùn)涵 , 符號(hào) : , 當(dāng)且僅當(dāng) P 為 T,Q 為 F 時(shí),命題 P Q的真值才為假; 否則,P Q的真值為真。(6)等價(jià) ,符號(hào) : ?,當(dāng)且僅當(dāng)P,Q 的真值不同時(shí),命題P? Q的真值才為假;否則,P Q的真值為真。三實(shí)驗(yàn)內(nèi)容編寫一個(gè)程序?qū)崿F(xiàn)非運(yùn)算、合取運(yùn)算、析取運(yùn)算、異或運(yùn)算、蘊(yùn)涵運(yùn)算、等價(jià)運(yùn)算。四算法程序內(nèi)容格式:

3、新羅馬,小五號(hào),行間距固定值18 磅#include<stdio.h>int main()char m;int P,Q;printf(" 請(qǐng)輸入 P,Q 的真值與邏輯連接詞:(P 邏輯聯(lián)結(jié)Q)na:與 tb: 或tc(請(qǐng)先輸入0):非td: 蘊(yùn)含 te:等價(jià)tf: 異或 n");scanf("%d%c%d",&P,&m,&Q);switch(m)case 'a':if(P=1&&Q=1) printf("P與 Q=1n");else printf("p 合取

4、 Q=0n");break;case 'b':if(P=0&&Q=0) printf("P或 Q=0n");else printf("P 或 Q=1n");break;case 'c':if(P=1) printf(" 非 P=0n");else printf(" 非 P=1n");break;case 'd':if(P=1&&Q=0) printf("P蘊(yùn)含 Q=0n");else printf(&quo

5、t;P 蘊(yùn)含 Q=1n");break;case 'e':if(P=Q) printf("P等價(jià) Q=1n");else printf("P 等價(jià) Q=0n");break;case 'f':if(P=Q) printf("P異或 Q=0n");else printf("P 異或 Q=1n");break;五實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)結(jié)果截圖大小為:寬(10cm)×高( 8cm)六心得體會(huì)內(nèi)容格式:宋體,五號(hào),行間距固定值18 磅實(shí)驗(yàn)二集合的運(yùn)算一實(shí)驗(yàn)?zāi)康募线\(yùn)算主要包括并運(yùn)算

6、,交運(yùn)算,相對(duì)差,對(duì)稱差運(yùn)算,集合論的語(yǔ)言適合于描述和研究離散對(duì)象及其關(guān)系,所以也是計(jì)算機(jī)科學(xué)與工程的理論基礎(chǔ),在程序設(shè)計(jì)、關(guān)系數(shù)據(jù)庫(kù)、排隊(duì)論、開關(guān)理論,形式語(yǔ)言和自動(dòng)機(jī)理論等學(xué)科領(lǐng)域中都有重要的應(yīng)用。集合運(yùn)算是學(xué)習(xí)集合論的基礎(chǔ),通過(guò)編程實(shí)現(xiàn)集合的相關(guān)運(yùn)算,幫助同學(xué)們學(xué)好集合論相關(guān)知識(shí)打下基礎(chǔ)。二實(shí)驗(yàn)原理交運(yùn)算:任何二個(gè)集合A 和 B 的交集 AB是由 A 和 B 所共有的全部元素構(gòu)成的集合,即: AB=x | xA xB并運(yùn)算: A、B 是任意二個(gè)集合, A 和 B 的并集 AB是由 A 和 B 的所有元素構(gòu)成的集合。即: AB=x xAx B相對(duì)差:設(shè)A 和 B 是二個(gè)任意集合,B 對(duì) A

7、 的相對(duì)差( A-B)是由屬于A 且不屬于B 的所有元素組成的集合。即:A-B= xx Ax B=x x AxB對(duì)稱差:設(shè)A、 B 是任意二集合,A 和 B 的環(huán)和記作AB。即:AB=(A- B)(B - A)=(AB)(BA)或者 x(AB)xx |xA xB三實(shí)驗(yàn)內(nèi)容深入理解集合的四種基本運(yùn)算,根據(jù)每個(gè)運(yùn)算定義,編程實(shí)現(xiàn)各個(gè)運(yùn)算。四算法程序內(nèi)容格式:新羅馬,小五號(hào),行間距固定值18 磅交集運(yùn)算 :#include<stdio.h>int main()int a10,b10,c20,i,m,n,j,k=0;printf(" 請(qǐng)輸入集合A ,集合 B 中的元素個(gè)數(shù) :n&

8、quot;);scanf("%d%d",&m,&n);printf(" 請(qǐng)輸入集合A 的元素 :n");for(i=0;i<m;i+)scanf("%d",&ai);printf(" 請(qǐng)輸入集合B 的元素 :n");for(i=0;i<n;i+)scanf("%d",&bi);printf("A= ");for(i=0;i<m;i+)printf("%d,",ai);putchar('b')

9、;printf("n");printf("B= ");for(i=0;i<n;i+)printf("%d,",bi);putchar('b');printf("n");for(i=0;i<m;i+)for(j=0;j<n;j+)if(ai=bj) ck+=ai;printf("A B= ");for(i=0;i<k;i+)printf("%d,",ci);putchar('b');printf("n"

10、);并集運(yùn)算:#include<stdio.h>int main()int a10,b10,c20,i,m,n,j,k=0;printf(" 請(qǐng)輸入集合A ,集合 B 中的元素個(gè)數(shù) :n");scanf("%d%d",&m,&n);printf(" 請(qǐng)輸入集合A 的元素 :n");for(i=0;i<m;i+)scanf("%d",&ai);printf(" 請(qǐng)輸入集合B 的元素 :n");for(i=0;i<n;i+)scanf("%d

11、",&bi);printf("A= ");for(i=0;i<m;i+)printf("%d,",ai);putchar('b');printf("n");printf("B= ");for(i=0;i<n;i+)printf("%d,",bi);putchar('b');printf("n");for(i=0;i<m;i+)ck+=ai;for(j=0;j<n;j+)for(i=0;i<m;i+

12、)if(bj=ci) break;if(i=m) ck+=bj;printf("A B= ");for(i=0;i<k;i+)printf("%d,",ci);putchar('b');printf("n");相對(duì)差:#include<stdio.h>int main()int a10,b10,c20,i,m,n,j,k=0,t;printf(" 請(qǐng)輸入集合A ,集合 B 中的元素個(gè)數(shù) :n");scanf("%d%d",&m,&n);print

13、f(" 請(qǐng)輸入集合A 的元素 :n");for(i=0;i<m;i+)scanf("%d",&ai);printf(" 請(qǐng)輸入集合B 的元素 :n");for(i=0;i<n;i+)scanf("%d",&bi);printf("A= ");for(i=0;i<m;i+)printf("%d,",ai);putchar('b');printf("n");printf("B= ");for

14、(i=0;i<n;i+)printf("%d,",bi);putchar('b');printf("n");for(i=0;i<m;i+)ck+=ai;for(j=0;j<n;j+)for(i=0;i<m;i+)if(bj=ci)for(t=i;t<k;t+)ct=ct+1;k-;printf("A-B= ");for(i=0;i<k;i+)printf("%d,",ci);putchar('b');printf("n");對(duì)稱

15、差:#include<stdio.h>int main()int a10,b10,c20,c120,c220,i,m,n,j,k1=0,k2=0,k=0,t;printf(" 請(qǐng)輸入集合scanf("%d",&bi);printf("A= ");for(i=0;i<m;i+)printf("%d,",ai);putchar('b');printf("n");printf("B= ");for(i=0;i<n;i+)printf("

16、;%d,",bi);putchar('b');printf("n");for(i=0;i<m;i+)c1k1+=ai;for(j=0;j<n;j+)for(i=0;i<m;i+)if(bj=c1i)for(t=i;t<k1;t+)c1t=c1t+1;k1-;for(j=0;j<n;j+)c2k2+=bj;for(j=0;j<m;j+)for(i=0;i<n;i+)if(aj=c2i)for(t=i;t<k2;t+)c2t=c2t+1;k2-;for(i=0;i<k1;i+)ck+=c1i;for

17、(j=0;j<k2;j+)for(i=0;i<k1;i+)if(c2j=ci) break;if(i=k1) ck+=c2j;printf("A B= ");for(i=0;i<k;i+)printf("%d,",ci);putchar('b');printf("n");五實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)結(jié)果截圖大小為:寬(10cm)×高( 8cm)交集運(yùn)算:并集運(yùn)算相對(duì)差運(yùn)算對(duì)稱差運(yùn)算六心得體會(huì)內(nèi)容格式:宋體,五號(hào),行間距固定值18 磅實(shí)驗(yàn)三二元關(guān)系的性質(zhì)判定一實(shí)驗(yàn)?zāi)康亩P(guān)系是離散數(shù)學(xué)中的一個(gè)重要的基本概念

18、 , 定義在某一集合上的二元關(guān)系有自反性、反自反性、對(duì)稱性、反對(duì)稱性和傳遞性,二元關(guān)系的性質(zhì)是學(xué)習(xí)特殊二元關(guān)系的基礎(chǔ),通過(guò)編程判斷二元關(guān)系的性質(zhì),幫助同學(xué)們更好地理解二元關(guān)系相關(guān)性質(zhì)定義。二實(shí)驗(yàn)原理自反性質(zhì):設(shè)R 是 X 集合上的二元關(guān)系,對(duì)于每一個(gè)xX, 若有 xRx,則稱 R是自反關(guān)系。反自反性質(zhì):設(shè)R 是 X 上的二元關(guān)系,對(duì)于每一個(gè)xX,有 xRx,則稱 R 有反自反的關(guān)系。對(duì)稱性質(zhì):設(shè)R是X 上的二元關(guān)系,對(duì)于每一個(gè)x,y X。若xRy 時(shí)有yRx,則稱R 是對(duì)稱關(guān)系。則稱反對(duì)稱性質(zhì):設(shè) R 是 X 集合上的二元關(guān)系, 對(duì)于每一個(gè) R 是反對(duì)稱關(guān)系。<x,y> R(x y

19、),若 <y,x> R ,傳遞性質(zhì):設(shè)R 為定義在集合X 上的二元關(guān)系,如果對(duì)于任意的x,y,z X,每當(dāng)xRy,yRz 時(shí)就有 xRz,稱關(guān)系R 在 X上是傳遞的。三實(shí)驗(yàn)內(nèi)容編程輸入一個(gè)集合以及該集合上的一種二元關(guān)系,判斷該二元關(guān)系具有哪些性質(zhì)。四算法程序內(nèi)容格式:新羅馬,小五號(hào),行間距固定值18 磅#include<stdio.h>int m,n,i,j,k;int X20,R20;void zifan()k=0;for(i=0;i<m;i+)for(j=0;j<2*n;j=j+2)if(Rj=Rj+1&&Rj=Xi) k+;if(k=m

20、) printf("R具有自反性 n");if(k=0) printf("R具有反自反性 n");void duichen()k=0;for(j=0;j<2*n;j=j+2)for(i=0;i<2*n;i=i+2)if(Rj=Ri+1&&Rj+1=Ri) k+;if(k=n) printf("R具有對(duì)稱性n");if(k=0) printf("R具有反對(duì)稱性n");void chuandi()int s;for(j=0;j<2*n;j=j+2)for(i=0;i<2*n;i=

21、i+2)if(Rj+1=Ri)k=0;for(s=0;s<2*n;s=s+2)if(Rs=Rj&&Rs+1=Ri+1) k+;if(k=0) return 0;if(j=2*n) printf("R具有傳遞性 n");int main()printf(" 請(qǐng)輸入集合 X 中的元素個(gè)數(shù)和關(guān)系 R 中的序偶個(gè)數(shù) :n"); scanf("%d%d",&m,&n);printf(" 請(qǐng)輸入集合X:n");for(i=0;i<m;i+)scanf("%d",X

22、+i);printf(" 請(qǐng)輸入關(guān)系R:(每?jī)蓚€(gè)連續(xù)輸入的數(shù)是一個(gè)序偶!)n");for(i=0;i<2*n;i+)scanf("%d",R+i);printf(" 集合 X:nX= ");for(i=0;i<m;i+)printf("%d,",Xi);printf("bn");printf(" 關(guān)系 R:nR= ");for(i=0;i<2*n;i=i+2)printf("<%d,%d>,",Ri,Ri+1);printf(

23、"bn");zifan();duichen();chuandi();五實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)結(jié)果截圖大小為:寬(10cm)×高( 8cm)六心得體會(huì)內(nèi)容格式:宋體,小五號(hào),行間距固定值18 磅實(shí)驗(yàn)四圖的矩陣運(yùn)算一實(shí)驗(yàn)?zāi)康膱D形的矩陣包括鄰接矩陣、可達(dá)矩陣和關(guān)聯(lián)矩陣,它們描述了一個(gè)圖形節(jié)點(diǎn)與邊之間的關(guān)系。可達(dá)矩陣表明了圖中任何兩個(gè)不同的結(jié)點(diǎn)之間是否存在至少一條道路,以及在任何結(jié)點(diǎn)處是否存在著回路??蛇_(dá)性矩陣是判別一個(gè)有向圖是否為強(qiáng)連通圖或弱連通圖的有效工具,通過(guò)編程實(shí)現(xiàn)圖形的矩陣,幫助同學(xué)們掌握?qǐng)D形矩陣生成方法。二實(shí)驗(yàn)原理定義設(shè) G = (V , E) 是圖,節(jié)點(diǎn)集合已編號(hào)V

24、= v1 , v2 , , vn ,則 G的鄰接矩陣A(G)=(a ij ) n×n中元素 aij 表示為:1若 vi ,v j Eaij若 vi , vj E0定義 設(shè) G = (V ,E) 是無(wú)向圖,節(jié)點(diǎn)集合和邊集合均已編號(hào)V = v 1, v2, , vn , E= e , e , , e ,則 G的關(guān)聯(lián)矩陣 M( G)mijnm 中元素 m 為12mij1, v i 是 ej 的起點(diǎn)m1, vi 是ej 的終點(diǎn), i = 1 , 2, , n; j = 1, 2 , , m。ij0, v i 與 ej 不關(guān)聯(lián)定義設(shè) G=( V, E)是一個(gè) n 階的有向簡(jiǎn)單圖,Vv1 , v

25、2 , ,vn 。定義矩陣P ( pi j )n n ,其中1,從vi 到v j存在非零的有向道路 ,pij其它,0,稱 P 是圖 G的可達(dá)矩陣。求可達(dá)矩陣可以先構(gòu)造A, A2 , , An ,再構(gòu)造 Bn A A2An ,最后利用關(guān)系1,若 b ( n),ij0pij若 b ( n),0,tj0確定 P 的元素 pij 從而構(gòu)造出 P。顯然,這種先求 A , A2 , A3, An , Bn 再構(gòu)造 P 的方法很費(fèi)事。如果我們把鄰接矩陣A 當(dāng)作關(guān)系矩陣,那么求可達(dá)矩陣就相當(dāng)于求A 的傳遞閉包,因此可以仿照集合論中求關(guān)系的傳遞閉包的辦法,求可達(dá)矩陣P。三實(shí)驗(yàn)內(nèi)容通過(guò)編程,將圖形的鄰接矩陣、關(guān)聯(lián)

26、矩陣、可達(dá)矩陣表示出來(lái)。四算法程序內(nèi)容格式:新羅馬,小五號(hào),行間距固定值18 磅鄰接矩陣:#include<stdio.h>main()int a44,i,j;for(i=0;i<4;i+)for(j=0;j<4;j+)scanf("%d",&aij);for(i=0;i<4;i+)for(j=0;j<4;j+)printf("%d",aij);printf("n");for(i=0;i<4;i+)for(j=0;j<4;j+)if(aij=aji) break;printf(" 該矩陣是鄰接矩陣!");關(guān)聯(lián)矩陣:#include "stdio.h"int main()int i,j,n,m,a1010;printf(" 輸入該矩陣為幾個(gè)點(diǎn):n");scanf("%d",&n);printf(" 輸入該矩陣為幾條邊:n");scanf("%d",&m);printf(" 輸入點(diǎn)與邊之間的關(guān)系,有關(guān)系起點(diǎn)為1,終點(diǎn)為 -1,沒有關(guān)系為0: n&quo

溫馨提示

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