КДП/Фебруар 2023 — разлика између измена

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
(feb2023, rešenje kačim kad dobijem rezultat)
 
м (kategorije zadataka)
Ред 9: Ред 9:
=== Решење ===
=== Решење ===


== 2. задатак ==
== {{категорија|2. задатак|Монитори}} ==
{{делимично_решено}}
{{делимично_решено}}
=== Поставка ===
=== Поставка ===
Ред 16: Ред 16:
=== Решење ===
=== Решење ===


== 3. задатак ==
== {{категорија|3. задатак|Активни_монитори}} ==
=== Поставка ===
=== Поставка ===
Користећи активне мониторе решити проблем филозофа који ручавају (''The Dining Philosophers''). Филозофи могу да комуницирају искључиво са процесом координатором (централизовано решење). Обезбедити да филозоф који је пре затражио да једе пре и започиње са јелом. Написати код за филозофе и за процес координатор.
Користећи активне мониторе решити проблем филозофа који ручавају (''The Dining Philosophers''). Филозофи могу да комуницирају искључиво са процесом координатором (централизовано решење). Обезбедити да филозоф који је пре затражио да једе пре и започиње са јелом. Написати код за филозофе и за процес координатор.
Ред 23: Ред 23:
: ''Исти задатак дошао је у [[КДП/Јул 2020#3. задатак|јулу 2020. године]].
: ''Исти задатак дошао је у [[КДП/Јул 2020#3. задатак|јулу 2020. године]].


== 4. задатак ==
== {{категорија|4. задатак|CSP}} ==
{{делимично_решено}}
{{делимично_решено}}
=== Поставка ===
=== Поставка ===

Верзија на датум 11. фебруар 2023. у 05:01

Поставка овог рока може се наћи са странице предмета.

1. задатак

Овај задатак није решен. Помозите SI Wiki тако што ћете га решити.

Поставка

Fine grain Ticket алгоритам реализован помоћу addAndGet операције. Уколико би addAndGet операција имала следећи ефекат: addAndGet(var, incr) : < var = var + incr; return(var);, да ли је могуће направити Fine grain решење, полазећи од Coarse grain решења, и ако је могуће - направите га. Написати и Coarse grain решење.

Решење

2. задатак

Овај задатак није решен. Помозите SI Wiki тако што ћете га решити.

Поставка

Племе људождера једе заједничку вечеру из казана који може да прими M порција куваних мисионара (The Dining Savages Problem). Када људождер пожели да руча онда се он сам послужи из заједничког казана, уколико казан није празан. Уколико је казан празан људождер буди кувара и сачека док кувар не напуни казан и онда узима своју порцију, а тек након тога преостали могу јести. Није дозвољено будити кувара уколико се налази бар мало хране у казану. Написати монитор са signal and continue дисциплином који решава дати проблем.

Решење

3. задатак

Поставка

Користећи активне мониторе решити проблем филозофа који ручавају (The Dining Philosophers). Филозофи могу да комуницирају искључиво са процесом координатором (централизовано решење). Обезбедити да филозоф који је пре затражио да једе пре и започиње са јелом. Написати код за филозофе и за процес координатор.

Решење

Исти задатак дошао је у јулу 2020. године.

4. задатак

Овај задатак није решен. Помозите SI Wiki тако што ћете га решити.

Поставка

На једној обали реке се налази чамац који превози путнике са једне на другу обалу и који може да прими тачно десет путника. Чамац могу да користе мушкарци, жене и деца. Чамац може да исплови само ако се у њему налази тачно онолико путника колики му је капацитет, али само под условом да се у чамцу налазе бар два мушкарца. Деца не смеју ући у чамац уколико се у њему не налазе бар једна одрасла особа и по завршетку вожње у чамцу не смеју да остану само деца. Сматрати да ће се чамац након искрцавања свих путника одмах бити спреман да прими наредну групу путника. Користећи CSP написати програм који решава овај проблем.

Решење