Search
Tento úkol se odevzdává do BRUTE a budeme ho bodovat manuálně.
Přehled studentů a vybraných témat
Zadání je stanoveno na základě domluvy studenta s cvičícím. Součástí zadání jsou i stručné požadavky na funkcionalitu programu.
Zadání je nutné domluvit s cvičícím co nejdřív, nejpozději do konce sedmého výukového týdne semestru. V případě odevzdání neschválené práce nemusí být tato akceptována, případně může být ohodnocena pouze minimem bodů.
Pro semestrální práci si lze vybrat jednu ze dvou možností:
Semestrální práce se odevzdává přes BRUTE a email cvičícímu. Program a dokumentace, které odevzdáváte, by měly být všechny v BRUTE, email pak slouží k notifikaci učitele, že jste připraveni semestrálku odevzdat. Doporučujeme semestrální práci průběžně ukládat na fakultní GitLab, do emailu pak přidejte i odkaz na něj včetně verze (commit hash nebo tag) semestrálky, kterou odevzdáváte. Předpokládá se, že s prací odevzdáte také testovací vstupy. Vzhledem k jejich velikosti je předpoklad je ponechat na GitLabu a do BRUTE odevzdat pouze zdrojový kód a dokumentaci.
Termín odevzdání je konec výukového období, tj. neděle 11. ledna 2026. Odevzdání je možné i později, ale již bude aplikována penalizace ve výšce poloviny bodů z možného bodového zisku.
Za semestrální práci je možné získat až 20 bodů. Požadované minimum k zápočtu je 10 bodů.
Semestrální práce se skládá ze dvou částí - programu a dokumentace. Obe části jsou hodnoceny stejným počtem 10 bodů (dohromady 20 bodů).
Program (10 bodů) musí zahrnovat následující položky:
CMakeLists.txt
Komunikace s programem probíhá zásadně přes terminál. Pro výpisy lze využít základní sadu znaků ASCII a případně základní barvy.
Semestrální práce prezentuje vaše znalosti a dovednosti, které jste získali v průběhu semestru. Proto lze využívat pouze takové externí knihovny, které jsou v rámci semestru probírány - viz následující seznam. Využít lze také odpovídající knihovny jazyka C (místo <cstdio> odpovídající knihovnu stdio.h apod.). Pokud budete vytvářet jednotkové testy, můžete použít knihovnu “catch.hpp”.
<cstdio>
stdio.h
“catch.hpp”
<algorithm> <array> <atomic> <chrono> <condition_variable> <climits> <cmath> <csignal> <cstdarg> <cstddef> <cstdio> <cstdlib> <cstring> <ctime> <deque> <exception> <forward_list> <fstream> <functional> <future> <iomanip> <iostream> <iterator> <list> <map> <memory> <mutex> <queue> <random> <set> <stdexcept> <string> <sstream> <thread> <tuple> <type_info> <utility> <vector>
Dokumentace (10 bodů) k semestrální práci má pevně danou strukturu:
--help
Povolené formáty pro dokumentaci k semestrálce jsou: textový dokument (formát TXT), Markdown (README.md) nebo rozumné PDF.
main.cpp
Poznámky k dokumentaci: