{{indexmenu_n>3}} ====== 3 - Větvení programu, funkce ====== **Záznam cvičení:** [[https://drive.google.com/file/d/1UuNTGcJCWqwBTdfIIOvDvv6C-oz4hF4c/view?usp=sharing|Google Drive]] (nutná autorizace v doméně fel.cvut.cz) ===== Procvičovaná témata ==== * Vstup a výstup programu * Kompilace a spouštění programu * Přesměrování vstupu a výstupu programu do souboru * [[https://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B|operátory]], [[courses:b0b99prpa:tutorials:control|řídicí struktury]] * základní datové typy - ''char, int, float, double'' ===== Úkoly ===== ==== 1. příklad ==== Napište program, který načte ze standardního vstupu tři nenulová celá čisla reprezentující strany trojúhelníku a vyhodnotí, zda lze trojúhelník sestrojit. Příklad spuštění programu: ./trojuhelnik Zadej tri strany trojuhelniku: 10 20 40 Trojuhelnik nelze sestrojit ==== 2. příklad ==== Napište program, který načte jeden znak (datový typ ''char'') a tento znak klasifikuje do některé z následujících množin: * velké písmeno * malé písmeno * číslo * jiný znak Příklad spuštění programu $ ./znak Zadej znak: c Zadaný znak patří do množiny malé písmeno. ==== 3. příklad ==== Napište program, který provede výpočet progresivní daně. Budeme uvažovat progresivní zdanění ve výši 10% pro příjem do 10000, 20% pro příjem od 10000 do 20000 a 30% pro příjem nad 20000. Například, pokud máme hrubou mzdu 24000, bude se prvních 10000 danit 10% (tj. daň z této části mzdy je 1000), dalších 10000 se daní 20% (daň z této části je 2000) a zbývající 4000 se daní 30% (daň je 1200). Celkovou výši daně pak vypočítáme jako součet jednotlivých //částečných daní// (tj. celková daň činí 4200). ==== 4. měnová kalkulačka ==== Napište program, který realizuje kurzový kalkulátor (převod mezi měnami). V programu budou definovány kurzy CZK vzhledem k dvěma konvertibilním měnám, konverze bude obousměrná. Program strukturujte do funkcí a procedur. Příklad spuštění programu: ./prevod Vyber typ prevodu: (1) CZK -> EUR (2) EUR -> CZK (3) CZK -> USD (4) USD -> CZK > 1 Zadej castku v CZK pro prevod: > 1000 Castka v EUR: 34.94 ===== Příklady k procvičení ===== ==== 1. Zaokrouhlení reálného čísla ==== Napište program, který provede zaokrouhlení reálného čísla na požadovaný počet desetinných míst. ==== 2. Obsah obecného trojúhlníku ==== Napište program, který načte ze standarního vstupu tři celá nenulová čísla, reprezentující strany obecného trjúhelníku. Vypočtěte obsah trojúhelníku, využijte [[https://cs.wikipedia.org/wiki/Heron%C5%AFv_vzorec|Heronův vzorec]].