Zbierka úloh

01. Tu napíšte názov cvičenia.
Riešené úlohy:
    Príklad: Vykonajte prevod čísla 39 z desiatkovej do dvojkovej sústavy.
    Riešenie:
    Príklad: Vykonajte prevod čísla (100111) 2 z dvojkovej do desiatkovej sústavy.
    Riešenie:
    Príklad: Vykonajte prevod čísla 0,3 z desiatkovej do dvojkovej sústavy.
    Riešenie:
    Príklad: Vykonajte prevod čísla (0,010011) 2 z dvojkovej do desiatkovej sústavy.
    Riešenie:
Úlohy:
    Úloha: Vykonajte prevod čísel z desiatkovej sústavy do uvedených sústav: (171) 10= (?) 16, (128) 10= (?) 8, (255) 10= (?) 2, (322) 10= (?) 16
    Úloha: Vykonajte prevod čísel z uvedených sústav do desiatkovej sústavy: 16= (?) 10, (0110011) 2= (?) 10, (123) 8= (?) 10, (FE) 16= (?) 10
    Úloha: Vykonajte prevod čísel z desiatkovej sústavy do uvedených sústav: (0,7) 10= (?) 2, (0,6875) 10= (?) 16, (0,375) 10= (?) 2, (0,2) 10= (?) 4
    Úloha: Vykonajte prevod čísel z uvedených sústav do desiatkovej sústavy: (0,1) 16= (?) 10, (0,0101) 2= (?) 10, (0,23) 8= (?) 10, (0,200) 16= (?) 10
    Úloha:
    Ako je možné realizovať prevod medzi sústavami so základom iným ako 10 resp. medzi sústavami, ktorých základom je mocnina 2?
    Úloha:
    Vykonajte prevod čísel z/do uvedených sústav:
    (11010100101) 2 = (?) 16
    (DEDA) 16 = (?) 2
    (ABBA) 16 = (?) 8
    (321123) 4 = (?) 8
    (11010100101) 2 = (?) 7
    Úloha: na samostatné riešenie
    Vykonajte prevod čísel z/do uvedených sústav:
    (133) 10=(?) 6 , (133) 10=(?) 9, (133) 10=(?) 11
    (98) 10=(?) 4 , (98) 10=(?) 7, (98) 10=(?) 12
    (456) 10=(?) 3 , (456) 10=(?) 5 , (456) 10=(?) 17
    (BEBE) 14=(?) 10, (32123) 4=(?) 10, (642) 7=(?) 10, (A911) 11=(?) 10
    (0,347) 10=(?) 3, (0,67325) 10=(?) 5, (0,775) 10=(?) 7, (0,255) 10=(?) 6
    (0,ACC) 16=(?) 10, (0,123) 4=(?) 10, (0,275) 9=(?) 10, (0,2442) 5=(?) 10
02. Tu napíšte názov cvičenia.
Riešené úlohy:
    Príklad: Zapíšte čísla 28, -28, 37, -37 v dvojkovej sústave v priamom kóde na 16 bitoch.
    Riešenie:
    • (28) 10 = (0 000 000 000 011 100) 2PK
    • (-28) 10 = (1 000 000 000 011 100) 2PK
    • (37) 10 = (0 000 000 000 100 101) 2PK
    • (-37) 10 = (1 000 000 000 100 101) 2PK
    Príklad: Zapíšte čísla 28, -28, 37, -37 v dvojkovej sústave v inverznom kóde na 16 bitoch.
    Riešenie:
    • (28) 10 = (0 000 000 000 011 100) 2DK
    • (-28) 10 = (1 111 111 111 100 100) 2DK
    • (37) 10 = (0 000 000 000 100 101) 2DK
    • (-37) 10 = (1 111 111 111 011 011) 2DK
    Príklad: Zapíšte čísla 28, -28, 37, -37 v dvojkovej sústave v doplnkovom kóde na 16 bitoch.
    Riešenie:
    • (28) 10 = (0 000 000 000 011 100) 2IK
    • (-28) 10 = (1 111 111 111 100 011) 2IK
    • (37) 10 = (0 000 000 000 100 101) 2IK
    • (-37) 10 = (1 111 111 111 011 010) 2IK
    Príklad: Zapíšte číslo 3256 BCD kóde.
    Riešenie:
    Príklad: Realizujte súčet čísel (37) 10 a (-28) 10 a súčet čísel (-37) 10 a (28) 10) v inverznom kóde.
    Riešenie:
    Príklad: Realizujte súčet čísel (37) 10 a (-28) 10 a súčet čísel (-37) 10 a (28) 10) v doplnkovom kóde.
    Riešenie:
