Курсовая работа: Стандартные библиотечные функции С++

double tanh(x); вычисляет гиперболический тангенс x

double x; радиан

Описание : Функции tan и tanh вычисляют соответственно тангенс и гиперболический тангенс x.

Возвращаемое значение: Функция tan возвращает тангенс x. Если x большой, при вычислениях может возникнуть частичная потеря значимости. В этом случае tan вырабатывает ошибку PLOSS, но сообщения не печатает. Если x настолько большой, что общая значимость результата теряется, тогда tan печатает сообщение об ошибке TLOSS в stderr и возв ращает 0. В обоих случаях errno устанавливается в ERANGE. Функция tanh возвращает гиперболический тангенс x.

Возвращаемого значения в случае ошибки нет.

Пример:

#include <math.h>

double pi,x,y;

pi = 3.1415926535;

x = tan(pi/4.0); /* x равен 1.0 */

y = tanh(x); /* y равен 1.6 */

3. Математические ошибки

Ошибки, приведенные ниже, порождаются математическими процедурами библиотеки Си. Эти ошибки соответствуют только тем типам ошибок, которые объявлены в <math.h>, и возвращаются функцией matherr.

Таблица 1.

Ошибка Описание
DOMAIN

Аргумент для функции находится вне области определения функции.

(например log(-1));

OVERFLOW

Результат очень большой для предоставления его в возвращаемом значении.

(например exp(1000));

PLOSS Возникла частичная потеря значимости.
SING

Особенность аргумента: аргумент для функции имеет неверное значение(например, пересылается значения 0 к той функции, которая требует ненулевого значения).

(например pow(0,-2));

TLOSS

Возникла общая потеря значимости.

(например sin(10e70))

UNDERFLOW

Результат очень маленький для предоставления его в возвращаемом значении.

(например exp(-1000));
Имя функции: matherrОписание: ????????? ????????? ?????? ???????? ? ????????? ??????, ?????????????? ?????????????. ??????? matherr ?????????? ??? ????????? ??????, ???????????? ????????? ?? ?????????? ?????????????? ??????? ????????? #include int matherr(struct exception *e);
matherr ?????? ? ???????? ???????????????? ???????, (??????? ???????????? ?????????????) ??????? ?? ?????? ???????? ???? (???????? ??????). matherr ????? ???????????? ??? ???????????? ?????? ??????? ??????????? ? ?????? ?? ??????? ?????????, ???????????? ? ?????????????? ????????. ??? ?? ??????????? ?????????????? ????????, ??????????? ??? ?????? ?? ?????????? ? ????????? ?????? (???????? ??? ??????? ?? 0). ??? ???????????? ????? ?????? ?????? ??????? signal.?? ?????? ?????????????? ????????? matherr ?????????? ??? ?????? ?????? (?? ???? ??? ????? ??????????? ???????????? ???? ??????); ???????????????? ??????? matherr ?????? ?????????? 0, ???? ??? ?? ????? ?????????? ?????? ??????, ? 1, ???? ?????? ??????? ??????????. ???? ??????? matherr ?????????? ????????? ????????, ????????? ?? ?????? ?? ??????????, ? ?????????? errno ?? ??????????.???? ????????? ????????? exception (???????????? ? ????? math.h): struct exception { int type; char *Function; double arg1, arg2, retval; }; ????????? ????? ????????? exception ?????????? ?????????: ??????? 2.
Имя Что это
Type тип произошедшей математической ошибки; тип enum определен в typedef_mexcep (смотрите определение после данного списка).
Function указатель на символьную строку с нулевым окончанием, содержащую имя библиотечной математической функции, которая выдала ошибку.
arg1,arg2

аргументы (переданные данной функции), которые вызвали ошибку; если функции передается только один аргумент, он хранится в arg1.

Retval стандартное возвращаемое значение для функции matherr; вы можете модифицировать это значение.

Параметр typedef_mexcep, также определенный в файле math.h, перечисляет следующие символические константы, представляющие собой возможные математические ошибки: (см. Таблицу 1).

???????? ??? ??? ??????? matherr, ???????????? ?? ????????? ????????? ?? ?????????????? ?????? ? ???????? Turbo C++.???????? UNIX ??????? matherr ??????????? ?? ?????????? ANSI C. ???? ??? ????????? ?????? ??????? matherr ??? ??????? UNIX, ??????????? ?????????? matherr.c, ???????????? ?? ?????????????? ???????? ?????? Turbo C.???????????? ?? ????????? ??????? matherr ?????????? 1 ???? ???????? ?????? UNDERFLOW ??? TLOSS, ????? 0. ??????? matherr ????? ????? ?????????????? ???????? e->retval, ??????? ??????????? ??????? matherr ?????????? ? ?????????? ?????????. ????? ??????? matherr ?????????? 0, (??????????, ??? ?????????? ?????? ??? ?? ?????), ??????? _matherr ????????????? ?????????? errno ? ???????? ????????? ?? ??????. ????? ??????? matherr ?????????? ????????? ????????, (??????????, ??? ?????? ??????? ??????????), ?????????? ?????????? errno ?? ??????????????? ? ????????? ?? ?????? ?? ?????????.????????????? matherr ???????? ?? ?????? ???????????? ??, ?????? ??? ?? ?????????????? ?????????? ANSI C.matherr ? ????? ??????? UNIX (??????? ???????? ????????? ? ????????? ?????????? ?????????) ???????????? ?????? ? ??????? Turbo C++ ? ????? MATHERR.C. matherr ????? ?? ?????????????? ? ?????????? ??????? Turbo C++.??????: #include#include#includeint matherr(struct exception *a);{if (a -> type == DOMAIN){if(strcmp(a -> name, "sqrt") == 0){ a -> retval = sqrt (-(a -> arg1)); return (1);}}return (0);}int main(void){double x,y;x = -2.0;y = sqrt(x);printf("????????, ????????????????? matherr: %lf\n",y);return 0;}

4. Программная часть

4.1 Постановка задачи

Перед началом выполнения данной курсовой работы я поставил для себя целью изучить принципы работы с математической библиотекой, функции и системные вызовы языка С++, позволяющие выполнять геометрические, тригонометрические и другие нестандартные математические расчёты. В курсовой работе я буду создавать и описывать программу, которая позволит выполнять расчёты по заданным параметрам, введённых с клавиатуры.

Данная программа в дальнейшем может быть использована студентами для изучения математической библиотеки на лабораторных занятиях по изучению теоретического материала и приобретения практических навыков по дисциплине «Системное Программное Обеспечение», а также программа может быть использована в работе с операционной системой MS DOS.

4.2 Описание разработанной программы

К-во Просмотров: 630
Бесплатно скачать Курсовая работа: Стандартные библиотечные функции С++