Académique Documents
Professionnel Documents
Culture Documents
Fie (Q,●)-grupoid. Vom spune ca e este (n,m) unitate, daca se indeplinesc urmatoarele conditii:
1. e∗e=e
2. n ( e , x ) x=x , pentruorice x ∈(G, ∙)
3. ( x ,e ) m=x , pentru orice x ∈(G ,∙)
program unitate_multipla;
uses crt;
label y;
type masiv=array[1..20,1..20] of byte;
var i,j,r,r1,r2,d,d1,m,t,p,i2,k,k1,n,l:byte;
{t:boolean;}
a:masiv;
c,b:array[1..20] of 0..20;
function mm(g:byte):byte;
var ii,jj,k,x,q:byte;
begin
for jj:=1 to n do begin
k:=0;
x:=jj;
repeat begin
x:=a[x,g];
inc(k);
end;
until(x=jj)or(k>n);
if k>n then b[jj]:=0 else b[jj]:=k;
end;
q:=b[1];
for jj:=1 to n do
if b[jj]>q then q:=b[jj];
mm:=q;
end;
function nn(gg:byte):byte;
var ii,jj,k,x,q:byte;
begin
for jj:=1 to n do begin
k:=0;
x:=jj;
repeat begin
x:=a[gg,x];
inc(k);
end;
until(x=jj)or(k>n+1);
if k>n then c[jj]:=0 else c[jj]:=k;
end;
q:=c[1];
for jj:=1 to n do
if c[jj]>q then q:=c[jj];
nn:=q;
end;
Procedure unitate_dreapta(gr:masiv);
var l,i,k: integer;
begin
j:=0; r:=0;
for i:=1 to n do begin
l:=0; inc(j);
if gr[j,i]=i then begin
for k:=1 to n do begin
if gr[k,j]=k then inc(l);
if l=n then r:=j;
end; end; end;
if r<>0 then writeln('Este unitate de dreapta ',r)
else writeln('Nu este unitatea de dreapta');
end;
Procedure unitate_stanga(gr:masiv);
var l,i,k: integer;
begin
j:=0; r2:=0;
for i:=1 to n do begin
l:=0; inc(j);
if gr[i,j]=i then begin
for k:=1 to n do begin
if gr[j,k]=k then inc(l);
if l=n then r2:=j;
end; end; end;
if r2<>0 then writeln('Este unitate de stanga ',r2)
else writeln('Nu este unitatea de stanga');
end;
Procedure unitatea;
begin
if (r=r2) and (r>0) then writeln('este unitate ',r) else
writeln('nu este unitate',r);
end;
Procedure asociativ(gr:masiv);
var l,i,k,j:integer;
begin
l:=0;
for i:=1 to n do
for j:=1 to n do
for k:=1 to n do
begin
d:=gr[j,k];
d1:=gr[i,j];
if gr[i,d]<>gr[d1,k] then inc(l);
end;
if l=0 then writeln('este asociativ') else
writeln('nu este asociativ');
end;
Procedure medial(gr:masiv);
var l,i,j,k,t:integer;
begin
l:=0;
for i:=1 to n do
for j:=1 to n do
for k:=1 to n do
for t:=1 to n do
begin
d:=gr[i,j];
r:=gr[k,t];
d1:=gr[i,k];
r1:=gr[j,t];
if gr[d,r]<>gr[d1,r1] then inc(l);
end;
if l=0 then writeln('este medial') else
writeln('nu este medial');
end;
Procedure paramedial(gr:masiv);
var l,i,j,k,t:integer;
begin
l:=0;
for i:=1 to n do
for j:=1 to n do
for k:=1 to n do
for t:=1 to n do
begin
d:=gr[i,j];
r:=gr[k,t];
d1:=gr[t,j];
r1:=gr[k,i];
if gr[d,r]<>gr[d1,r1] then inc(l);
end;
if l=0 then writeln('este paramedial') else
writeln('nu este paramedial');
end;
Procedure bicomutativ(gr:masiv);
var l,i,j,k,t:integer;
begin
l:=0;
for i:=1 to n do
for j:=1 to n do
for k:=1 to n do
for t:=1 to n do
begin
d:=gr[i,j];
r:=gr[k,t];
d1:=gr[t,k];
r1:=gr[j,i];
if gr[d,r]<>gr[d1,r1] then inc(l);
end;
if l=0 then writeln('este bicomutativ') else
writeln('nu este bicomutativ');
end;
Procedure ag_gr(gr:masiv);
var l,i,j,k:integer;
begin
l:=0;
for i:=1 to n do
for j:=1 to n do
for k:=1 to n do
begin
d:=gr[i,j];
d1:=gr[k,j];
if gr[d,k]<>gr[d1,i] then inc(l);
end;
if l=0 then writeln('este AG grupoid') else
writeln('nu este AG grupoid');
end;
Procedure ga_gr(gr:masiv);
var l,i,j,k:integer;
begin
l:=0;
for i:=1 to n do
for j:=1 to n do
for k:=1 to n do
begin
d:=gr[i,j];
d1:=gr[j,i];
if gr[d,k]<>gr[k,d1] then inc(l);
end;
if l=0 then writeln('este GA grupoid') else
writeln('nu este GA grupoid');
end;
{Procedure ga_gr1(gr:masiv);
var l:integer;
begin
l:=0;
for i:=1 to n do
for j:=1 to n do
for k:=1 to n do
begin
d:=gr[i,j];
d1:=gr[k,i];
if gr[d,k]<>gr[d1,j] then inc(l);
end;
if l=0 then writeln('este GA grupoid') else
writeln('nu este GA grupoid');
end;}
Procedure ad_gr(gr:masiv);
var l,i,j,k:integer;
begin
l:=0;
for i:=1 to n do
for j:=1 to n do
for k:=1 to n do
begin
d:=gr[i,j];
procedure tipar(h:masiv);
var contor,i,j:integer;
begin
contor:=0;
write('a,(*);');
for i:=1 to n do begin
contor:=contor+3;
gotoxy(2+3*i,3);
write('_');
gotoxy(4,i+3);
write('|');
gotoxy(3+contor,3);
write(i);
end;
for i:=1 to n do
for j:=1 to n do begin
gotoxy(3+3*j,3+i);
writeln(h[i,j]);
end;end;
Begin
y:clrscr;
write('dati n');
readln(n);
for i:=1 to n do begin
gotoxy(2+3*i,3);
write('_');
gotoxy(4,i+3);
write('|');
gotoxy(3+3*i,2);
write(i);
gotoxy(3,3+i);
write(i); end;
for i:=1 to n do
for j:=1 to n do
begin
gotoxy(3+3*j,3+i);
read(a[i,j]);
end;
for i:=1 to n do
for j:=1 to n do
for l:=1 to j-1 do
if a[i,j]=a[i,1] then goto y;
for i:=1 to n do
for j:=1 to n do
for l:=1 to j-1 do
if a[i,j]=a[i,1] then goto y;
clrscr;
tipar(a);
for i:=1 to n do
if ((a[i,i]=i) and (mm(i)<>0) and (nn(i)<>0)) then begin
writeln(i,'=E(',nn(i),',',mm(i),')');
end;
unitate_stanga(a);
unitate_dreapta(a);
asociativ(a);
medial(a);
paramedial(a);
bicomutativ(a);
ag_gr(a);
ga_gr(a);
ad_gr(a);
da_gr(a);
hexagonal(a);
dist_dr(a);
dist_st(a);
readkey;
end.
Rezultate:
1. dati n=3
_1 _2 _3
| 1 2 3
| 3 1 2
| 2 3 1
1=E(1,2)
nu este asociativ
este medial
este paramedial
este bicomutativ
este AG grupoid
nu este GA grupoid
nu este AD grupoid
nu este DA grupoid
nu este hexagonal
2. dati n=4
_1 _2 _3 _4
| 1 2 4 3
| 3 4 2 1
| 4 1 3 2
| 2 3 1 4
1=E(2,3)
3=E(3,2)
4=E(3,3)
nu este asociativ
nu este medial
nu este paramedial
nu este bicomutativ
nu este AG grupoid
nu este GA grupoid
nu este AD grupoid
nu este DA grupoid
nu este hexagonal
3.Dati n=5
_1 _2 _3 _4 _5
| 1 5 4 3 2
| 3 2 1 5 4
| 5 4 3 2 1
| 2 1 5 4 3
| 4 3 2 1 5
1=E(2,4)
2=E(2,4)
3=E(2,4)
4=E(2,4)
5=E(2,4)
Nu este unitatea de stanga
Nu este unitatea de dreapta
nu este asociativ
este medial
nu este paramedial
nu este bicomutativ
este AG grupoid
nu este GA grupoid
nu este AD grupoid
nu este DA grupoid
este hexagonal
este distributiv la dreapta
este distributiv la stinga
4.Dati n=4
_1 _2 _3 _4
| 1 2 4 3
| 2 1 3 4
| 3 4 1 2
| 4 3 2 1
1=E(2,1)
nu este asociativ
este medial
este paramedial
este bicomutativ
nu este AG grupoid
nu este GA grupoid
nu este AD grupoid
este DA grupoid
nu este hexagonal
_1 _2 _3 _4 _5
| 1 3 2 5 4
| 3 4 1 2 5
| 2 1 5 4 3
| 5 2 4 3 1
| 4 5 3 1 2
1=E(2,2)
nu este asociativ
este medial
este paramedial
este bicomutativ
nu este AG grupoid
este GA grupoid
este AD grupoid
nu este DA grupoid
nu este hexagonal
6.dati n=5
_1 _2 _3 _4 _5
| 1 3 2 5 4
| 4 2 5 1 3
| 5 4 3 2 1
| 3 5 1 4 2
| 2 1 4 3 5
1=E(2,4)
2=E(2,4)
3=E(2,4)
4=E(2,4)
5=E(2,4)
nu este asociativ
este medial
nu este paramedial
nu este bicomutativ
este AG grupoid
nu este GA grupoid
nu este AD grupoid
nu este DA grupoid
este hexagonal
7.dati n=4
_1 _2 _3 _4
| 1 2 3 4
| 2 1 4 3
| 4 3 1 2
| 3 4 2 1
1=E(1,2)
nu este asociativ
este medial
este paramedial
este bicomutativ
este AG grupoid
nu este GA grupoid
nu este AD grupoid
nu este DA grupoid
nu este hexagonal
Numarul matricei
№ 1 2 3 4 5 6 7
Unit.de Dr. - - - 1 - - -
Unit. de St. 1 - - - - - 1
Unitate - - - - - - -
1=E(1,2) 1=E(1,2) 1=E(2,4 1=E(2,1) 1=E(2,2 1=E(2,4) 1=E(1,2)
3=E(3,2) ) ) 2=E(2,4) )
4=E(3,3) 2=E(2,4 3=E(2,4)
) 4=E(2,4)
3=E(2,4 5=E(2,4)
Unit.Mult.
)
4=E(2,4
)
5=E(2,4
)
Asociativ - - - - - - -
Medial + - + + + + +
Paramedial + - - + + - +
Bicomutativ + - - + + - +
AG-grupoid + - + - - + +
GA-grupoid - - - - + - -
AD-grupoid - - - - + - -
DA-grupoid - - - + - - -
Hexagonal - - + - - + -
Distr. dr. - - + - - + -
Distr. st. - - + - - + -