Úlohy:
    Úloha: Zapíšte nasledujúce čísla v dvojkovej sústave v priamom kóde na 8 bitoch: (-28) 10 = (?) 2PK, (-127) 10 = (?) 2PK, (-45) 10 = (?) 2PK, (-32) 10 = (?) 2PK
    Úloha: Zapíšte nasledujúce čísla v dvojkovej sústave v doplnkovom kóde na 8 bitoch: (-28) 10 = (?) 2DK, (-127) 10 = (?) 2DK, (-45) 10 = (?) 2DK, (-32) 10 = (?) 2DK
    Úloha: Zapíšte nasledujúce čísla v dvojkovej sústave v inverznom kóde na 8 bitoch: (-28) 10 = (?) 2IK, (-127) 10 = (?) 2IK, (-45) 10 = (?) 2IK, (-32) 10 = (?) 2IK
    Úloha: Zapíšte nasledujúce čísla v BCD kóde: (1245) 10 = (?) BCD, (328) 10 = (?) BCD, (123) 10 = (?) BCD
    Úloha: Realizujte nasledujúce operácie: (1001001) 2 + (11101) 2 = (?) 2, (1001001) 2 - (11101) 2 = (?) 2, (1001) 2 * (110) 2 = (?) 2
    Úloha: Realizujte súčet v binárnom inverznom kóde na 8 bitoch:
    (25) 10 a (-14) 10 = (?) 2IK, (-25) 10 a (14) 10 = (?) 2IK
    Úloha: Realizujte súčet v binárnom inverznom kóde na 8 bitoch:
    (25) 10 a (-14) 10 = (?) 2DK, (-25) 10 a (14) 10 = (?) 2DK
    Úloha:
    Preveďte čísla zo zadaných kódov do desiatkovej sústavy:
    (1001 1011) 2DK = (?) 10, (1011 0010) 2IK = (?) 10, (0011 1010) 2PK = (?) 10, (1011 1010) 2DK = (?) 10, (0011 1010) 2IK = (?) 10, (1111 1010) 2PK = (?) 10
    Úloha: na samostatné riešenie
    Úloha:
    Realizujte prevod do definovaného binárneho kódu:
    (+194) 10 =(?) 2PK , (+137) 10 =(?) 2PK, (+61) 10 =(?) 2PK
    (-194) 10 =(?) 2PK , (-137) 10 =(?) 2PK, (-61) 10 =(?) 2PK
    (+194) 10 =(?) 2IK , (+137) 10 =(?) 2IK, (+61) 10 =(?) 2IK
    (-194) 10 =(?) 2IK , (-137) 10 =(?) 2IK, (-61) 10 =(?) 2IK
    (+194) 10 =(?) 2DK , (+137) 10 =(?) 2DK, (+61) 10 =(?) 2DK
    (-194) 10 =(?) 2DK , (-137) 10 =(?) 2DK, (-61) 10 =(?) 2DK
    (194) 10 =(?) BCD , (137) 10 =(?) BCD, (61) 10 =(?) BCD
    Úloha:
    Realizujte operácie v binárnom inverznom kóde (vrátane prevodu, ak je potrebné):
    (67) 10 + (-14) 10 = (?) 2IK, (-92) 10 + (14) 10 = (?) 2IK
    (-67) 10 - (-14) 10 = (?) 2IK, (92) 10 - (14) 10 = (?) 2IK
    Úloha:
    Realizujte operácie v binárnom doplnkovom kóde (vrátane prevodu, ak je potrebné):
    (67) 10 + (-14) 10 = (?) 2DK, (-92) 10 + (14) 10 = (?) 2DK
    (-67) 10 - (-14) 10 = (?) 2DK, (92) 10 - (14) 10 = (?) 2DK
    Úloha:
    Realizujte prevod do definovaného binárneho kódu:
    (+194) 10 =(?) 2PK , (+137) 10 =(?) 2PK, (+61) 10 =(?) 2PK
    (-194) 10 =(?) 2PK , (-137) 10 =(?) 2PK, (-61) 10 =(?) 2PK
    (+194) 10 =(?) 2IK , (+137) 10 =(?) 2IK, (+61) 10 =(?) 2IK
    (-194) 10 =(?) 2IK , (-137) 10 =(?) 2IK, (-61) 10 =(?) 2IK
    (+194) 10 =(?) 2DK , (+137) 10 =(?) 2DK, (+61) 10 =(?) 2DK
    (-194) 10 =(?) 2DK , (-137) 10 =(?) 2DK, (-61) 10 =(?) 2DK
    (194) 10 =(?) BCD , (137) 10 =(?) BCD, (61) 10 =(?) BCD
    Úloha:
    Realizujte operácie v binárnom inverznom kóde (vrátane prevodu, ak je potrebné):
    (67) 10 + (-14) 10 = (?) 2IK, (-92) 10 + (14) 10 = (?) 2IK
    (-67) 10 - (-14) 10 = (?) 2IK, (92) 10 - (14) 10 = (?) 2IK
    Úloha:
    Realizujte operácie v binárnom doplnkovom kóde (vrátane prevodu, ak je potrebné):
    (67) 10 + (-14) 10 = (?) 2DK, (-92) 10 + (14) 10 = (?) 2DK
    (-67) 10 - (-14) 10 = (?) 2DK, (92) 10 - (14) 10 = (?) 2DK
