, , . , . , . , .
, . . , . , . . , , , . , , , .
Begin integer ;
:= 1;
Parbegin
1: begin
L1: if ( = 2) then goto L1;
1;
:= 2;
1;
Goto L1;
end;
2: begin
L2: if ( = 1) then goto L2;
2;
:= 1;
2;
Goto L2;
end;
Parend;
End;
***************************
int turn=1;
Void P0()
{
While (1)
{
while(turn!=0)
1;
turn=1;
.
}
}
Void P1()
{
While (1)
{
while(turn!=1)
2;
turn=0;
.
}
}
Void main()
{
Parbegin(P0,P1);
}
:
1. . .
2. - , .
Begin integer 1,2;
1:= 1;
2:= 1;
Parbegin
1: begin
L1: if (2 = 0) then goto L1;
1:= 0;
1;
1:= 1;
1;
Goto L1;
End;
2: begin
L2: if (1 = 0) then goto L2;
2:= 0;
2;
2:= 1;
|
|
2;
Goto L2;
End;
Parend;
End;
int flag[2];
Void P0()
{
While (1)
{
while (flag[1]);
flag[0]=1;
1;
flag[0]=0;
.
}
}
Void P1()
{
While (1)
{
while (flag[0]);
flag[1]=1;
2;
flag[1]=0;
.
}
}
Void main()
{
flag[0]=0;
flag[1]=0;
Parbegin(P0,P1);
}
. .
( 3)::
Begin integer 1,2;
1:= 1;
2:= 1;
Parbegin
1: begin
1: 1:= 0;
L1: if (2 = 0) then goto L1;
1;
1:= 1;
1;
Goto 1;
End;
2: begin
2: 2:= 0;
L2: if (1 = 0) then goto L2;
2;
2:= 1;
2;
Goto 2;
End;
Parend;
End;
int flag[2];
Void P0()
{
While (1)
{
flag[0]=1;
while (flag[1]);
1;
flag[0]=0;
.
}
}
Void P1()
{
While (1)
{
flag[1]=1;
while (flag[0]);
2;
flag[1]=0;
.
}
}
Void main()
{
flag[0]=0;
flag[1]=0;
Parbegin(P0,P1);
}
. , .
4.
Begin integer 1,2;
1:= 1;
2:= 1;
Parbegin
1: begin
L1: 1:= 0;
if (2 = 0) then begin C1:= 1; goto L1;
End;
1;
1:= 1;
1;
Goto L1;
End;
2: begin
L2: 2:= 0;
if (1 = 0) then begin C2:= 1; goto L2;
End;
2;
2:= 1;
2;
Goto L2;
End;
Parend;
End;
int flag[2];
Void P0()
{
While (1)
{
flag[0]=1;
while (flag[1]);
{
flag[0]=0;
;
flag[0]=1;
}
1;
flag[0]=0;
.
}
}
Void P1()
{
While (1)
{
flag[1]=1;
while (flag[0]);
{
flag[1]=0;
;
flag[1]=1;
}
2;
flag[1]=0;
.
}
}
Void main()
{
flag[0]=0;
flag[1]=0;
Parbegin(P0,P1);
}
. , .
. .