Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Высокоуровневые методы информатики и программир...docx
Скачиваний:
25
Добавлен:
12.11.2019
Размер:
6.53 Mб
Скачать

6.4. Функции, методы и макросы

Назначение и порядок использования функций аналогичны одно­имен­ным функциям Delphi (п. 1.7).

6.4.1. Математика

Функции объявлены в файлах math.h, Math.hpp, stdlib.h.

unsigned long _lrotl/long_lrotr (unsigned long value, int count),

unsigned short _rotl/ short_rotr (unsigned short value, int count) ‑ цик­ли­чес­кий сдвиг value влево/вправо на count битов.

int abs(int x), Long labs(long int x) ‑ абсолютное значение.

double ceil(double x), int Ceil(Extended x), long double ceill(long double x) - округление вверх: наименьшее целое, не меньшее X.

div_t div(int numer, int denom) typedef struct int quot; /* частное*/

int rem;/*остаток*/ div_t - целочисленное деление numer/denom.

double eхp(double x), long double expl(long double x) ‑ экспонента.

double fabs(double x), long double fabsl(long double x) - абсолютное значение.

double floor(double X), long double floorl(long double x), int Floor(Extended X) - округление вниз: наибольшее целое, не большее X.

double fmod(double x, double y), long double fmodl(long double x, long double y) - остаток от деления x / y.

Extended IntPower(Extended Base, Int Exponent) ‑ возводит Base в целую степень Exponent.

double ldexp(double x, int exp), Extended Ldexp(Extended X, int P),

long double ldexpl(long double x, int exp) - x2exp .

typedef struct long int quot; /* целое */ long int rem; /* остаток*/ } ldiv_t; ldiv_t ldiv(long int numer, long int denom) ‑ целочисленное деление: numer / denom; quotрезультат; rem - остаток.

double log(double x), long double logl(long double x) - натуральный логарифм.

double log10(double x), Extended Log10(Extended X),

long double log10l(long double x) - десятичный логарифм.

Extended Log2(Extended X) - логарифм по основанию 2.

max/min (x, y)макрос возвращает максимальное/минимальное значение из x и y любых типов.

double modf(double x, double *ipart), long double modfl(long double x, long double *ipart) - разделяет x на целую ipart и возвращаемую дробную части.

double pow(double x, double y), Extended Power(Extended x, Extended y),

long double powl(long double x, long double y) ‑ xy.

double sqrt(double x) , long double sqrtl(long double x) - корень квадратный.

void randomize(void) - включение генератора случайных чисел.

int random(int num) ‑ случайное целое число в диапазоне от 0 до num ‑ 1.

long double acosl(long double x), Extended ArcCos(Extended X) ‑ арккосинус*.

Extended ArcSin(Extended X), double asin(double x), long double asinl(long double x) - арксинус.

double atan(double x), long double atanl(long double x) арктангенс.

double cos(double x), long double cosl(long double x) ‑ косинус.

Extended Cotan(Extended X) - котангенс.

double sin(double x), long double sinl(long double x) - синус.

Extended Tan(Extended X), double tan(double x), long double tanhl(long double x) - тангенс.

6.4.2. Обработка статистических данных

Приведенные ниже функции (Math.hpp) обрабатывают элементы массива Data, в котором максимальное значение индекса равно Data_Size.

Int MaxIntValue/ MinIntValue (const int * Data, const Int Data_Size),

double MaxValue/MinValue(const double * Data, const int Data_Size) - мак­си­мальное/минимальное значение.

Extended Mean(const double * Data, const int Data_Size) ‑ среднее значение.

Extended Sum(const double * Data, const int Data_Size),

int SumInt(const int * Data, const int Data_Size) ‑ сумма значений.

Extended TotalVariance(const double * Data, const int Data_Size) ‑ сумма квадратов отклонений от среднего значения.