IB001 – Seminární skupiny 6, 7 a 24

Týden 3

Funkce matematické knihovny math

Standardní knihovna jazyka C obsahuje základní matematické funkce pro výpočet goniometrických funkcí, mocniny a odmocniny čísla, logaritmů a také zaokrouhlovací funkce. Podrobnou dokumentaci naleznete na http://www.cplusplus.com/reference/clibrary/cmath/, ve cvičeních užijeme funkce:

  • cos - cosinus
  • sin - sinus
  • pow - mocnina
  • sqrt - druhá odmocnina
  • ceil - horní celá část
  • floor - dolní celá část
  • fabs - absolutní hodnota desetinného čísla

Blok příkazů

V jazyce C je možné sloučit do bloku příkazy, které následují v programu přímo po sobě. V praxi se bloky využijí za řídícími konstrukcemi jako jsou podmíněný příkaz nebo cykly.
Blok se v jazyce C zapíše pomocí složených závorek takto:

{
    float base, exp;
    printf("Zadejte zaklad: ");
    scanf("%g", &base);
    printf("Zadejte exponent: ");
    scanf("%g", &exp);

    float result = pow(base, exp);
    printf("%.4f ^ %.2f = %.4f", base, exp, result);
}

Podmíněný příkaz if - else

Pokud chceme některou část programu provést jen pokud je splněna nějaká podmínka, můžeme v jazyce C použít podmíněný příkaz if. Takto můžeme v programu provést jeden příkaz nebo blok příkazů. Navíc je možné provést příkazy, když podmínka splněna není, k tomu se užije klíčové slovo else.
Zápis podmínky může vypadat takto:

int num;
/* Nacteni num ze vstupu */
if (num > 0)
    printf("Uzivatel zadal kladne cislo");

Se zápisem v bloku a s použitím větve else by vypadal stejný program takto:

int num;
/* Nacteni num ze vstupu */
if (num > 0) {
    printf("Uzivatel zadal kladne cislo");
} else {
    printf("Potrebuji kladne cislo");
}

Logické výrazy

V jazyce C je možné utvářet jednoduché logické výrazy, např.:

  • a < b - a je menší než b,
  • a >= b - a je větší nebo rovno b,
  • a == b - a je rovno b,
  • a != b - a není rovno b.

Kromě základních relačních operátorů je možné logické výrazy negovat a jednoduché výrazy spojovat do složitějších pomocí logických spojek a a nebo:

  • !a - negace a,
  • a && b - a a zároveň b,
  • a || b - a nebo b.

Často může být vhodné jednodušší výrazy uzavírat do závorek, aby byla explicitně určena priorita s jakou budou vyhodnocovány.