math.h

math.h je hlavičkový soubor standardní knihovny jazyka C, který zpřístupňuje matematické funkce pro reálná čísla (např. goniometrické funkce, logaritmy) s přesností double, standard C99 i pro komplexní čísla a také s přesnostmi float a long double. (Může obsahovat konstanty např. Ludolfovo číslo, Eulerovo číslo, ...). Hlavičkový soubor se do zdrojového kódu vkládá pomocí direktivy preprocesoru #include <math.h> (v C) nebo #include <cmath> (v C++).

Funkce pow

Funkce pow (z anglického power, což znamená umocňovat) je funkce, která umožňuje umocňovat reálný základ reálným číslem. Při programování se často místo této funkce používá součin několika proměnných, například .

V případě, že je potřeba spočítat druhou odmocninu, lze použít předdefinovanou funkci sqrt, případně se používá alternativa ve tvaru pow(x, 1./2.), což je základ umocnění na jednu polovinu.

Toto se používá i u jiných odmocnin. Při počítání liché odmocniny je v matematice definována odmocnina ze záporného čísla, ale u této funkce toto není definováno. Tento problém lze obejít podmínkami if a else a pomocí funkce abs(x).

Příklad zdrojový kódu pro funkci pow

#include <math.h>
#include <stdio.h>

int main()
{
    double x, z;
    printf("Zadejte cislo, ktere chcete umocnit na 3. :");
    scanf("%lf", &x);
    z = pow(x, 3.);
    printf("Vysledek je: %f\n", z);
    return 0;
}

Funkce sqrt

Funkce sqrt (z anglického square root, což znamená druhá odmocnina) je další funkci, která je možné volat ve tvaru z = sqrt(x);. Pro tuto funkci není definována odmocnina ze záporného čísla. Tomuto problému lze zabránit příkazem abs(x) nebo podmínkami if a else. Alternativa tohoto příkazu je příkaz pow, kde je proměnná umocněna na jednu polovinu.

Příklad zdrojový kódu pro funkci sqrt

#include <math.h>
#include <stdio.h>

int main()
{
    double x, z;
    printf("Zadejte cislo, ktere chcete odmocnit: ");
    scanf("%lf", &x);

    if(x >= 0.)
    {
        z = sqrt(x);
        printf("Vysledek je: %f\n", z);
        return 0;
    }
    else
    {
        printf("Chyba, program ukoncen!\n");
        return 1;
    }
}

Tabulka s přehledem nejužívanějších příkazů této knihovny

PříkazPopis
absabsolutní hodnota
labsabsolutní hodnota typu long
fabsabsolutní hodnota typu float
divvrátí výsledek spolu se zbytkem dělení
ldivvrátí výsledek spolu se zbytkem dělení typu long
sqrtdruhá odmocnina
powvrátí umocněné číslo
logpřirozený logaritmus
log10logaritmus se základem 10
sinsinus
coskosinus
tantangens
acosarcus cosinus
asinarcus sinus
atanarcus tangens
atan2arcus tangens
sinhhyperbolický sinus
coshhyperbolický cosinus
tanhhyperbolický tangens
ceilvrátí nejbližší celé číslo ne menší než argument (zaokrouhlí nahoru)
floorvrátí nejbližší celé číslo ne větší než argument (zaokrouhlí dolů)

Související články

Reference

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.