Tutorial interactivo del lenguaje Python. Funciones matemáticas - Clase de matemáticas
Todas las funciones matemáticas requieren un encabezado
1 | acos | Función doble acos(doble argumento argumento |
2 | asin | Función doble asin(doble argumento) devuelve el arco coseno del argumento argumento. El valor del argumento de la función debe estar en el rango de -1 a 1; de lo contrario, se producirá un error. |
3 | atan | Función doble atan(doble argumento) devuelve el arcotangente del argumento argumento. |
4 | atan2 | Función doble atan2(doble incógnita, doble y) devuelve el arcotangente del valor y/incógnita. |
5 | fortificar techo | Función doble techo (doble número) devuelve el entero más cercano (representado como un número real de punto flotante) que no sea menor que el valor del argumento número. Por ejemplo, ceil(1.02) devolverá 2.0. Esta conversión se llama sobreredondeo. |
6 | porque | Función doble cos(doble argumento) devuelve el coseno del argumento argumento |
7 | aporrear | Función doble cosh(doble argumento) devuelve el coseno hiperbólico del argumento argumento. |
8 | exp. | Función doble exp(doble argumento) devuelve la base del logaritmo natural mi, elevado a un poder argumento. |
9 | fabulosos | Función doble fabs(doble número) devuelve el valor absoluto (valor de módulo) del argumento número. |
10 | piso | Función doble piso(doble número) devuelve el número entero más grande (representado como un número real de punto flotante) no mayor que el valor del argumento número. Por ejemplo, piso(1.02) devolverá el número 1.0. Esta conversión se llama redondeo hacia abajo. |
11 | fmod | La función double fmod(doble x, doble y) devuelve el resto de la división x/y. |
12 | frex | Función doble freexp(doble número, entero * exp.) expande un número número por una mantisa que va de 0,1 a 1, sin incluir 1, y un exponente entero, por lo que número = mantisa. La función devuelve la mantisa y el valor del exponente se almacena en la variable señalada por el puntero. exp.. |
13 | registro | Función doble registro(doble número) devuelve el logaritmo natural de un número número. Si el argumento número |
14 | registro10 | Función doble log10(doble número) devuelve el logaritmo decimal de un número número. Si el argumento número es negativo o cero, se produce un error. |
15 | poder | Función doble potencia (doble base, doble exp.) devuelve un número base, elevado al poder exp.. Si la base del título base es igual a cero y el exponente exp. es menor o igual a cero, puede ocurrir un error debido a que el argumento abandona el dominio de la definición de la función (error de dominio). Este error también ocurre si el argumento base es negativo y el argumento exp. no es un número entero. |
16 | pecado | Función doble pecado(doble argumento) devuelve el seno del argumento argumento. El valor del argumento debe expresarse en radianes. |
17 | sinh | Función doble senh(doble argumento) devuelve el seno hiperbólico del argumento argumento. |
18 | raíz cuadrada | Función doble sqrt(doble número) devuelve la raíz cuadrada del argumento número. Si el argumento es negativo, se produce un error debido a que la función queda fuera de alcance. |
19 | broncearse | Función doble bronceado(doble argumento) devuelve la tangente del argumento argumento. El valor del argumento debe expresarse en radianes. |
20 | tanh | Función doble bronceado(doble argumento) devuelve la tangente hiperbólica del argumento argumento. |
Matemáticas.h es un archivo de encabezado de biblioteca estándar C diseñado para realizar operaciones matemáticas simples. Dado que C ++ también implementa estas funciones por compatibilidad (todas están contenidas en el archivo de encabezado cmath), consideraremos estos lenguajes juntos. En Linux y FreeBSD, las funciones matemáticas se almacenan por separado en la biblioteca matemática libm. Por lo tanto, si se utiliza alguna de estas instrucciones, la opción -lm se debe pasar al vinculador durante la compilación. Dado que la mayoría de las operaciones matemáticas dan como resultado números fraccionarios, todas las funciones de la biblioteca aceptan números dobles. Para trabajar con los tipos float y long double se utilizan funciones con sufijos f y l, respectivamente.
Complejo.h- archivo de encabezado de la biblioteca estándar del lenguaje de programación C, que declara funciones para aritmética compleja. Estas funciones utilizan el tipo complejo integrado, que se introdujo en el estándar C99. Las funciones en el archivo de encabezado complex.h se presentan para tres tipos: doble, flotante y doble largo (los valores se presentan en radianes): para calcular valores trigonométricos de seno, coseno, tangente y cotangente para números complejos, logaritmo y exponente, raíz.
GNU (GSL) es software libre bajo la Licencia Pública General GNU. La biblioteca proporciona una amplia gama de rutinas matemáticas, como generadores de números aleatorios, funciones especiales y mínimos cuadrados. Hay más de 1000 funciones en total con un extenso conjunto de pruebas. A diferencia de las licencias para bibliotecas numéricas patentadas, la GSL no restringe la colaboración científica. Para incluir la biblioteca debes escribir: $\# include
A continuación se muestran ejemplos de programas C++ que utilizan bibliotecas matemáticas:
Encuentra el seno y el coseno de A
#incluir
usando el espacio de nombres estándar;
corte<< «Input A = »; cin>>un; //ingresa un
b=cos(a); //asignando valores
corte<< «Cos A = „<
Salida del programa:
Encuentra exp del número A
#include // biblioteca de E/S
#incluir
#incluir
#incluir
usando el espacio de nombres estándar;
EstablecerConsoleOutputCP(1251);
doble a,b,c; // variables de tipo doble
corte<< “Input A = »; cin>>un; //ingresa un
b=techo(a); //tarea valorada
corte<< «Большее целое число A = „<
Salida del programa:
Elevar un número a una potencia dados los valores
#include // biblioteca de E/S
#incluir
#incluir
#incluir
usando el espacio de nombres estándar;
EstablecerConsoleOutputCP(1251);
doble a,b; // variables de tipo doble
corte<< “Введите число = »; cin>>un;
corte<< «Введите степень = »; cin>>b;
corte<< «Число в степени = „<
Salida del programa:
Resolver una ecuación cuadrática
#incluir
# incluir # incluir
usando el espacio de nombres estándar;
doble a = 1, b = 2, c = 1;
i = gsl_poly_solve_quadratic(a, b, c, &x0, &x1);
si (i == 2) cout<< “x0 =»<< x0 << " x1 ="<< x1 << endl;
si (i == 1) cout<< «x0 = » << x0 << endl;
si (i == 0) cout<< «No solve » << endl;
Salida del programa:
Cómo utilizar funciones estadísticas
#incluir
#incluir
datos dobles = (17,2, 18,1, 16,5, 18,3, 12,6);
media doble, varianza, mayor, menor;
media = gsl_stats_mean(datos, 1, 5);
varianza = gsl_stats_variance(datos, 1, 5);
mayor = gsl_stats_max(datos, 1, 5);
más pequeño = gsl_stats_min(datos, 1, 5);
printf("El conjunto de datos es \%g, \%g, \%g,\%g, \%g\n",
datos, datos, datos, datos, datos);
printf("La media de la muestra es \%g\ n", media);
printf("La varianza estimada es \%g\ n", varianza);
printf("El valor más grande es \%g\n", el más grande);
printf("El valor más pequeño es \%g\n", el más pequeño);
Estructura de un programa en C
1. #incluir
2. #incluir
3 . usando el espacio de nombres estándar – usar espacio de nombres estándar
4. int principal(int argc, char *argv)– nombre de la función. Cualquier programa en C consta de una o más funciones. En la plantilla escrita solo hay una función: principal(). Función con nombre principal definitivamente debe estar en cualquier programa ejecutable .
5. { - inicio de la función cuerpo
6. sistema(“pausa”) – llamada de función sistema con argumento "pausa". La función espera a que se presione una tecla.
7. operador devolver con argumento SALIR_ÉXITO– terminación de la función principal con código 0.
8. ) – fin de función principal.
Tipos de datos C simples
Para representar valores enteros en C, se proporcionan los siguientes tipos de datos:
Escriba carácter. Ocupa 1 byte en memoria. Se utiliza para representar caracteres y números enteros del 0 al 255 (-128 a 127).
Escribe entero. Ocupa 4 bytes en memoria. Se utiliza para representar números enteros en el rango -2.147.483.648 a 2.147.483.647.
Escriba flotador. Ocupa 4 bytes en memoria. Se utiliza para representar números de coma flotante. desde 3,4×10 -38 hasta 3,4×10 38. Precisión de cálculo de hasta 7 decimales.
Escriba doble. Ocupa 8 bytes en memoria. Se utiliza para representar números de coma flotante. de 1,7×10 -308 a 1,7×10 308. Precisión de cálculo de hasta 15 decimales.
tipo vacío – tipo vacío. Se utiliza para describir funciones.
Tipo booleano – tipo lógico. Puede tomar 2 valores: verdadero o falso.
Operadores C básicos
Un operador es un token que cambia algún cálculo cuando se aplica a una variable u otro objeto en una expresión. El lenguaje C presenta un gran conjunto de operadores lógicos y aritméticos.
Tabla 4.1. Operadores unarios del lenguaje C
Tabla 4.2. Operadores binarios en lenguaje C
código de operador | Nombre | Resultado de la operación | ||
Operadores aditivos | ||||
+ | binario más | calculando la suma, por ejemplo: int x = 2,y = 1,z; | ||
- | z = x+y; | binario menos | ||
calculando la diferencia, por ejemplo: int x = 2,y = 1,z; | ||||
* | z = xy; | Operadores multiplicativos | ||
/ | multiplicación | calculando el producto, por ejemplo: int x = 2,y = 1,z; | ||
% | z = x*y; | división | ||
cálculo del cociente, por ejemplo: int x = 12,y = 2,z; | ||||
&& | z = x/y; | resto | ||
|| | calculando el resto de la división, por ejemplo: int x = 12,y = 7,z; | z = x%y; | ||
Operadores lógicos | ||||
= | lógico Y | comprobar las condiciones lógicas Y | ||
O lógico | ||||
< | comprobar condiciones lógicas OR | Operadores de asignación | ||
> | asignación | asignar un valor dado a una variable o el valor de otra variable | ||
<= | Operadores relacionales | Operadores de asignación<=y, x меньше или равно y | ||
>= | menos que | incógnita | ||
más que | ||||
= = | x>y, x es mayor que y | menor o igual | ||
!= | mayor o igual | x>=y, x mayor o igual que y | ||
, | Operadores de equivalencia | es igual | ||
x= =y, x es igual a y
C admite muchas funciones matemáticas, cuyos prototipos se describen en el archivo matemáticas.h. Conozcamos algunos de ellos.
abs(int x) devuelve el módulo de un número entero incógnita. acos(doble x) devuelve el arco coseno de un número incógnita en radianes . asin(doble x) devuelve el arcoseno de un número incógnita en radianes. atan(doble x) devuelve el arcotangente de un número incógnita en radianes. atof(char *s, doble x) convierte una cadena s al número real incógnita. porque(doble x) devuelve el coseno de un número incógnita(incógnita dado en radianes) techo (doble x) redondea un número incógnita hacia arriba exp(doble x) devuelve el exponente de un número incógnita. fabulosos (doble x) devuelve el módulo de un número real incógnita. pecado (doble x) devuelve el seno de un número incógnita(incógnita dado en radianes). raíz cuadrada (doble x) devuelve el cuadrado de un número incógnita. bronceado (doble x) devuelve la tangente de un número incógnita(incógnita dado en radianes). | piso (doble x) redondea un número incógnita hacia abajo fmod(doble x, doble y) devuelve el resto después de dividir un número incógnita por numero y. hipot(doble x, doble y) devuelve el cuadrado de la suma de un número incógnita y numeros y. iniciar sesión (doble x) devuelve el logaritmo natural de un número incógnita. log10(doble x) devuelve el logaritmo decimal de un número incógnita. modf(doble x,doble& y) devuelve la parte fraccionaria de un número incógnita, en la dirección y se escribe la parte entera del número original incógnita. pow(doble x, doble y) regresa incógnita hasta cierto punto y. |
Para utilizar todas las funciones anteriores, conecte la biblioteca
Suspenda AdBlock en este sitio.
Los cálculos matemáticos no se limitan sólo a operaciones aritméticas. Además de ellas, también puedes encontrar raíces, módulos, logaritmos, funciones trigonométricas, etc. Aprendamos a utilizar este tipo de funciones en nuestros programas.
Para utilizar funciones matemáticas, debe incluir el archivo de encabezado math.h. Define muchas funciones diferentes, pero por ahora veremos lo siguiente:
Algunas funciones matemáticas
módulo fabs(x) del número x
sqrt(x) raíz cuadrada del número x
sin(x) seno de x (x en radianes)
cos(x) coseno de x (x en radianes)
cálculo de pow(x, y) x y
cálculo de exp(x) e x
log(x) logaritmo natural de x
log10(x) logaritmo decimal de x
Dos puntos importantes.
- Todas las funciones devuelven un valor doble.
- Los parámetros de la función son números reales (dobles), pero también puedes pasar números enteros. esto sucederá conversión de tipo implícita. El compilador creará un número real 3.0 a partir de un número entero, por ejemplo 3.
Ejemplos.
Se dan las longitudes de los catetos de un triángulo rectángulo. Calcula la longitud de la hipotenusa. Un problema sencillo para poner a prueba tus conocimientos del teorema de Pitágoras.
Listado 1.
#incluir
Calcula el seno del ángulo ingresado desde el teclado. El ángulo se ingresa en grados.
Listado 2.
#incluir
Hay mucho de qué hablar en este programa. Las funciones trigonométricas que se definen en math.h funcionan con medidas de ángulos en radianes. La gente está más acostumbrada a trabajar con títulos. Por lo tanto, en este programa primero convertimos el valor de grados a radianes. Si no se hace esto, el resultado será incorrecto. Compruébalo tú mismo.
Conversión de tipo implícita
Al realizar una conversión de tipo explícita, indicamos entre paréntesis antes del valor el tipo al que se debe convertir el valor. No es necesario hacer esto en una conversión implícita. El compilador seleccionará automáticamente el tipo requerido.
La conversión de tipos implícita se realiza en los siguientes casos:
- antes de pasar argumentos a la función (como en nuestro ejemplo raíz. Listado 1.)
- realizar operaciones aritméticas con diferentes tipos de argumentos
- antes de realizar la tarea
Reglas de conversión de tipos implícitas
- si las operaciones aritméticas se realizan con diferentes tipos de argumentos. Ambos argumentos se presentan en un formato más amplio.
Orden de tipos: int< float < double - cuando sea asignado. El valor a la derecha del operador de asignación se convierte al tipo de variable a la izquierda del operador de asignación. Sin embargo, si se asigna un tipo más grande a uno más pequeño, puede ocurrir una pérdida de precisión.
int+float se convertirá automáticamente a float+float
float/int se convertirá automáticamente a float/float
doble*flotante se convertirá en doble*doble
int = doble doble se convertirá a int con pérdida de parte fraccionaria
float = int int se convertirá en flotante
Última actualización: 31/10/2015
La clase Math está diseñada para realizar diversas operaciones matemáticas en la biblioteca de clases .NET. Es estático, por lo que todos sus métodos también lo son.
Veamos los métodos de la clase Math:
Abs(valor doble): devuelve el valor absoluto del argumento de valor.
Resultado doble = Math.Abs(-12.4); // 12.4
Acos(valor doble): Devuelve el arco coseno del valor. El parámetro de valor debe tener un valor entre -1 y 1.
Resultado doble = Math.Acos(1); // 0
Asin (valor doble): devuelve el arco seno del valor. El parámetro de valor debe tener un valor entre -1 y 1.
Atan(valor doble): devuelve el arcotangente del valor
BigMul(int x, int y): devuelve el producto x * y como un objeto largo
Resultado doble = Math.BigMul(100, 9340); // 934000
Techo (valor doble): devuelve el entero de coma flotante más pequeño que no sea menor que el valor
Resultado doble = Math.Ceiling(2.34); // 3
Cos(doble d): devuelve el coseno del ángulo d
Cosh(doble d): devuelve el coseno hiperbólico del ángulo d
DivRem(int a, int b, out int result): devuelve el resultado de la división a/b y el resto se coloca en el parámetro de resultado.
resultado interno; int div = Math.DivRem(14, 5, resultado de salida); //resultado = 4 // div = 2
Exp(doble d): Devuelve la base del logaritmo natural elevado a la potencia d
Floor(decimal d): devuelve el número entero más grande que no sea mayor que d
Resultado doble = Math.Floor(2.56); // 2
IEEERemainder(doble a, doble b): devuelve el resto de a dividido por b
Resultado doble = Math.IEEERemainder(26, 4); // 2 = 26-24
Log(doble d): devuelve el logaritmo natural de d
Log(doble a, doble nuevaBase): devuelve el logaritmo de un número basado en nuevaBase
Log10(doble d): Devuelve el logaritmo decimal de d
Max(doble a, doble b): devuelve el número máximo entre a y b
Min(doble a, doble b): devuelve el número mínimo entre a y b
Pow(doble a, doble b): devuelve el número a elevado a la potencia de b
Round(double d): Devuelve d redondeado al entero más cercano
Resultado doble1 = Math.Round(20.56); // 21 resultado doble2 = Math.Round(20.46); //20
Ronda (doble a, ronda b): devuelve el número a redondeado al número especificado de decimales representado por b
Resultado doble1 = Math.Round(20.567, 2); // 20.57 resultado doble2 = Math.Round(20.463, 1); //20.5
Signo (valor doble): devuelve 1 si el valor es positivo y -1 si el valor es negativo. Si el valor es 0, entonces devuelve 0
Resultado int1 = Math.Sign(15); // 1 int resultado2 = Math.Sign(-5); //-1
Sin(valor doble): devuelve el seno del valor del ángulo
Sinh(valor doble): devuelve el seno hiperbólico del valor del ángulo
Sqrt(valor doble): devuelve la raíz cuadrada del valor
Doble resultado1 = Math.Sqrt(16); // 4
Tan(valor doble): devuelve la tangente del valor del ángulo
Tanh(valor doble): devuelve la tangente hiperbólica del valor del ángulo
Truncar (valor doble): descarta la parte fraccionaria del valor y devuelve solo el valor entero
Resultado doble = Math.Truncate(16.89); // 16
La clase Math también define dos constantes: Math.E y Math.PI. Por ejemplo, calculemos el área de un círculo:
Console.WriteLine("Ingrese el radio del círculo"); radio doble = Double.Parse(Console.ReadLine()); área doble = Math.PI * Math.Pow(radio, 2); Console.WriteLine("El área de un círculo con radio (0) es (1)", radio, área);
Salida de consola:
Ingrese el radio del círculo 20 El área de un círculo con radio 20 es 1256.63706143592