BACI System: C-- to PCODE Compiler in C, 11:30 1 Oct 2012 Source file: zad1.cm Sat Dec 8 22:50:54 2018 line pc 1 0 semaphore s2; 2 0 semaphore s; 3 0 const int N = 5; 4 0 int buffer[N]; 5 0 int write_pos = 0; 6 0 int read_pos = 0; 7 0 void queue_add(int item) 8 0 { 9 0 buffer[write_pos] = item; 10 5 write_pos = (write_pos + 1) % N; 11 12 } 12 13 int queue_get() 13 13 { 14 13 int item; 15 13 item = buffer[read_pos]; 16 19 read_pos = (read_pos + 1) % N; 17 26 return item; 18 30 } 19 31 20 31 void prod(int i, int n){ 21 31 int cnt = 1; 22 34 for(i; i <= n; i=i+1){ 23 45 wait(s2); 24 47 queue_add(cnt); 25 51 cnt = cnt +1; 26 56 signal(s); 27 58 } 28 59 } 29 60 30 60 void kons(int n){ 31 60 int i = 0; 32 63 int liczba; 33 63 for(i = 0; i < n; i = i+1){ 34 77 wait(s); 35 79 liczba = queue_get(); 36 84 signal(s2); 37 86 cout << "Pobralem" <