Select Page

Programovacie úlohy na precvičovanie – úroveň vysoká

Jaroslav Beňo

11/05/2020

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ď.

0XX00
XXX00
00XXX
000XX
00000

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á

O autorovi: Jaroslav Beňo

Jaro je v skratke kresťan, manžel, otec a programátor. Na tomto webe sa venuje programovaniu. Jeho túžbou je šíriť vedomosti ďalej, aby sme mohli spolu rásť.

Pripravil viacero online video kurzov. Jeho sociálne siete:

Podobné články

Programovacie úlohy na precvičovanie – úroveň stredná

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 strednej úrovni. Na výbere...

Programovacie úlohy na precvičovanie – úroveň nízka

V tomto článku nájdeš programovacie úlohy na precvičovanie v úrovni nízka. Si začiatočník 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 druhu...

Share This

Páčil sa ti článok? Zváž zdieľanie. Ďakujeme.