3 - Větvení programu, funkce

Záznam cvičení: 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
  • základní datové typy - char, int, float

Úkoly

Větvení

Větvení toku programu se provádí pomocí příkazu if, který vyhodnotí logickou hodnotu výrazu. Výraz by měl obsahovat relační operátor (>, >=, <, , ==, !=). Díky tomu, že v C je 0 považována za log. hodnotu False a všechna ostatní čísla za log. hodnotu True, lze vyhodnotit i samotný výraz bez relačního operátoru. Vždy je ale lepší explicitně doplnit relační operátor a porovnávanou hodnotu, aby bylo na první pohled zřejmé, jaký je smysl podmínky.

Dílčí výrazy lze spojovat pomocí logických operátorů && a ||. Pokus si nejste jisti, používejte závorky.

int a, b, c;
 
scanf("%i%i%i", &a, &b, &c);
 
if (a < b && a < c)
{
    printf("a je nejmensi cislo ze zadanych\n");
}

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 Heronův vzorec.

courses/b0b99prpa/labs/lab03.txt · Last modified: 2024/10/02 10:32 by viteks