CSP pointeri
Da li u CSP-u postoje pointeri i ako ne postoje kako se resava sledeci zadatak?
3. Postoji N procesa node (i:1..N) koji ili cuvaju elemente liste ili su slobodni. Svaki od njih moze da cuva neku vrednost (vred) i pointer na sledeci element u listi (sled). Proces head cuva pointer na prvi element u listi. Prilikom brisanja elementa iz liste proces koji ga predstavlja se prebacuje na pocetak liste slobodnih procesa na koji ukazuje proces free. Proces start inicira brisanje elementa sa zadatom vrednoscu iz liste. Realizovati procedure za sve navedene procese pomocu CSP-a.
Resenje:
node:: vred: integer;
sled: pointer;
[free:: prvi: pointer;
buffer: pointer;
X?buffer;
buffer.sled:=prvi;
prvi:=buffer;
||X:: USER;
]
[head:: prvi: pointer;
start?m;
start!prvi;
]
[start:: buffer: integer;
novi, stari: pointer;
X?buffer;
head!novi;
head?novi;
*[novi.vred<>buffer; novi.sled<>nil -> stari:=novi; novi:=novi.sled;]
[novi.vred=buffer -> stari.sled:=novi.sled; free!novi;
[]novi.vred<>buffer -> skip;
]
||X::USER
]
3. Postoji N procesa node (i:1..N) koji ili cuvaju elemente liste ili su slobodni. Svaki od njih moze da cuva neku vrednost (vred) i pointer na sledeci element u listi (sled). Proces head cuva pointer na prvi element u listi. Prilikom brisanja elementa iz liste proces koji ga predstavlja se prebacuje na pocetak liste slobodnih procesa na koji ukazuje proces free. Proces start inicira brisanje elementa sa zadatom vrednoscu iz liste. Realizovati procedure za sve navedene procese pomocu CSP-a.
Resenje:
node:: vred: integer;
sled: pointer;
[free:: prvi: pointer;
buffer: pointer;
X?buffer;
buffer.sled:=prvi;
prvi:=buffer;
||X:: USER;
]
[head:: prvi: pointer;
start?m;
start!prvi;
]
[start:: buffer: integer;
novi, stari: pointer;
X?buffer;
head!novi;
head?novi;
*[novi.vred<>buffer; novi.sled<>nil -> stari:=novi; novi:=novi.sled;]
[novi.vred=buffer -> stari.sled:=novi.sled; free!novi;
[]novi.vred<>buffer -> skip;
]
||X::USER
]
- Follow-Ups:
- Re: CSP pointeri
- From: Zaharije Radivojevic <zaki@galeb.etf.bg.ac.yu>
- Re: CSP pointeri
Previous by date: Re: Pitanje 2 za zaharija
Next by date: Re: CSP pointeri
Previous by thread: Re: Pitanje 2 za zaharija Next by thread: Re: CSP pointeri
Previous by thread: Re: Pitanje 2 za zaharija Next by thread: Re: CSP pointeri