В OpenOffice.org Basic є великий набір вбудованих (з бібліотеки часу виконання) функцій і процедур, використання яких спрощує програмування. Ці функції можна розділити на наступні категорії: математичні функції, функції обробки рядків, функції перевірки типів, функції зміни форматів, функції часу і дати.
Математичні функції OpenOffice.org Basic:
- Abs (число) – обчислює модуль (абсолютна величина) числа;
- Atn (число) – обчислює арктангенс числа у радіанах;
- Cos (число) – обчислює косинус кута, заданого у радіанах;
- Exp (число) – обчислює експоненту числа, наприклад, e5 записуємо як Exp(5), а коли потрібно визначити значення самого числа e, то записуємо Exp(1), бо e = e1;
- Int (число) – виділяє цілу частина числа;
- Log (число) – обчислює натуральний логарифм (ln x);
- Rnd (число) – генерує випадкове число з інтервалу [0,1), якщо, напрклад потрібно випадковим чином вибрати цифру від 0 до 9, можна записати Int(Rnd() * 10);
- Sin (число) – обчислює синус кута, заданого у радіанах;
- Sgn (число) — визначає знак числа і дає результат: 1 — додатнє число, -1 — від’ємне число, 0 — число 0;
- Sqr (число) – корінь квадратний заданого числа;
- Tan (число) – тангенсс кута, заданого у радіанах;
- Fix (число) – відкидає дробову частину, дія подібна до функії Int, наприклад, Fix(1.5) = Int(1.5) = 1, але Fix(-1.5)=-1, а Int(-1.5) = -2.
Функцій із поданого переліку у поєднанні з арифметичними операціями OpenOffice.org Basic цілком достатньо для обчислення математичних будь-якої складності. Зокрема:
-
для обчислення логарифма числа x із заданою основою a використовують формулу переходу до нової основи логарифма
і функцію Log(), тобто для
отримаємо вираз Log(x)/Log(a);
- для обчислення кореня довільного степеня використовують його означення через степінь з дробовим показником і операцію піднесення до степеня;
-
для обчислення обернених тригонометричних функцій використовують функцію Atn() та формули переходу від однієї оберненої тригонометричної функції до іншої
та
,
наприклад, щоб обчислити arcsin 0,5, в коді макроса слід записати Atn(0.5/Sqr(1 – 0.5^2)).