ОО2/К2 2026 — разлика између измена
(Нова страница: {{tocright}} {{нерешено}}<!-- Ово ставити уколико НИЈЕДАН задатак није решен, док уколико само неки задаци нису решени на првом месту у њиховој секцији поставити {{делимично решено}}. Уколико се користи било који од ова два шаблона, ОБАВЕЗНО проверити да ли постоји и…) |
м (Mb преместио је страницу OO2/K2 2026 на ОО2/К2 2026 преко преусмерења) |
| (Једна међуизмена истог корисника није приказана) | |
(нема разлике)
| |
Тренутна верзија на датум 13. јун 2026. у 21:44
- Овај рок није решен. Помозите SI Wiki тако што ћете га решити.
К2 2026. године одржан је 6. месеца. Колоквијум носи 15 поена.
1. задатак
Поставка
Написати Java програм који симулира рад са артиклима у продавници. Имплементирати класу артикл за коју је могуће дохватити име и цену. Имплементирати класу недоступни артикл, која је изведена из класе артикл, и за коју покушај дохватања цене резултује грешком. Написати тест који креира листу артикала (укључујући недоступни артикл) и омогућити испис свих артикла који задовољавају неки услов. Тестирати рад програма исписом свих артикла чија је цена мања од 100. Задавање услова обавити коришћењем ламбда функција.
Решење
2. задатак
Поставка
Написати Java програм који симулира паралелну статистичку обраду оцена студената. Имплементирати класу бројач оцена која рачуна колико пута се задата оцена појављује у задатом низу. Подаци се задају приликом креирања објекта. Бројање се ради у петљи, где се у свакој итерацији проверава један елемент низа, а затим паузира рад програма на 500 милисекунди. Омогућити да се дохвати коначан број избројаних оцена. Написати класу статистика којој се задаје низ и која покреће 6 нити, где свака рачуна колико се пута јавља једна оцена од 5 до 10. Након што се заврши пребројавање свих оцена, класа статистика испише све податке на стандардни излаз. Написати тест који тестира рад програма.
Решење
3. задатак
Поставка
Написати Java програм који демонстрира рад поједностављене пумпе. Имплементирати класу резервоар који има максимални капацитет горива у литрима, као и тренутну количину горива које се налази у њему. У резервоар је могуће додати задату количину горива и источити задату количину горива из резервоара. Имплементирати класу пиштољ која на сваких 700 милисекунди секунде покуша да источи 1 литар из резервоара. Уколико у резервоару нема довољно горива, пиштољ се блокира док се не дода ново гориво у резервоар. Имплементирати класу цистерна која на сваких 5 секунди дода насумичан број (између 25 и 50) литара горива у резервоар. Уколико у резервоар не може да стане количина горива коју цистерна покушава да дода, у резервоар се дода онолико горива колико може да стане, а затим се цистерна блокира док се не направи простор за још горива. Када се цистерна одблокира, прво мора да источи количину горива коју поседује, а тек онда креира нову количину горива. Сваки пиштољ и цистерна поседују идентификатор и врше испис поруке на стандардни излаз сваки пут када успешно заврше радњу са резервоаром. Написати 2 теста која симулирају рад резервоара, пиштоља и цистерне. Оба теста раде са једним резервоаром капацитета 50 литара. Први тест симулира рад резервоара са 5 пиштоља и 2 цистерне, а други тест симулира рад резервоара са 100 пиштоља и 1 цистерном.