Каждая среда разработки IDE включает библиотеки, содержащие объектные коды функций, сгруппированных по тематическому признаку. Их очень много. Здесь рассмотрим некоторые наиболее употребительные математические функции. Остальные будут рассмотрены в других разделах или предлагаются для самостоятельного изучения.
Назначение | Basic | C | Комментарий |
Абсолютное значение |x| | abs(x) | abs(x), fabs(x), labs(x) | int, short Тип аргу- float, doubleà мента в longязыке C |
Знак числа | sign(x) | нет | =-1, если x<0; = 0, если x=0; = 1, если x>0; |
Корень квадратный 2√x | sqrt(x) | sqrt(x) | x>= 0 |
Целая часть |x| | fix(x) | нет | fix(9.7)=9 fix(-9.7)=-9 |
Ближайшее большее целое значение | ceiling(x) | ceil(x) | ceil(-9.7)=-9 ceil(9.7)=10 |
Ближайшее меньшее целое значение | floor(x) | floor(x) | floor(-9.7)=-10 floor(9.7)=9 |
Экспонентаex | exp(x) | exp(x) | x< 709,782712893 |
Возведение в степень xy | нет | pow(x, y) | |
Натуральный логарифм ln x | log(x) | log(x) | x>0 |
Десятичный логарифм lg x | log10(x) | log10(x) | x>0 |
sin x | sin(x) | sin(x) | Угол в радианах |
cos x | cos(x) | cos(x) | ------------------------------- |
tg x | tan(x) | tan(x) | ------------------------------- |
arctg x | atan(x) | atan(x) | -p/2<y<p/2 |
arctg y/x | atan2(y, x) | atan2(y,x) | -p<z<p |
arcsin x | asin(x) | asin(x) | -p/2<y<p/2 -1<=x<=1 |
arccos x | acos(x) | acos(x) | 0<y<p -1<=x<=1 |
Замечания.
1. В языке Basic аргументы могут иметь любой числовой тип. Результат в большинстве функций имеет тип double. Функция signвозвращает целое значение. Функции abs, fix, intвозвращают результат, тип которого совпадает с типом аргумента. Данная версия транслятора рассматривает функции как методы определенного класса (типа пользователя). Соответственно обращение к ним принимает вид: <имя класса>.<имя функции>. Приведенные функции являются методами класса Math. Пример обращения:
y=math.abs(x^3-2)
Использование классов (объектно-ориентированный подход) будет рассматриваться в курсе "Высокоуровневые методы информатики и программирования" на примере языка C++.
Можно избежать применения имени класса mathв тексте программы. Для этого в 1-й строке файла программы надо записать инструкцию вида: imports system.math.
2. В языкеC большинство функций имеют аргументы и результаты типа double. Исключение – абсолютное значение. Функцииabs, fabs, labsимеют в качестве аргумента и результата типы int, double, longсоответственно. Отметим, что в качестве аргументов всех функций можно использовать данные любых числовых типов, если включить в состав программы файл прототипов данных функций. Такие файлы имеют расширение .h и о них речь пойдет позже. Прототипы всех приведенных функций заданы в файле math.h и вызывают преобразование аргументов и возвращаемого функцией значения к типам, указанным в прототипе.
Пример. Прототип функции ex.
double exp(double);