Aszolútérték, négyzet és négyzetgyök, hatványozás
Az Abs függvény a paraméterként kapott egész vagy valós szám abszolútértékét adja vissza azonos típusban. például: V:=Abs(-3.5) ; E:=Abs(14) {V:=3.5; E:=14}
Az Sqr függvény a paraméterként kapott egész vagy valós szám négyzetét adja vissza azonos típusban. például: N:=Sqr(3) ; T:=Sqr(1.2) {N:=9; T:=1.44}
Az Sqrt függvény a paraméterként kapott egész vagy valós szám négyzetgyökét adja vissza valósszám típusban. például: G:=Sqrt(4) {G:=2.0} Negatív paraméterérték természetesen hibát okoz!
A Math Unitban található Power függvény AB értékét számítja ki, ahol A és B egyaránt lehet egész vagy valós szám, de az eredmény mindig valós. Kicsit gyorsabb lefutást eredményez az IntPower függvény , de ennek második paramétere (vagyis a kitevő) csak egész szám lehet, de a visszaadott eredmény itt is valósszám.
Változó inkrementálása és dekrementálása
Sorszámozott típusú változók növelésére illetve csökkentésére használható függvények. Mindkét eljárásnak lehet egy vagy két paramétere. A végrehajtás során az első paraméter értéke annyiszor nő vagy csökken 1-gyel, amennyi a második paraméter értéke. Ha a második paraméter hiányzik, akkor annak alapértelmezése 1.
példák:
A:=2; Inc(A); {A:=3}
B:=8; Dec(B); {B:=7)}
C:='F'; Inc(C,-2); {C:='H'}
Implementált trigonometriai függvények
A Sin(X) és Cos(X) függvények visszadják az X radiánban mért szög szinuszát illetve koszinuszát. például Sin(Pi/2) értéke 1.0 Ezek segítségével -és egy kis matematikai ismerettel- a többi szögfüggvény is megkapható, azonban a Math Unit tartalmaz Tan(X); Cotan(X) függvényeket, melyek értelemszerűen a paraméter tangensét, illetve kotangensét adják vissza. Hivatkozhatunk a visszakereső függvényekre is. Ezek: ArcSin, ArcCos, ArcTan és ArcTan2, használatukat most nem részletezzük, mert ez inkább matematika, mint programozás.
Megjegyezzük, hogy a Math Unitban találhatóak különböző szögmértékek közötti átszámító függvények is. Így például a Tan(DegToRad(45)) kiszámítja a tg(45)-ot.
Kerekítés, egészrész
Az Int függvény segítségével megkaphatjuk bármely valós szám egészrészét, míg a Frac függvénnyel annak törtrészét. Fontos, hogy mindkettő valós értéket ad vissza. Negatív paraméter esetén mindkettő az abszolútértékén végzett művelet eredményének -1 szeresét adja vissza.
A Round függvény a paraméterül kapott valós számot kerekíti a szokásos szabályok szerint egészre, míg a Trunc függvény csonkítja. Az Int és Trunc között csak annyi a különbség, hogy az utóbbi mindig egésztípusú értéket ad vissza, míg az előbbi valóst.
Véletlenszám-generálás
Néha szükség van az algoritmusokban véletlen, vagy annak tűnő számokra. Ilyeneket generálhatunk a Random függvény segítségével. A Random függvény kétféle paraméterezéssel is meghívható. Paraméter nélkül egy véletlen valós számot ad vissza a [0; 1) intervallumból. Ezt lineáris transzformációkkal bármely más intervallumra átszámíthatjuk.
például a V:=3*Random+2 utasítás hatására a V valós szám értéke a [2;5) intervallumból kerül ki.
A másik módszer, ha paraméterként egy egész kifejezést adunk meg. Ekkor a Random függvény egy a kifejezés értékénél kisebb nemnegatív egész értékkel tér vissza.
például a L:=Random(90)+1 utasítás hatására az L értéke [1; 90] közötti egész szám lesz.
Mindkét esetben a geberált véletlen érték egyenletes eloszlásúnak tekinthető.
Megjegyezzük, hogy a Random függvény úgynevezett pszeudó véletlenszámot állít elő. Tehát csak annak tűnik, de nem az. Valójában egy fix algoritmus generálja őket. Ennek a generáló algoritmusnak lehet egy véletlen kezdőértéket adni a Randomize eljárás meghívásával. Ezt elegendő egyszer meghívni, de még az első Random függvényhívás előtt. Ennek elmaradása esetén a "véletlenszámaink" mindig ugyan azok az értékek lesznek.
A Math unit
A Math Unit számos más hasznos matematikai függvénnyel, eljárással, konstansokkal és típusokkkal van ellátva, melyeket alkalmazhatunk a programokban. Ezek közül csak a főbb csoportokat említjük meg. Vannak geometriai-, statisztikai-, trigonometrikus-, szögkonverziós-, számkonverziós-, exponenciális-, logaritmikus-, hiperbolikus függvények és eljárások.