Advertisement
Guest User

Untitled

a guest
May 5th, 2015
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
CSS 1.65 KB | None | 0 0
  1. WYSLIJ_DOWOLNY = [(j:1..M) qbuf(j) != 0 -> { jakość != 0 -> element jest w buforze }
  2.                     ile(qbuf(j))--;
  3.                     K(i) ! pbuf(j);
  4.                     (pbuf(j), qbuf(j)) = (0,0)
  5.                  ]
  6.  
  7. WYSLIJ_JEDEN = [(j:1..M) qbuf(j) == 1 ->
  8.                     ile(1)--;
  9.                     K(i) ! pbuf(j);
  10.                     (pbuf(j), qbuf(j)) = (0,0)
  11.                ]
  12.  
  13. [MAG :: ile(1..2) :integer; pbuf(1..M) :porcja; qbuf(1..M) :jakosc; czeka :integer
  14.     ile = {0};
  15.     pbuf = {0};
  16.     qbuf = {0};
  17.     czeka = 0;
  18.     *[ile(1) + ile(2) == M -> { bufor pełny }
  19.         [(i:1..K) K(i) ? jakosc(2) ->  {Klient chce 2 i jest w buforze}
  20.             WYSLIJ_DOWOLNY;
  21.         |(i:1..K) ile(1) > 0; K(i) ? jakosc(1) -> { Klient chce 1 i 1 jest w buforze }
  22.             WYSLIJ_JEDEN;
  23.         |(i:1..K) ile(1) == 0; czeka == 0; K(i) ? jakosc(1) ->
  24.             { nie ma 1 w buf i nikt nie czeka }
  25.             czeka = i;
  26.         |(i:1..P) ile(1) == 0; czeka != 0; P(i) ? jakosc(1) ->
  27.             { Ktoś czeka na 1 i jest producent. Połącz ich }
  28.             P(i) ! czeka;
  29.             P(czeka) ! producent(i);
  30.         ]
  31.     |ile(1) + ile(2) < M -> { bufor niepełny }
  32.         [(i:1..P) jak :jakosc; P(i) ? jak -> { Producent pcha towar }
  33.             P(i) ! Ładuj();
  34.             P(i) ? p
  35.             [(k:1..M) qbuf(j) == 0 -> (pbuf(j), qbuf(j)) = (p, jak)]
  36.         |(i:1..K) ile(1) > 0; K(i) ? jakosc(1) ->
  37.             { Klient chce 1 i jest 1 w buforze }
  38.             WYSLIJ_JEDEN;
  39.         |(i:1..K) ile(1) + ile(2) > 0; K(i) ? jakosc(2) ->
  40.             { Klient chce 2 i coś jest }
  41.             WYSLIJ_DOWOLNY;
  42.         ]
  43.     ]
  44. ]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement