.


:




:

































 

 

 

 





, ( ) , .

, , . , . A , B . , , N , :

A: B:
... R1:= N; R1:= R1 - 1; N:= R1; ... ... R2:= N; R2:= R2 + 1; N:= R2; ...

, . , , , :

1) R1:= N; R2:= N; R2:= R2 + 1; N:= R2; R1:= R1 - 1; N:= R1;

2) R2:= N; R2:= R2 + 1; R1:= N; R1:= R1 - 1; N:= R1; N:= R2;

3) R1:= N; R1:= R1 - 1; N:= R1; R2:= N; R2:= R2 + 1; N:= R2;

? , 1 N 1, 2 1, 3 N, , .

.

 , .

 , , .

 , , .

: , .

, , . , , , .

. . , , .

.

, , .

N. , , .

?

, ( ) . , Free, . , , :

A: B:
... while not Free do ; Free:= false; ( A) Free:= true; ... ... while not Free do ; Free:= false; ( B) Free:= true; ...

while , , .

- Free A B?

, , , : Free. .

, . , , . , . , . Free . , , ( ) , , , .

, , . , , :

 , ;

 , ;

 .

. /3/ /4/ .

( , ), , .

. flagA, flagB, false, turn: A..B.

A: B:
... flagA:= true; turn:= B; while flagB and turn = B do ; ( A) flagA:= false; ... ... flagB:= true; turn:= A; while flagA and turn = A do ; ( B) flagB:= false; ...

, . -, , , . -, .

. , , , , . , , Pentium. , .





:


: 2016-10-22; !; : 444 |


:

:

,
==> ...

1868 - | 1786 -


© 2015-2024 lektsii.org - -

: 0.01 .