V dnešním díle našeho seriálu o programování se podíváme na matematické funkce. Díky nim si můžeme značně usnadnit práci při psaní samotného kódu, jelikož je spousta věcí z matematiky již implementovaná v modulu Foundation. Pojďme se tedy na jednotlivé funkce podívat trošku podrobněji.
Zaohrouhlování
Pro zaokrouhlování nám Swift připravil hned 4 funkce. Například round() vezme jako parametr od uživatele desetinné číslo (Double), které zaokrouhlí podle dosud zažitých pravidel. Pokud tedy zadáme hodnotu 3.5, dostaneme čtyřku, avšak po zadání 3.4 dostaneme trojku. U této funkce je důležitý její návratový typ, který nadále zůstává Double. Pokud bychom chtěli tento typ změnit například na Int, museli bychom hodnotu ve výsledku přetypovat. Pokud bychom však chtěli zaokrouhlit vždy nahoru, a nebo naopak vždy dolů, poslouží nám k tomu funkce ceil() a floor(). Jako poslední ve Swiftu nalezneme funkci trunc(), která pouze odstraní desetinnou část, ale ve výsledku nijak nezaokrouhluje a nemění původní znění.
Jistě jste si mohli všimnout, že funkce floor() a trunc() dělají vlastně to samé. Jejich rozdíl nastává při práci se zápornými čísly. V takovém případě trunc() zaokrouhluje co nejblíže k nule, zatímco floor() se ubírá zcela opačným směrem – více do mínusu. Všechny tyto výše zmíněné funkce se dají aplikovat i na datový typ Float, přičemž za ně stačí dopsat znaménko f – například floorf(). Zdrojový kód ze screenshotů zde.
Minimální a maximální hodnota
Jak již z názvu vyplývá, pomocí funkcí min() a max() můžeme ze dvou hodnot získat jejich minimální a maximální hodnotu. Obě funkce berou dva parametry libovolného datového typu, avšak ty se musí vzájemně shodovat. Pokud například máme proměnnou hodnota typu Double a hodnota2 typu Int, budeme muset pro využití těchto funkcí jedno z čísel přetypovat.
Goniometrické funkce
S goniometrickými funkcemi můžeme pracovat ve Swiftu poměrně snadno a rychle. Funkce berou jako parametr úhel v radiánech typu Double. Pokud však budete chtít pracovat se stupňovou mírou, můžeme si je převést na radiány a následně se dopracovat k výsledku. Pojďme si to tedy popsat na konkrétním příkladu, v kterém jsme si přímo ukázali využití konstanty Pí, která je taktéž ve Swiftu implementována. Pokud na konec funkce dodáme opět písmeno f, můžeme místo typu Double využít Float.
Stejným způsobem jde spočítat i funkce cyklometrické. Jediné, co se v jejich případě změní je, že se před ně umístí písmenko a. Funkce mají posléze následující tvar: asin(), acos() a atan(). Opět je v jejich případě možno využít varianty s datovým typem Float.
Absolutní hodnota
Zjištění absolutní hodnoty je naprosto jednoduché. Vše za vás vyřeší funkce abs(), která bere parametr libovolného datového typu.
Druhá mocnina a odmocnina
Druhé mocniny nebo odmocniny dosáhneme pomocí funkcí pow() a sqrt(). Funkce pow() bere dva parametry typu Double, přičemž první určuje základ mocniny a druhý exponent. Co se týče funkce sqrt(), tak ta bere pouze jeden parametr, z kterého nám vypočítá druhou odmocninu. Opět se jedná o datový typ Double, avšak pro Float můžeme využít funkce sqrtf().
To by bylo pro dnešní díl vše a již brzy se podíváme na poslední téma našeho seriálu, kterým bude práce se Stringem. Blížíme se do konce.