03. Tu napíšte názov cvičenia.
Riešené úlohy:
    Príklad: Podľa prostredia učebne je možné vykonať prihlásenie na požadovaný počítač pomocou terminálového klienta.
    Riešenie: Pre systém MS Windows je to program PuTTY. V systéme Linux spustite terminál a v príkazovom riadku napíšte:
    ssh –l login meno_servera
    • Názov počítača: omega.tuke.sk (resp. podľa pokynov cvičiaceho)
    • Prihlasovacie meno: xy123ab
    • Heslo: podľa používateľa
    Zobrazí sa výstup podobný nasledujúcemu obrázku:
Úlohy:
    Úloha: Precvičte použitie príkazu passwd.
    Úloha: Precvičte použitie príkazu man (odskúšajte man passwd, man man).
    Úloha: Zistite význam a použitie príkazov who, whoami.
    Úloha: Precvičte použitie príkazov logout, exit a klávesovú skratku ( <CTRL>-D).
    Úloha: Zistite význam a použitie príkazu ls a jeho variácií ls -l, ls -a, ls -F, ls -R.
    Úloha: Vyskúšajte si použitie náhradných znakov ? (ľub. znak) a * (ľub. reťazec).
    Úloha: Vyskúšajte si použitie n�hradných znakov ? (ľub. znak) a * (ľub. reťazec) vrátane použitia rozlišovania veľkosti znakov.
    Úloha: Zistite význam a použitie príkazov pwd a cd.
    Úloha: Zistite význam a použitie príkazov mkdir, rmdir, rm -r.
    Úloha: Vytvorte v domovskom adresári stromovú štruktúru podadresárov podľa nasledujúceho obrázku.
    Následne sa prepnite do podadresára ROK2013 a zmažte adresár 2Q3. Prepnite sa potom do nadradeného adresára a zmažte podadresár ROK2012 vrátane všetkých podadresárov. Následne sa prepnite do podadresára ROK2014 a potom 1Q4. V tomto adresári vytvorte dalšie podadresáre JANUAR, FEBRUAR, MAREC.
    Úloha: Prepnite sa do adresára Evidencia vytvoreného v predchádzajúcej úlohe. Zistite akou formou príkazu ls vypisete navhodnejšie čo najviac informácií o adresári resp. jeho podadresároch.
    Úloha: Prihláste sa do systému Moodle na adrese https://moodle.fei.tuke.sk. Zobrazí sa výstup podobný nasledujúcemu obrázku:
    Úloha: Prihláste sa do systému IS MAIS na adrese //mais.tuke.sk. Zobrazí sa výstup podobný nasledujúcemu obrázku:
    Úloha: Zistite aký význam majú znaky ~, ., .. v ceste.
    Úloha: Zistite aký význam má znak . na prvom mieste mena adresára.
    Úloha: na samostatné riešenie
    Úloha: Vytvorte v domovskom adresári stromovú adresárovú podštruktúru s minimalne 5 úrovňami hierarchie. Nasledne zistite, ako sa bude správať systém, ak vymažete adresár na tretej úrovni hierarchie.
    Úloha:
    Pokúste sa vytvoriť v domovskom adresári 2 podadresáre s rovnakým menom.
    Úloha: Vytvorte v domovskom adresári stromovú adresárovú podštruktúru s minimalne 5 úrovňami hierarchie. Nasledne zistite, ako sa bude správať systém, ak vymažete adresár na tretej úrovni hierarchie.
    Úloha:
    Pokúste sa vytvoriť v domovskom adresári 2 podadresáre s rovnakým menom.
