Naučte sa myslieť ako programátor II
Opäť sa stretávame u môjho ďalšieho článku s názvom "Naučte sa myslieť ako programátor II". V tomto pokračovaní sa zameriame na tvorbu funkcií (metód). Znovu budete navrhovať banálne algoritmy, ale tentoraz je budete separovať do samostatných funkcií (metód), ktoré budú vracať požadovaný výsledok do "hlavného vlákna" programu. Úlohy opäť pochádza zo školských zdrojov, kedy som sa ešte učil programovať.
- Vytvorte funkciu "Signum" (slovensky "Znamienko"). Napíšte program, ktorý prečíta od užívateľa 20 reálnych čísel as pomocou tejto funkcie rozhodne, či bolo viac kladných alebo záporných ao koľko. Pozn. funkcia Signum je funkciou jednej reálnej premennej. Je definovaná tak, že pre kladné vstupné hodnoty dáva výsledok 1, pre záporné -1 a pre nulu je výsledkom 0.
- Naprogramujte funkciu pre výpočet n-tej mocniny daného reálneho čísla, kde n je kladné celé číslo. Parametre funkcie budú umocňované číslo a mocnina n. Napíšte program, ktorý od užívateľa načíta reálne číslo xa celé kladné číslo n. S pomocou uvedenej funkcie program spočíta a vypíše x n. Program zabezpečí opakovanie výpočtu, kým to bude užívateľ vyžadovať.
- Zapíšte funkciu, ktorá na základe karteziánskych súradníc dvoch bodov v rovine spočíta ich vzdialenosť. S pomocou tejto funkcie vytvorte program, ktorý zo vstupu prečíta súradnice vrcholov trojuholníka v rovine a spočíta jeho obvod.
- Zapíšte funkciu, ktorá zisťuje, či je kladné celé číslo prvočíslo. S pomocou tejto funkcie napíšte program, ktorý vypíše na obrazovku všetky prvočísla menšie ako užívateľom zadané číslo.
- Napíšte funkcie na výpočet najväčšieho spoločného deliteľa daných dvoch čísel. Napíšte program, ktorý s použitím tejto funkcie prevedie daný zlomok na základný tvar. Zlomok je odovzdávaný ako dvojica celých čísel predstavujúcich jeho čitateľa a menovateľa.
- Napíšte funkciu na výpočet najmenšieho spoločného násobku dvoch daných celých čísel. Napíšte program, ktorý s pomocou tejto funkcie vypočíta súčet dvoch zlomkov. Každý zlomok je odovzdávaný ako dvojica celých čísel predstavujúcich jeho čitateľa a menovateľa.
- Napíšte funkciu, ktorá na požadované súradnice na obrazovke vypíše zadaný text požadovanou farbou. S pomocou tejto funkcie vytvorte program, ktorý na 50 náhodne vygenerovaných miest na obrazovke vypíše text "AHOJ!" Náhodnými farbami.
- Vytvorte funkciu, ktorá zisťuje, či je daný rok priestupný. S pomocou tejto funkcie napíšte program, ktorý na základe čísla roka a poradového čísla dňa v roku spočíta a vypíše dátum v tvare "deň.mesiac.rok".
- Vytvorte funkciu na výpočet faktoriálu z daného čísla. (n! = n (n-1) (n-2) * ... 3 2 * 1). S pomocou tejto funkcie vytvorte funkciu, ktorá spočíta kombinačné číslo "n nad k". Napíšte program, ktorý načíta od užívateľa 2 čísla xaya spočíta "x nad y".
- Napíšte funkciu, ktorá vypočíta ciferný súčet daného čísla. Vytvorte program, ktorý s pomocou tejto funkcie vypíše všetky trojciferné s čísla s ciferným súčtom väčším ako 20.
- Napíšte funkciu, ktorá prevedie dané číslo z desiatkovej sústavy do dvojkovej. Vytvorte program, ktorý s pomocou tejto funkcie vypíše prehľadne všetky čísla od nuly do 32 vždy v dvojkovej, desiatkovej a šestnástkovej sústave.
- Prirodzené číslo sa nazýva dokonalé, ak je rovné súčtu všetkých svojich deliteľov okrem seba samého. Napríklad 6 je dokonalé číslo, lebo 6 = 1 + 2 + 3. Napíšte funkciu, ktorá rozhodne, či je alebo nie je zadané číslo dokonalé. S pomocou tejto funkcie napíšte program, ktorý vytlačí všetky dokonalá čísla menšie ako užívateľom zadané N.
- Napíšte funkciu, ktorá prevádza malé písmená anglickej abecedy na veľká. Ak zadáme tejto funkcii ako hodnotu parametra iný znak ako malé písmeno, funkcia ho ponechá bezo zmien. S pomocou tejto funkcie napíšte program, ktorý prečíta od užívateľa jednu vetu a vypíše jej veľkými písmenami.
- Napíšte funkciu, ktorá prehľadne vypíše násobilku až do zadaného čísla n. S pomocou tejto funkcie vytvorte program, ktorý obrazovku vypíše násobilku až do užívateľom požadovaného čísla.
- Napíšte funkciu, ktorá vypočíta počet dní, ktorý uplynie medzi dvoma dátumami, ktoré budú funkciu odovzdaná ako parametre (vyberte sami vhodný počet a význam parametrov). S pomocou tejto funkcie napíšte program, ktorý vypíše počet dní medzi užívateľom zadanými dátami (opäť zvoľte vhodný spôsob zadávania dát).
- Napíšte funkciu, ktorá vypočíta počet sekúnd, ktoré uplynú medzi dvoma časmi, ktoré budú funkciu odovzdané ako parametre (vyberte sami vhodný počet a význam parametrov). S pomocou tejto funkcie napíšte program, ktorý vypíše počet sekúnd medzi užívateľom zadanými časmi (opäť zvoľte vhodný spôsob zadávania dát).
- Napíšte funkciu, ktorá podľa zadaného dátumu narodenia a pohlavie určí prvých 6 číslic z rodného čísla.
- Napíšte funkciu, ktorá overí, či je zadané rodné číslo prípustné. V prípade že áno, funkcia vráti deň, mesiac aj rok narodenia a správne pohlavie príslušné k rodnému číslu.
- Napíšte funkciu, ktorá prevedie karteziánske súradnice v rovine na polárnej.
V nasledujúcom kvíze, Online test znalostí algoritmizácia, si vyskúšame nadobudnuté skúsenosti z kurzu.