12.07.2015 Views

Spis treœci - Patrz

Spis treœci - Patrz

Spis treœci - Patrz

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Liczba n będzie parametrem wczytywanym z wejścia. Program B będzie przepisywał swojestandardowe wejście na standardowe wyjście, natomiast program KONS będzie zliczałwczytane liczby i wynik wypisywał na standardowe wyjście.program PROD;var i,n: integer;beginreadln(n);for i:=l to n do write(i:4)end.program B;var i: integer;beginwhile not eof do beginread(i);write(i:4)endend.program KONS;var i,n: integer;beginn := 0;while not eof do beginread(i);n := n + 1end;writeln(n)end.Po skompilowaniu tych programów i utworzeniu z nich modułów wykonywalnych otakich samych nazwach jak programy, można napisać poleceniePROD|B|KONSProgram PROD będzie oczekiwał na podanie liczby, a po jej podaniu i wykonaniu kolejnoprogramów PROD, B i KONS ten ostatni wypisze liczbę wczytanych liczb. Będzie tooczywiście ta sama liczba, którą wczytał program PROD. Ten sam rezultat można uzyskaćpisząc:PROD|KONSalbo na przykładPROD|B|B|B|B|B|B|B|B|KONSprzy czym w tym drugim przypadku będziemy czekać na wynik odpowiednio dłużej.W rzeczywistości omawiany przykład ma niewiele wspólnego z problememsynchronizacji producenta i konsumenta. Tutaj producent najpierw wszystko produkuje, akonsument konsumuje dopiero wtedy, gdy wszystkie programy działające jako elementybufora „przepchną" po kolei swoje wejście na wyjście. Liczba elementów bufora nie ma więctak naprawdę żadnego znaczenia.11.3 Zadania277

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!