V tomto článku nájdeš programovacie úlohy na precvičovanie. Si pokročilejší programátor, učíš sa a chceš si vyskúšať svoje vedomosti? V tomto článku nájdeš viacero zaujímavých úloh, na ktorých si precvičíš svoje vedomosti na vysokej úrovni. Na výbere programovacieho jazyka nezáleží.
Generické programovanie
Napíš triedu, ktorá sa bude chovať ako knižnica pre rôzne druhy médií – filmy, cd, knihy. Napíš dve verzie tejto triedy. Jedna trieda, ktorá bude obsahovať generiká. Druhá trieda, ktorá neobsahuje generiká. Pomôcka: pomôž si dedičnosťou.
Vnútorné a vnorené triedy
Napíš si triedu, ktorá bude reprezentovať hrdinu. Každý hrdina má špeciálne schopnosti. Na schopnosť použi rozhranie, ktoré bude mať metódy (napr. pre použi schopnosť, zastav schopnosť). Potom napíš program, ktorý ti vytvorí dvoch hrdinov. Každý bude mať inú schopnosť. Danú schopnosť im priraď pomocou vnútornej anonymnej triedy. Potom zavolaj/spusti nad danými hrdinami ich schopnosti.
Umiestenie domu na mapu
Majme mapu. Na mape sa nachádzajú dve políčka – pevnina a more. Pevnina bude mať znak X a more znak O. Mapa bude v dvojrozmernom poli. Každé pole bude mať rovnakú dĺžku.
Napríklad na vstupe bude takáto mapa. Prvý riadok je pole na indexe 0, druhý riadok na indexe 1 atď.
0 | X | X | 0 | 0 |
X | X | X | 0 | 0 |
0 | 0 | X | X | X |
0 | 0 | 0 | X | X |
0 | 0 | 0 | 0 | 0 |
char[][] map = new char[5][5];
map[0] = new char[]{‘O’, ‘X’, ‘X’, ‘O’, ‘O’};
map[1] = new char[]{‘X’, ‘X’, ‘X’, ‘O’, ‘O’};
map[2] = new char[]{‘O’, ‘O’, ‘X’, ‘X’, ‘X’};
map[3] = new char[]{‘O’, ‘O’, ‘O’, ‘X’, ‘X’};
map[4] = new char[]{‘O’, ‘O’, ‘O’, ‘O’, ‘O’};
Ďalším vstupom bude 2rozmerné pole znakov predstavujúce dom, ktorý chceš na mapu umiestniť. Znak D predstavuje zastavanú časť domu. Znak – predstavuje nezastavanú časť pozemku.
char[][] house = new char[2][2];
house[0] = new char[]{‘H’,‘H’};
house[1] = new char[]{‘H’,‘-‘};
Tvojou úlohou je postaviť daný dom na všetky možné pozície na mape a na konzolu vypísať koordináty všetkých možných pozícii postavenia domu na mape:
H1{0,1}; H2{2,3}
- kde H1 je označenie, že prvá možnosť uloženia domu na mapu je na koordinátach map[0][1] z dvojrozmerného poľa map (koordináty ukazujú na ľavý horný bod daného domu – tam môže byť napríklad prekryv vody (O) s nezastavanou časťou domu (-) )

- druhou možnosťou uloženia daného domu má počiatočný bod na koordinátach map[2][3]

Mapa môže byť ľubovoľne veľká a môže mať rôzne rozmiestnenie pevniny a mora. Dom je vždy o veľkosti 2,2 ale môže mať rôzne rozloženie plôch zastavanej časti a nezastavanej časti.
Pri úlohe použi objektovo orientovaný prístup.
Ďalšie úlohy na precvičovanie
Programovacie úlohy na precvičovanie – úroveň nízka
Programovacie úlohy na precvičovanie – úroveň stredná
Páčil sa ti článok? Zváž zdieľanie. Ďakujeme.