Pliki_SOP/Zadania_domowe/test2/zad3.lst

33 lines
1012 B
Plaintext
Raw Normal View History

2018-12-10 12:01:06 +01:00
BACI System: C-- to PCODE Compiler in C, 11:30 1 Oct 2012
Source file: zad3.cm Mon Dec 10 11:50:29 2018
line pc
1 0 monitor s{
2 0 condition c;
3 0 condition t;
4 0 int result;
5 0 int computed;
6 0 void complicatedCalculation(){
7 1 result = 42;
8 4 computed = 1;
9 7 signalc(c);
10 9 signalc(t);
11 11 }
12 13 int askAboutUniverse(){
13 14 if (computed != 1){ waitc(t); }
14 21 return result;
15 25 }
16 27 int getPizzaDiameter(){
17 28 if (computed != 1){ waitc(c); }
18 35 return result;
19 39 }
20 41 init { result = 0; computed = 0; }
21 48 }
22 48
23 48 void server() { complicatedCalculation(); }
24 52 void scientist() { cout << askAboutUniverse() << endl; }
25 58 void pizzerman() { cout << getPizzaDiameter() << endl; }
26 64
27 64 main(){
28 65 cobegin { server(); scientist(); pizzerman(); }
29 76 }