04. Tu napíšte názov cvičenia.
Úlohy:
    Úloha: Vyskúšajte si vybrané príkazy pre prácu so súbormi:
    • Vytvorenie súboru príkazom touch.
    • Zobrazenie obsahu súboru príkazmi cat a more.
    • Zmazanie súboru príkazom rm.
    • Premenovanie alebo presunutie súboru príkazom mv.
    • Kopírovanie súboru príkazom cp.
    • Vyhľadanie reťazca v súboroch príkazom grep .
    Poznámka: Pre jednotlivé úlohy je potrebné v manuály použitím príkazu man naštudovať význam a použitie jednotlivých príkazov.
    Úloha: Použitím príkazu touch vytvorte súbor test1.txt. Použitím ľubovoľného textového editora (napr. joe, vi, ed) upravte obsah súboru tak, aby obsahoval text:
    Toto je obsah prveho suboru
    Úloha: Použitím príkazu cp vytvorte kópiu súboru test1.txt pod názvom test2.txt v rovnakom adresári. Použitím ľubovoľného textového editora upravte obsah súboru tak, aby obsahoval text:
    Toto je obsah druheho suboru
    Úloha: Vypíšte obsah súboru test1.txt použitím príkazu more.
    Úloha: Vypíšte obsahy súborov test1.txt a test2.txt naraz, použitím príkazu cat.
    Úloha: Použitím príkazu mkdir vytvorte adresár test. Do tohto adresára nakopírujte súbor test1.txt použitím príkazu cp.
    Úloha: Použitím príkazu rm vymažte pôvodný (originálny) súbor test1.txt.
    Úloha: Použitím príkazu mv premiestnite súbor test2.txt do adresára test.
    Úloha: Použitím príkazu grep vyhľadajte v oboch textových súboroch test1.txt a test2.txt riadky, kde sa nachádza text obsah.
    Úloha: Na jedno použitie príkazu rm odstráňte adresár test s celým jeho obsahom (súbormi test1.txt a test2.txt).
    Úloha: Vytvorte adresár test a v ňom súbor test.txt. Skontrolujte použitím príkazu ls -all nastavené práva na adresár aj súbor a overte platnosť nastavených práv pre adresár aj súbor.
    Úloha: Príkazom groups zobrazte skupiny, do ktorých ste zaradený. Použitím príkazu ls -all overte meno vlastníka a skupiny pre adresáre a súbory v domovskom adresári.
    Úloha: Vykonajte nasledujúce kroky:
    • Pre adresár test nastavte úplné prístupové práva pre všetkých (vlastník, skupina a ostatný). Zistite, čo je možné vykonať so súborom v danom adresári.
    • Nastavte súboru možnosť vlastníkovi čítať a meniť, pre skupinu čítať, pre ostatných žiadne práva a preverte nastavené práva (napríklad skúste vymazať súbor).
    • Overte prístup iných používateľom do vášho domovského adresára. Ak je prístup zakázaný, tak im ho povoľte. Overte, či môžu čítať obsah súboru test.txt v adresári test. Ak nie je možné inému používateľovi prečítať obsah súboru, tak nastavte práva tak, aby to bolo povolené. Overte nastavenie.
    Úloha: Vytvorte súbor test1.txt s obsahom získaným z použitia príkazu man man.
    Úloha: Použitím presmerovania vytvorte súbor test2.txt tak, aby obsah súboru test1.txt bol prekopírovaný do nového súboru test2.txt.
    Poznámka: Pre získanie obsahu súboru test1.txt použite príkaz more, alebo cat.
    Úloha: Použitím presmerovania nakopírujte obsah súboru test1.txt na koniec súboru test2.txt.
    Poznámka: Pre získanie obsahu súboru test1.txt použite príkaz more, alebo cat.
    Úloha: Otestujte použitie argumentu < pre výpis obsahu súboru podľa nasledujúceho príkladu ( < test1.txt ).
    Úloha: tar xvf archiv.tar extrahovanie archívneho súboru archiv.tar
    Úloha: tar xvzf archiv.tar.gz extrahovanie komprimovaného (prostredníctvom gzip) archívneho súboru archiv.tar.gz
    Úloha: tar cvf archiv.tar archiv/ vytvorenie archívneho súboru s názvom archiv.tar, pričom sa doň uloží celý obsah adresára archiv (vrátane jeho podadresárov).
    Úloha: tar cvzf archiv.tar.gz archiv/ vytvorenie komprimovaného archívneho súboru s názvom archiv.tar.gz, pričom sa doň uloží celý obsah adresára archiv (vrátane jeho podadresárov).
    Úloha: Vytvorte archívny súbor cvicenie5.tar z adresára cvicenie5
    Úloha: Na štandardný výstup zobrazte zoznam súborov obsiahnutých v archívnom súbore.
    Úloha: Oboznámte sa so súborovým manažérom Midnight Commander - mc
    Úloha: Skúste vykonať postupnosť úloh z bodu 1 a 2 použitím súborového manažéra Midnight Commander (nainštalovaný na serveri omega, dostupný v terminály) alebo podobného podľa dostupnosti v učebni.
    Úloha: Ako je možné urobiť z grep-u pomaranc s rovnakou schopnosťou.
    Úloha: na samostatné riešenie
    Úloha: Vytvorte súbor adresar.txt presmerovaním výstupu príkazu ls -all
    Úloha:
    Nastavte prístupové práva k súboru adresar.txt vytvoreneho v predchádzajúcej úlohe tak, aby vlastník mohol vykonávať so súborom všetko a skupina a ostatní aby ho mohli iba čítať.
    Úloha:
    Nastavte následne prístupové práva k súboru adresar.txt na rrr. Overte ako sa zachová systém ak sa tento súbor pokúsite zmazať.
    Úloha:
    V prípade neúspechu pri mazaní z predchádzajúcej úlohy sa pokúste nájsť postup, ktorým by ste predsa len uvedený súbor zmazali.
    Úloha: Vytvorte súbor adresar.txt presmerovaním výstupu príkazu ls -all
    Úloha:
    Nastavte prístupové práva k súboru adresar.txt vytvoreneho v predchádzajúcej úlohe tak, aby vlastník mohol vykonávať so súborom všetko a skupina a ostatní aby ho mohli iba čítať.
    Úloha:
    Nastavte následne prístupové práva k súboru adresar.txt na rrr. Overte ako sa zachová systém ak sa tento súbor pokúsite zmazať.
    Úloha:
    V prípade neúspechu pri mazaní z predchádzajúcej úlohy sa pokúste nájsť postup, ktorým by ste predsa len uvedený súbor zmazali.
