Úlohy | JaroslavBeno http://jaroslavbeno.sk Programovanie, kurzy, články, tipy, triky a mnoho iného. Mon, 11 May 2020 14:20:48 +0000 en-US hourly 1 https://wordpress.org/?v=5.4.1 http://jaroslavbeno.sk/wp-content/uploads/2020/03/cropped-JB3-32x32.png Úlohy | JaroslavBeno http://jaroslavbeno.sk 32 32 Programovacie úlohy na precvičovanie – úroveň vysoká http://jaroslavbeno.sk/programovacie-ulohy-uroven-vysoka/?utm_source=rss&utm_medium=rss&utm_campaign=programovacie-ulohy-uroven-vysoka http://jaroslavbeno.sk/programovacie-ulohy-uroven-vysoka/#respond Mon, 11 May 2020 14:11:56 +0000 http://jaroslavbeno.sk/?p=484 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. […]

The post Programovacie úlohy na precvičovanie – úroveň vysoká appeared first on JaroslavBeno.

]]>
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á

The post Programovacie úlohy na precvičovanie – úroveň vysoká appeared first on JaroslavBeno.

]]>
http://jaroslavbeno.sk/programovacie-ulohy-uroven-vysoka/feed/ 0
Programovacie úlohy na precvičovanie – úroveň stredná http://jaroslavbeno.sk/programovacie-ulohy-uroven-stredna/?utm_source=rss&utm_medium=rss&utm_campaign=programovacie-ulohy-uroven-stredna http://jaroslavbeno.sk/programovacie-ulohy-uroven-stredna/#respond Mon, 11 May 2020 14:04:13 +0000 http://jaroslavbeno.sk/?p=476 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 programovacieho jazyka nezáleží. Ternárny operátor Napíš program, ktorý na konzolu vypíš či je číslo deliteľné dvomi alebo nie za pomoci ternárneho […]

The post Programovacie úlohy na precvičovanie – úroveň stredná appeared first on JaroslavBeno.

]]>
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 programovacieho jazyka nezáleží.

Ternárny operátor

Napíš program, ktorý na konzolu vypíš či je číslo deliteľné dvomi alebo nie za pomoci ternárneho operátoru. Nemôžeš použiť if.

Napíš program, ktorý na konzolu vypíše či je číslo > ako 10, < ako 10 alebo = 10 za pomoci ternárneho operátoru v ternárnom operátore. Nemôžeš použiť if.

Switch

Napíš program, ktorý na základe čísla napíše hlášku. Ak 1, tak sa vypíše: Je pondelok. Ak 2, tak sa vypíše: Je utorok. A tak podobne pre všetky dni. Jedine ak 6 alebo 7, tak sa vypíše: Je víkend. Ak by si mal hocičo iné, tak na konzolu napíšeš: Nezadal si dobré číslo dňa.

Polia

Maj dvojrozmerné pole kde vnútorné polia majú dĺžku > 5. Na konzolu vypíš prvé dve čísla z každého poľa.

Na konzolu vypíš súčet a násobok všetkých čísel v jednorozmernom poli.

Na konzolu vypíš súčet a násobok všetkých čísel v dvojrozmernom poli.

Enum

Napíš enum, ktorý bude reprezentovať dni v týždni. Potom napíš metódu, ktorá na vstup zoberie ako parameter jeden element z daného enum a na konzolu pomocou switchu napíšeš, či je daný deň – deň v týždni alebo je to víkend.

Napíš program, ktorý bude používať enum reprezentujúci svetové strany. Enum bude obsahovať skratky aj celo textovú reprezentáciu strany (S, sever) a aj anglickú reprezentáciu (N, north). Takže cez enum napr. SEVER sa viem dopracovať aj k S, sever, N a aj north.

Triedy

Poobzeraj sa po miestnosti a opíš ju. Vytvor triedy a z nich potom aj objekty. Napríklad ja vidím knihu. Kniha má počet strán – to bude globálna premenná. Knihu viem otvoriť – to bude metóda a podobne. Skús si to. Vytvor takto niekoľko tried, ktoré opisujú predmety okolo teba.

String

Napíš metódu, ktorej vstupný parameter bude String zložený z dvoch slov – oddelených medzerou.

Vstup: Jaroslav Beňo

Na výstupe očakávam jednorozmerné pole znakov, kde znaky budú v nasledovnom poradí:

Výstup: valsorraJ oňeB

Teda prvé slovo bude obrátene a za ním bude druhé slovo obrátene. Medzi nimi bude ponechaná čiarka.

Vstup: Malý medveď

Výstup: ýlaM ďevdem

Napíš metódu, kde na vstupe bude text – veľký text a na vstupe bude aj slovo, ktoré v texte hľadám. Na výstupe bude počet výskytov daného slova v texte. Na vyhľadávanie použi postup hľadania a porovnávania po znakoch. Pri porovnaní zhody znakov je povolené použiť len charAt metódu v Stringu. Cykly, pomocné premenné alebo podmienky, samozrejme môžeš použiť.

Reťazce

Napíš metódu, ktorá na vstupe zoberie nejaké meno. Napríklad František Ferdinand Veľký. Metóda vypíše iniciálky daného mena s bodkami – bodka nebude za posledným písmenom iniciálok. Teda v tomto prípade na výstupe bude: F.F.V

Napíš metódu, ktorá na vstupe zoberie text. Tento text prerobí tak, že odstráni čiarky a bodky a každé druhé písmeno dá ako uppercase – teda ako veľké písmeno. Napríklad slovo Jaro bude JaRo.

Čítanie z konzoly a dátumy

Napíš metódu, ktorá bude čítať dáta z konzoly. Teda to čo napíšeš na konzolu a stlačíš enter, to sa vypíše. Čítať dáta bude dovtedy kým nenapíšeš q a nestlačíš enter.

