您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 薪酬管理 > 离散数学实验指导1-2
实验一判断代数系统G,*性质的算法【实验目的】通过算法设计并编程实现判断代数系统是否满足相关性质,掌握代数系统中相关性质的定义,加深对代数系统的理解。【实验内容】输入代数系统G,*的集合G和*运算的运算表,判断G,*中的*运算是否是封闭的,可结合的,可交换的,等幂的,如果不满足请说明原因。其中,代数系统G,*中G为字母集合,G={a,b,c,…}。【实验原理和方法】(1)用一维数组a[n]存储集合G。(2)用二维数组op[n][n]存储*的运算表。(3)封闭的:对于A中任意元素x,y,都有x*y∈A。(4)可结合的:对于A中任意元素x,y,z都有(x*y)*z=x*(y*z)。(5)可交换的:对于A中任意元素x,y,都有x*y=y*x。(6)等幂的:若对于A中任意元素x,都有x*x=x。【实验环境及工具】运行Windows或Linux操作系统的PC机,任意软件开发语言C,C++,Java等及相应的开发环境。实验二判断代数系统G,*是否为群【实验目的】通过算法设计并编程实现,掌握群的判定方法,加深对群的概念的理解。【实验内容】输入代数系统G,*的集合G和*运算的运算表,判断G,*是否是群,如果不是请说明原因。具体的,给定一个代数系统G,*,其中,代数系统G,*中G为数字集合,G={1,2,…,n},要求判断:(1)G,*是否为半群;(2)G,*是否为含幺半群;(3)G,*是否为群。【实验原理和方法】(1)用一维数组a[n]存储集合G。(2)用二维数组op[n][n]存储*的运算表。(3)半群:S,*是一个代数系统,S为非空集合,*是定义在S上的二元运算,*封闭,可结合。(4)含幺半群:含有幺元的半群。(5)群:每个元素都有逆元的含幺半群。【实验环境及工具】运行Windows或Linux操作系统的PC机,任意软件开发语言C,C++,Java等及相应的开发环境。#includeiostreamusingnamespacestd;intmain(){chara[20],op[20][20];intx1[20],y1[20],z1[20];intnum,f=0,b=0,c=0,d=0,e=0,n=0;cout请输入所求代数系统中元素个数,以回车键结束endl;cinnum;cout请输入数组a[num],以回车键结束endl;for(inti=0;inum;i++)cina[i];cout请输入运算表,以回车键结束endl;for(i=0;inum;i++)for(intj=0;jnum;j++)cinop[i][j];for(intk=0;knum;k++)for(inti=0;inum;i++)for(intj=0;jnum;j++){if(op[k][i]==a[j])b++;}if(b==num*num)cout满足封闭性。endl;elsecout不满足封闭性。endl;for(i=0;inum;i++)for(intj=0;jnum;j++)for(intl=0;lnum;l++){for(intk=0;knum;k++){d=0;if(op[i][j]==a[k]){d=1;break;}}if(d==0){x1[n]=i;y1[n]=j;z1[n]=l;n++;}else{for(intm=0;mm;m++){e=0;if(op[j][l]==a[m]){e=1;break;}}if(e==0){x1[n]=i;y1[n]=j;z1[n]=l;n++;}elseif(op[k][l]!=op[i][m]){x1[n]=i;y1[n]=j;z1[n]=l;n++;}}}if(n0)cout不满足可结合性。endl;elsecout满足可结合性。endl;for(i=0;inum;i++){if(op[0][i]==a[i]&&op[i][0]==a[i])c++;}if(c==num)cout满足可交换性。endl;elsecout不满足可交换性。endl;for(k=0;knum;k++){if(op[k][k]==a[k])f=0;elsef++;}if(f==0)cout满足等幂性。endl;elsecout不满足等幂性。endl;return0;}
本文标题:离散数学实验指导1-2
链接地址:https://www.777doc.com/doc-5726607 .html