====== Matematikai kifejezések programozása ====== ===== Beépített matematikai függvények ===== A szabvány Pascal nyelvbe beépített matematikai függvények: ^ Függvény ^ Leírás ^ Argumentum típusa ^ Visszatérési típus ^ | ''abs'' | abszolút érték $\left|x\right|$ | valós vagy egész | ugyanaz, mint az argumentum | | ''arctan'' | arkusz-tangensfüggvény $\operatorname{arctg} x$ | valós vagy egész | valós | | ''cos'' | koszinusz radiánban $\cos x$ | valós vagy egész | valós | | ''exp'' | exponenciális függvény $e^x$ | valós vagy egész | valós | | ''ln'' | természetes logaritmus $\ln x$ | valós vagy egész | valós | | ''round'' | kerekítés | valós | egész | | ''sin'' | szinusz radiánban $\sin x$ | valós vagy egész | valós | | ''sqr'' | négyzet $x^2$ | valós vagy egész | ugyanaz, mint az argumentum | | ''sqrt'' | négyzetgyök $\sqrt{x}$ | valós vagy egész | valós | | ''trunc'' | csonkolás | valós vagy egész | egész | A felsorolástípusoknál (egész vagy karaktertípus) az előző vagy a következő elemek kiválasztására használt függvények: ^ Függvény ^ Leírás ^ Argumentum típusa ^ Visszatérési típus ^ | ''chr'' | ASCII kód | egész | karaktertípus | | ''ord'' | sorszám | egész vagy karaktertípus | egész | | ''pred'' | megelőző sorszám | egész vagy karaktertípus | ugyanaz, mint az argumentum | | ''succ'' | következő sorszám | egész vagy karaktertípus | ugyanaz, mint az argumentum | ===== Az $e$ és a $\pi$ állandók ===== Az $e$ szám (2,7182818284...): $e = e^1$ e := exp(1); A $\pi$ értéke (3,1415926535...): $\pi = 4\arctan\left(1\right)$ pi := 4 * arctan(1); ===== A mínusz egy egész kitevőn ===== $f = \left(-1\right)^n = \left\{ \begin{eqnarray*} 1, & & \text{ ha } n \text{ páros, } \\ -1, & & \text{ ha } n \text{ páratlan. } \end{eqnarray*} \right\} $ if n mod 2 = 0 then f := 1 else f := -1; ===== Tetszőleges alapú logaritmus ===== Az $a$ alapú logaritmus képlete: $\log_a x = \displaystyle\frac{\ln x}{\ln a}$ log := ln(x) / ln(a); ===== Tetszőleges hatványra való emelés ===== A hatványra emelés: $x^y = e^{y\ln x}$ xy := exp(y * ln(x)); ===== N-ed fokú gyök ===== Az $n$-ed fokú gyök képlete: $f = \sqrt[y]x = x^{\frac{1}{y}}=e^{\frac{1}{y}\ln x}$ f := exp(1.0 / y * ln(x)); Ha az $n$ páratlan, akkor létezik negatív argumentumból is gyök, és ez negatív lesz: $n = (2k+1),k\in Z, $ \\ $f = \sqrt[y]x = \operatorname{sgn}\left(x\right)\left|x\right|^{\frac{1}{y}}=\operatorname{sgn}\left(x\right)e^{\frac{1}{y}\ln \left|x\right|},$ Ahol az $\operatorname{sgn}\left(x\right)$ -- az $x$ előjele. x := -27; y := 3; f := -exp(1.0 / y * ln(abs(x))); ===== Inverz trigonometrikus függvények ===== Az inverz trigonometrikus függvények: $\arcsin x = \operatorname{arctg}\displaystyle\frac{x}{\sqrt{1-x^2}}, -1\leq x \leq 1,$ \\ $\arccos x = \operatorname{arctg}\displaystyle\frac{\sqrt{1-x^2}}{x}, -1\leq x \leq 1,$ \\ $\operatorname{arcctg} x = \operatorname{arctg}\displaystyle\frac{1}{x},$ \\ $\operatorname{arcsec} x = \operatorname{arctg}\sqrt{x^2-1},$ \\ $\operatorname{arccosec} x = \operatorname{arctg}\displaystyle\frac{1}{\sqrt{x^2-1}}.$ \\ arcsin := arctan(x / sqrt(1 - x * x)); arccos := arctan(sqrt(1 - x * x) / x); arcctg := arctan(1.0 / x); arcsec := arctan(sqrt(x * x - 1)); arccosec := arctan(1.0 / sqrt(x * x - 1)); ===== Hiperbolikus függvények ===== A hiperbolikus függvények: $\operatorname{sh} x = \displaystyle\frac{e^x-e^{-x}}{2},$ \\ $\operatorname{ch} x = \displaystyle\frac{e^x+e^{-x}}{2},$ \\ $\operatorname{th} x = \displaystyle\frac{e^x-e^{-x}}{e^x+e^{-x}},$ \\ $\operatorname{cth} x = \displaystyle\frac{e^x+e^{-x}}{e^x-e^{-x}},$ \\ $\operatorname{sch} x = \displaystyle\frac{2}{e^x+e^{-x}},$ \\ $\operatorname{csch} x = \displaystyle\frac{2}{e^x-e^{-x}}.$ sh := (exp(x) - exp(-x)) / 2; ch := (exp(x) + exp(-x)) / 2; th := (exp(x) - exp(-x)) / (exp(x) + exp(-x)); cth := (exp(x) + exp(-x)) / (exp(x) - exp(-x)); sch := 2 / (exp(x) + exp(-x)); csch := 2 / (exp(x) - exp(-x));