Napíš metódu, ktorá požiada používateľa o zadanie čísla. Ak zadá číslo vypíš ho na konzolu, ak zadá niečo iné, tak vypíš chybovú hlášku.

Napíš metódu, ktorá načíta z konzoly jednoduché matematické operácie a vykoná ich. Napríklad ak napíšem do konzoly 4+5. Tak sa vykoná sčítanie a na výstup sa napíše výsledok 9.

Regulárne výrazy

Napíš metódu, ktorá zistí, či daný String má správny tvar dátumu. Uvažuj, že správny tvar je nasledujúci: dd/mm/yyyy. Kde dd je den vo formáte 01 pre prvý deň. Kde mm je mesiac vo formáte 02 pre február. Kde yyyy je rok vo formáte 2018.

Napíš metódu, ktorá pomocou regulárneho výrazu vypíše na konzolu všetky slová začínajúce na veľké písmeno.

IO – práca so súbormi

Napíš program, ktorý prečíta jednoduchý textový súbor a vypíše jeho text na konzolu.

Napíš program, ktorý k textovému súboru pridá ďalší riadok.

Napíš program, ktorý nájde najdlhšie slovo z textového súboru a vypíše ho na konzolu.

Napíš program, ktorý vypíše veľkosť súboru na konzolu.

Kolekcie

Napíš program, kde si vytvoríš zoznam mien, ktorý vypíšeš na konzolu.

Napíš program, ktorá ti vloží element (napríklad String meno) na prvé miesto v zozname mien.

Napíš program, ktorí má niekoľko elementov, napríklad mien a nahradíš meno na druhej pozícii iným menom.

Ďalšie úlohy na precvičovanie

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

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

The post Programovacie úlohy na precvičovanie – úroveň stredná appeared first on JaroslavBeno.

]]>
http://jaroslavbeno.sk/programovacie-ulohy-uroven-stredna/feed/ 0
Programovacie úlohy na precvičovanie – úroveň nízka http://jaroslavbeno.sk/programovacie-ulohy-uroven-nizka/?utm_source=rss&utm_medium=rss&utm_campaign=programovacie-ulohy-uroven-nizka http://jaroslavbeno.sk/programovacie-ulohy-uroven-nizka/#respond Mon, 11 May 2020 13:35:55 +0000 http://jaroslavbeno.sk/?p=473 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 programovacieho jazyku nezáleží. Všetko si vieš natrénovať v rôznych jazykoch. Úlohy na premenné Napíš jednoduchý program kde vytvoríš 10 premenných. 3 […]

The post Programovacie úlohy na precvičovanie – úroveň nízka appeared first on JaroslavBeno.

]]>
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 programovacieho jazyku nezáleží. Všetko si vieš natrénovať v rôznych jazykoch.

Úlohy na premenné

Napíš jednoduchý program kde vytvoríš 10 premenných. 3 premenným nepriraď hodnotu a 4 premenným priraď hodnotu. Pre zvyšné 3 premenné im priraď hodnotu z inej premennej.

Pre každý primitívny dátový typ vytvor dve premenné.

Úlohy na metódy

Vytvor tri jednoduché metódy:

  1. metóda bude vracať String – podobne ako vo videu
  2. metóda bude vracať int
  3. metóda nebude vracať nič, namiesto toho bude vypisovať text na konzolu

Zložitejšie úlohy na metódy

Napíš si program, ktorý ti na bude vypisovať na konzolu súčet dvoch čísel. Tieto dve čísla prídu ako parametre metódy.

Napíš si metódu, ktorá bude mať ten istý názov ako metóda, ktorú si vyrobil v predošlej úlohe. Teraz ale bude mať tri čísla ako parametre a vypíše sa ich súčet na konzolu.

Úlohy na precvičenie if-else

Napíš program, ktorý na konzolu vypíše, či je číslo pozitívne alebo negatívne.

Napíš program, ktorý by simuloval varenie omelety.

Napíš program, ktorý na základe čísla vypíše na konzolu názov dňa. 1 = Pondelok .

Napíš, ktoré z troch čísel je najväčšie.

Vypíš tri čísla na konzolu od najmenšieho po najväčšie.

Napíš program kde máš číslo. Ak číslo bude deliteľné číslom 3, tak na výpise konzoly bude text Fizz ak bude deliteľné číslom 5, tak na výpise bude text Buzz. Ak bude číslo zároveň deliteľné 3 a aj 5, tak vypíš FizzBuzz.

Úlohy na While a do while cyklus

Použitím cyklu while vypíš na konzolu čísla od 1 do 10.

Na konzolu vypíš všetky párne čísla od 1 do 100.

Na konzolu vypíš všetky čísla deliteľné 5 od 1 do 100.

Maj niekoľko čísel. Na konzolu vypíš súčet párnych a súčet nepárnych čísel.

Napíš program, ktorý by simuloval varenie omelety. Použi príklad z if else príkladov a rozšír ho o cykly.

Úlohy na for cyklus

V tejto úlohe sa zamysli a za použitia cyklov a podmienok vypíš do konzoly takéto útvary:

1 2 3 4

1 2 3

1 2

1

1

1 2

1 2 3

1 2 3 4

Úlohy na String (práca s reťazcom)

Napíš metódu, ktorá vstupný String zmení na všetko veľké písmená a vypíše ho na konzolu.

Napíš metódu, ktorá porovná dva String parametre a na konzolu napíše true ak su rovnaké a false ak nie sú rovnaké.

Ďalšie úlohy na precvičovanie

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

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

The post Programovacie úlohy na precvičovanie – úroveň nízka appeared first on JaroslavBeno.

]]>
http://jaroslavbeno.sk/programovacie-ulohy-uroven-nizka/feed/ 0