Skúška 8.1.2020
- Je povolené používať Internet na vyhľadanie informácii týkajúcich sa syntaxe jazyka C#, metód a pod. Nie je povolené komunikovať cez Internet (ani inak) s použitím mailu, chatu, Facebooku a pod. Porušenie tohto zákazu je dôvodom pre vylúčenie zo skúšky s hodnotením 0 bodov. Nie je povolená žiadna forma plagiátorstva (čiastkové riešenia problémov môžete použiť, v takomto prípade uveďte do komentárov URL).
- V prípade, že bude odhalený pokus o podvod, všetci zúčastnení na podvode budú vylúčení zo skúšky s hodnotením 0 bodov.
- Ak sú v zadaní uvedené mená pre premenné a metódy používajte presne tie mená, ktoré sú uvedené v zadaní.
- Dodržanie bodov uvedených v podmienkach akceptácie zadania – rovnaké podmienky platili pri zápočte.
- Uznané bude len riešenie, ktoré je možné skompilovať a spustiť na testovacom počítači (na ktorom sa budú spúšťať všetky zadania).
- Hotové zadanie nahrajte na Hades - nezabudnite pred zabalením dať clean solution (a vymazať skrytý priečinok .vs)
Na vypracovanie zadania máte 60 minút. Použite WPF. Body sa prideľujú iba ak je študent schopný obhájiť svoj kód, nestačí, že to je napísané.
Súbor si stiahnite tu (Gitlab link).
Úloha 1
(15bodov)
Vytvorte si rozhranie:
public interface ITextProcessor
{
string GetText();
}
Vytvorte si triedu TextProcessor
ktorá implementuje toto rozhranie. V konštruktore bude jeden parameter - cesta k súboru.
GetText()
vráti obsah tohoto súboru.
Úloha 2
(25bodov)
Vytvorte si abstraktnú triedu TextDecorator
a triedy UpperCaseTextDecorator, ReplaceCharDecorator, RemoveCharDecorator
a implementujte návrhový vzor decorator (zvážte, ktoré triedy majú čo implementovať a od čoho dediť).
Úloha 3
(15bodov)
Pridajte si na obrazovku ovládacie prvky (TextBlock, TextBox, Button, CheckBox
) a zabezpečte, aby sa po stlačení prvého tlačidla načítal text a po stlačení druhého pomocou dekorátorov upravil a vypísal na obrazovku.
poznámka: replace a remove má zmeniť všetky výskyty, nie len prvý
Ďalšie body
Dodržanie zapúzdrenia, coding guidelines - 5bodov;