離散數(shù)學實驗報告_第1頁
離散數(shù)學實驗報告_第2頁
離散數(shù)學實驗報告_第3頁
離散數(shù)學實驗報告_第4頁
離散數(shù)學實驗報告_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《離散數(shù)學》實驗報告(2014/2015學年第一學期)題目:集合上二元關系性質(zhì)判定的實現(xiàn)專業(yè)信息安全學生姓名班級學號指導教師指導單位計算機學院計算機科學與技術系日期2015.9.29實驗內(nèi)容和要求內(nèi)容:編程實現(xiàn)任意集合上二元關系的性質(zhì)判定。要求:能正確判定任意二元關系的自反性、對稱性、傳遞性、反自反性和反對稱性。實驗目的通過實驗,幫助學生更好地掌握計算機科學技術常用的離散數(shù)學中的概念、性質(zhì)和運算,提高學生編寫實驗報告、總結(jié)實驗結(jié)果的能力,培養(yǎng)學生的邏輯思維能力和算法設計的思想,能夠獨立完成簡單的算法設計和分析,進一步用它們來解決實際問題,幫助學生學習掌握C/C++語言程序設計的基本方法和各種調(diào)試手段,使學生具備程序設計的能力。實驗任務編程實現(xiàn)任意集合上二元關系的性質(zhì)判定。實驗內(nèi)容#include

<iostream>

using

namespace

std;

int

const

MAX

=

1000;

int

matrix[MAX][MAX];

int

n;

bool

flag1,

flag2,

flag3,

flag4,

flag5;

void

Reflexive()

{

flag1

=

true;

for(int

i

=

0;

i

<

n;

i++)

{

if(!matrix[i][i])

{

flag1

=

false;

break;

}

}

}

void

Irreflexive()

{

flag2

=

true;

for(int

i

=

0;

i

<

n;

i++)

{

if(matrix[i][i])

{

flag2

=

false;

break;

}

}

}

void

Symmetry()

{

flag3

=

true;

for(int

i

=

0;

i

<

n;

i++)

for(int

j

=

0;

j

<

n;

j++)

if(matrix[i][j]

!=

matrix[j][i])

{

flag3

=

false;

break;

}

}

void

Dissymmetry()

{

flag4

=

true;

for(int

i

=

0;

i

<

n;

i++)

for(int

j

=

0;

j

<

n;

j++)

if(matrix[i][j]

&&

matrix[i][j]

==

matrix[j][i]

&&

i

!=

j)

{

flag4

=

false;

break;

}

}

void

Transitivity()

{

flag5

=

true;

for(int

i

=

0;

i

<

n;

i++)

for(int

j

=

0;

j

<

n;

j++)

for(int

k

=

0;

k

<

n;

k++)

if(matrix[i][j]

&&

matrix[j][k]

&&

!matrix[i][k])

{

flag5

=

false;

break;

}

}

void

Answer()

{

cout

<<

"該二元關系滿足以下性質(zhì)

:"

<<

endl;

if(flag1)

cout

<<

"自反性"

<<

endl;

if(flag2)

cout

<<

"反自反性"

<<

endl;

if(flag3)

cout

<<

"對稱性"

<<

endl;

if(flag4)

cout

<<

"反對稱性"

<<

endl;

if(flag5)

cout

<<

"傳遞性"

<<

endl;

}

int

main()

{

cout

<<

"請輸入集合中元素個數(shù)

n

=

";

cin

>>

n;

int

*a

=

new

int[n];

cout

<<

"請輸入集合元素:

";

for(int

i

=

0;

i

<

n;

i++)

cin

>>

a[i];

cout

<<

"集合為

A

=

{";

for(int

i

=

0;

i

<

n

-

1;

i++)

cout

<<

a[i]

<<

",";

cout

<<

a[n

-

1]

<<

"}"

<<

endl;

cout

<<

"請輸入關系矩陣:\n";

for(int

i

=

0;

i

<

n;

i++)

for(int

j

=

0;

j

<

n;

j++)

cin

>>

matrix[i][j];

cout

<<

endl;

Reflexive();

Irreflexive();

Symmetry();

Dissymmetry();

Transitivity();

Answer();

delete

[]a;

return

0;

}

測試數(shù)據(jù)及其結(jié)果分析請輸入集合中元素個數(shù)

n

=3請輸入集合元素:1,2,3集合為

A

=

{1,2,3}請輸入關系矩陣:100010001該二元關系滿足以下性質(zhì)

:對稱性反對稱性調(diào)試過程中的問題有些代碼涉及的算法并不能想到,需要自己百度一下程序設計總結(jié)通過本次試驗,我知道了如何利用程序進行集合上二元關系性質(zhì)判定的實現(xiàn)。

邏輯推總之,評分細則評分項優(yōu)秀良好中等差遵守機房規(guī)章制度上機時的表現(xiàn)學習態(tài)度算法思想準備情況程序設計能力解決問題能

溫馨提示

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

評論

0/150

提交評論