05. Tu napíšte názov cvičenia.
Riešené úlohy:
    Príklad: Vytvorte spojenie a anonymným ftp serverom ftp.tuke.sk a stiahnite súbor welcome.msg
    Riešenie:
    • ftp ftp.tuke.sk
    • zadanie prihlasovacieho mena: anonymous
    • zadanie e-mailovej adresy ako prihlasovacie heslo
    • get welcome.msg
    • bye
Úlohy:
    Úloha: Pomocou editora vi v podadresári cvicenie vytvorte súbor s názvom datum.
    Úloha: Pomocou príkazu man vi a presmerovania výstupu vytvorte súbor s názvom man_vi .
    Úloha: Pomocou editora vi si poprezerajte vytvorený súbor man_vi.
    Úloha: V súbore man_vi zmažte časť OPTIONS a presuňte časť ON-LINE HELP pred časť DESCRIPTIONS.
    Úloha: Nakonfigurujte klienta elektronickej pošty - mutt - pre Váš e-mailový účet na FEI TU v Košiciach ( https://nastavenia.tuke.sk/posta).
    Úloha: Vytvorte jednoduchú textovú správu a pošlite ju kolegovi zo skupiny (práca v dvojiciach resp. skupinách).
    Úloha: Vytvorte správu s prílohou (ako prílohu použite jeden z dnes vytvorených textových súborov) a pošlite ju kolegovi zo skupiny (práca v dvojiciach resp. skupinách).
    Úloha: Na obdržaných správach od kolegov si precvičte operácie odpovedanie, skupinové odpovedanie a preposlanie.
    Úloha: S ohľadom na dostupnosť v učebni, kde máte cvičenie vyberte si jedného z grafických klientov pre elektronickú poštu a nakonfigurujte ho pre Váš e-mailový účet na FEI TU v Košiciach ( https://nastavenia.tuke.sk/posta).
    Úloha: Precvičte základné operácie poštového klienta uvedené v predchádzajúcom kroku pomocou vybraného grafického klienta.
    Úloha: Vytvorte spojenie a anonymným ftp serverom ftp.tuke.sk a stiahnite z adresára /ubuntu-releases všetky súbory s príponou .html v textovom režime .
    Úloha: Vytvorte spojenie a anonymným ftp serverom ftp.tuke.sk a stiahnite z adresára /ubuntu-releases/include súbor footer-image2.png v binárnom režime .
    Úloha: Pohovorte v prípade existujúceho časového fondu o iných dostupných textových editoroch na platforme Linux príp. aj v závislosti na okennom systéme.
    Úloha: na samostatné riešenie
    Úloha: Pomocou príkazov man a vi si vytvorte súbor so zoznamom príkazov, ktoré ste doteraz použili. Každý príkaz nech má vyhradený samostatný odstavec, v ktorom bude jeho krátka charakteristika a typický príklad použitia (môže byť ich samozrejme viac).
    Úloha: Pomocou príkazov man a vi si vytvorte súbor so zoznamom príkazov, ktoré ste doteraz použili. Každý príkaz nech má vyhradený samostatný odstavec, v ktorom bude jeho krátka charakteristika a typický príklad použitia (môže byť ich samozrejme viac).
06. Typy údajov a vývojové diagramy.
Úlohy:
    Úloha: Navrhnite aké typy premenných budú potrebné pri spracovaní komplexných čísel.
    Zobraziť výsledok
    Úloha: Navrhnite aké premenné by ste použili pri spracovaní osobných údajov zamestnanca, ak sa uchováva meno, priezvisko, dátum narodenia, pohlavie, počet detí a bydlisko. Aké údajové typy môžu použité pre reprezentáciu dátumu a pohlavia? Definujte údajový typ zamestnanec ako štruktúrovaný typ záznam.
    Zobraziť výsledok
    Úloha: Navrhnite ako by ste reprezentovali rozloženie stavu šachovnice použitím poľa. Navrhnite aspoň dva rôzne údajové typy na reprezentáciu políčka šachovnice.
    Zobraziť výsledok
    Úloha: Navrhnite vhodnú údajovú štruktúru pre reprezentáciu geometrického bodu. Bod je definovaný dvoma súradnicami a farbou. Farbu definujte ako jednu hodnotu alebo po zložkách (RGB - červená, zelená, modrá).
    Zobraziť výsledok
    Úloha: Pre dve načítané celé čísla z klávesnice zistite a na štandardný výstup vypíšte najväčší spoločný deliteľ.
    Zobraziť výsledok
    Úloha: Navrhnite vývojový diagram na výpočet faktoriálu zadaného čísla N.
    Zobraziť výsledok
    Úloha: Navrhnite vývojový diagram na výpočet súčtu prvých N prirodzených čísel.
    Zobraziť výsledok
    Úloha: Navrhnite vývojový diagram na načítanie jednorozmerného poľa s N prvkami, výpis poľa a počtu prvkov, ktoré obsahujú nepárne čísla.
    Zobraziť výsledok
    Úloha: Navrhnite vývojový diagram na triedenie poľa čísel výmenou (bublinové triedenie).
    Zobraziť výsledok
    Úloha: Navrhnite vývojový diagram na výpočet ciferného súčtu číslic daného prirodzeného čísla N.
    Úloha: Navrhnite vývojový diagram pre realizáciu základných operácií kalkulačky. Realizujte operácie sčítania, odčítania, násobenia a delenia čísel, druhej mocniny a druhej odmocniny čísla.
    Úloha: Navrhnite vývojový diagram na spracovanie jednorozmerného poľa o veľkosti n, výpis maximálneho a minimálneho prvku, ako aj priemernej hodnoty prvkov poľa.
    Zobraziť výsledok
07. Jednoduché programy pre robota Karla.
Riešené úlohy:
    Príklad: Preložte vytvorený program pomocou prekladača compile. V prípade, že prekladač objaví chyby, opravte ich.
    Riešenie: Program preložíte nasledovne:
    $compile stairs.c
    pričom súbor stairs.c predstavuje vami vytvorený program pre Karla.
    Príklad: Spustite preložený program.
    Riešenie: Pokiaľ preklad prebehol bez chýb, v priečinku, kde ste program preložili, vznikol súbor s názvom vášho zdrojového programu, ale s príponou .run. Tento program spustíte nasledovne:
    $ ./nazov.run
Úlohy:
    Úloha: Vo svojom domovskom priečinku si vytvorte priečinok s názvom Karel, do ktorého budete ukladať svoje kódy programov pre robota Karla.
    Úloha: Stiahnite si súbor sveta stairs.kw, do ktorého Karla umiestníte, a v ktorom bude riešiť nasledúci problém. Pre stiahnutie súboru z internetu môžete využiť nástroj wget v tvare:
    wget URL_of_the_stairs.kw
    Úloha: Vytvorte pre Karla program, pomocou ktorého mu pomôžete vyšplhať sa po schodoch nahor, až na najvyšší stupienok. Cestou pomôžte Karlovi pozbierať všetky značky, ktoré na schodoch nájde. Po vyšplhaní sa na najvy�ší schod Karel všetky značky položí. Pre riešenie tejto úlohy využite už spomínaný svet stairs.kw.
    Úloha: Overte, ako sa Karel správa v prípadoch, keď chce prejsť cez stenu, alebo keď sa pokúsi položiť značku a v batohu už žiadnu nemá, alebo keď sa pokúsi vziať značku z rohu, na ktorom sa žiadna značka nenachádza.
    Úloha: Vytvorte pre Karla program, pomocou ktorého Karel označkuje všetky štyri rohy sveta. Karel sa na začiatku nachádza na pozícii [1,1] a je nasmerovaný na východ. Po označení všetkých rohov sa vráti na svoju východziu pozíciu. Pre riešenie tejto úlohy si stiahnite svet empty.kw.
08. Tu napíšte názov cvičenia.
Riešené úlohy:
    Príklad: Vytvorte funkciu turnRight(), ktorá zabezpečí otočenie robota Karla o 90 stupňov vpravo.
    Riešenie: Keďže robot Karel pozná na otáčanie iba príkaz turnLeft(), ktorý ho otočí o 90 stupňov vľavo, musíme využiť túto Karlovu schpnosť aj pre novú funkcionalitu otočenia vpravo. Každá funkcia v jazyku C musí mať jedinečný názov (v našom prípade turnRight), návratovú hodnotu (v našom prípade nie je žiadna preto uvedieme void), zoznam formálnych parametrov (v našom prípade nie sú žiadne preto uvedieme za názvom funkcie len ()) a telo funkcie ohraničené zloženými zátvorkami, kde sa bude nachádzať samotný kód funkcie. Výsledná podoba nového Karolovho príkazu teda vyzerá nasledovne:
                        1	   void turnRight() {
                        2	      turnLeft();
                        3	      turnLeft();
                        4	      turnLeft();
                        5	   }
                        
                    
Úlohy:
    Úloha: Vytvorte funkciu climbStair(), pomocou ktorej Karel vystúpi o jeden schod vyššie.
    Úloha: Upravte hlavnú funkciu programu main() tak, aby ste v nej využili vytvorené funkcie turnRight() a climbStair().
    Úloha: Overte správnosť upraveného riešenia jeho preložením a spustením.
    Úloha: Porovnajte počet riadkov výsledného programu pred použitím funkcií a po ich použití.
    Úloha: Zjednodušte riešenie doplňujúcej úlohy č. 1 z predchádzajúceho cvičenia použitím vlastných funkcií.
    Úloha: Robot Karel sa chce zúčastniť olympiády pre robotov (tzv. robolympiády). Jedna z disciplín, ktorej sa je možné v rámci olympiády zúčastniť, je prekážkový beh. Napíšte pre Karla program, pomocou ktorého zvládne zdolať rozcvičkovú prekážkovú trať nachádzajúcu sa v súbore training.kw. Pre úspešné zvládnutie prekážkového behu vytvorte funkciu jumpOver(), pomocou ktorej Karel preskočí práve jednu prekážku. Na jej vytvorenie využite ľubovoľné už vytvorené funkcie z riešení predchádzajúcich úloh. Všetky prekážky sú rovnako vysoké a Karel potrebuje trať prebehnúť z počiatočnej pozície [1,1] do koncovej pozície [5,1].
    Úloha: Cesta vedúca do areálu Technickej univerzity je za tie roky značne poškodená a vyznačuje sa väčším (občas aj menším) počtom dier v nej. Naprogramujte preto robota Karla tak, aby každú dieru, ktorú v ceste nájde, vyplnil značkou. Cesta, ktorú má Karel vyplniť, sa nachádza v súbore road.kw. Karel sa na začiatku nachádza na počiatočnej pozícii [1,2] a po zaplnení všetkých dier sa bude nachádzať na pozícii [5,2].
09. Vetvenie, cyklus a metóda návrhu algoritmov zhora-nadol.
Úlohy:
    Úloha: Otvorte si riešenie olympics z minulého cvičenia.
    Úloha: Upravte program tak, aby Karel zvládol prebehnúť ľubovoľne vysoké prekážky. Karel svoj beh zastaví vtedy, keď vo svojej trati natrafí na značku, pričom značka sa bude v Karlovej ceste vždy nachádzať. Svoje riešenie tejto úlohy si môžete otestovať na nasledujúcich mapách, ktoré predstavujú predkolá veľkého finále RobOlympiády: olympics3.kw, olympics4.kw.
    Úloha: Upravte program tak, aby robot Karel vedel preskočiť aj ľubovoľne široké prekážky. Karel svoj beh zastaví vtedy, keď vo svojej trati natrafí na značku, pričom značka sa bude v Karlovej ceste vždy nachádzať. Svoje riešenie tejto úlohy si môžete otestovať na nasledujúcich mapách, ktoré predstavujú posledné kolá veľkého finále RobOlympiády: olympics5.kw, olympics6.kw.
    Úloha: Naučiť Karola postaviť schodisko. Na začiatku sa pred Karlom nachádza stĺpik postavený zo značiek, ktorých počet je väčší ako 1. Úlohou Karla je postaviť vpravo od tohto stĺpika schody reprezentované z ďalších značiek, pričom na každej pozícii bude vždy o jednu značku menej ako na predchádzajúcej. Karel má na začiatku dostatočný počet značiek, aby túto úlohu úspešne zvládol a vpravo od stĺpika je vždy dostatok miesta pre vytvorenie schodiska. Po vytvorení schodiska sa Karel bude nachádzať na jeho najvyššom stupni.
    Poznámka: Podstatou tejto úlohy je precvičiť si algoritmické myslenie. Daný problém by ste preto nemali riešiť pomocou premenných (ak premenné už poznáte).
    Úloha: Navrhnite hrubý algoritmus riešenia. Aké čiastkové úlohy ste identifikovali pre prvú a druhú úroveň abstrakcie? Čo je podmienka ukončenia?
    Zobraziť výsledok
    Úloha: Navrhnutý hrubý algoritmus implementujte ako funkciu main() v novom implementačnom súbore stairsBuilder.c.
    Úloha: Pre každú identifikovanú čiastkovú úlohu vytvorte samostatnú funkciu a vložte ju do súboru stairsBuilder.c.
    Poznámka: Nezabudnite za riadok #include <karel.h> vložiť deklarácie navrhnutých funkcií.
    Úloha: Riešenie úlohy si môžete overiť na nasledujúcich mapách: stairsbuilder1.kw a stairsbuilder2.kw.
    Úloha: Vytvorte pre robota Karla program, pomocou ktorého bude Karel vedieť zdvojnásobiť počet značiek, ktoré cestou nájde. Karel vždy začne na pozícii [1,1] a prejde celým svetom, pričom zdvojnásobí každú žnačku, ktorú nájde. Počet značiek, ktoré má Karel k dispozícii na riešenie tejto úlohy, je dostatočný. Zároveň môžete predpokladať, že najbližšie miesto na sever nad každým miestom so značkami je prázdne. Overte svoje riešenie na nasledujúcich mapách: multiplier1.kw a multiplier2.kw.
10. Tu napíšte názov cvičenia.
Úlohy:
    Úloha: Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
    Úloha: Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
    Úloha: Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
    Úloha: Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
11. Tu napíšte názov cvičenia.
Úlohy:
    Úloha: Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
    Úloha: Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
    Úloha: Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
    Úloha: Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
12. Tu napíšte názov cvičenia.
Úlohy:
    Úloha: Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
    Úloha: Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
    Úloha: Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
    Úloha: Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
13. Tu napíšte názov cvičenia.
Úlohy:
    Úloha: Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
    Úloha: Tu napíšte konkrétne úlohy, ktoré ma študent vyriešiť.
    Úloha: Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
    Úloha: Tu napíšte úlohy ktoré sú pripravené nad základný rámec cvičenia.
comments powered by Disqus