Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие_2_изд_испр.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.27 Mб
Скачать

4.5. Обращение к функции

Синтаксис обращения в языках C и Basic совпадает:

<имя_функции>([<аргумент>[,<аргумент]...])

<аргумент>:=<выражение>

Пример.

sin(2*x+5) abs(x-y)

Функции могут быть встроенными (библиотечными, см.ниже) и написанными программистом (функции пользователя, о них последующих разделах).

4.6. Встроенные функции

Каждая среда разработки 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)

-/2<y</2

arctg y/x

atan2(y, x)

atan2(y,x)

-<z<

arcsin x

asin(x)

asin(x)

-/2<y</2 -1<=x<=1

arccos x

acos(x)

acos(x)

0<y< -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);