Tutorial interactivo del lenguaje Python. Funciones matemáticas - Clase de matemáticas

Todas las funciones matemáticas requieren un encabezado . Los programas C usan 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 $. Para utilizar el manejo de excepciones de C++ dentro de funciones definidas por el usuario pasadas como parámetros a la biblioteca, la biblioteca debe compilarse con la opción de compilación -fexceptions. La biblioteca se puede utilizar en programas multiproceso. Todas las funciones tienen subprocesos en el sentido de que no utilizan variables estáticas. La memoria siempre está asociada a objetos, no a funciones. Para funciones cuyos objetos utilizan el espacio de trabajo como almacenamiento temporal, los espacios de trabajo deben asignarse por subproceso. Para funciones que utilizan objetos de tabla, la memoria puede ser utilizada por varios subprocesos simultáneamente. La tabla de argumentos siempre se declara constante en los prototipos de funciones para indicar que se puede acceder a ellos de forma segura desde diferentes subprocesos.

A continuación se muestran ejemplos de programas C++ que utilizan bibliotecas matemáticas:

Encuentra el seno y el coseno de A

#incluir // biblioteca matemática

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 // biblioteca matemática

#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 // biblioteca matemática

#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 cstdlib.h.

2. #incluir - incluir archivo de encabezado iostream.h.

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 #incluir // conecta math.h int main (void) ( int a, b, c2; scanf("%d",&a); scanf("%d",&b); c2 = a*a + b*b; printf ("c = %.2f\n", sqrt(c2));

Calcula el seno del ángulo ingresado desde el teclado. El ángulo se ingresa en grados.

Listado 2.

#incluir #incluir // conecta math.h int main (void) ( double alpha, sin_a, pi = 3.1415926; scanf("%lf",&alpha); alpha = alpha*pi/180; sin_a = sin(alpha); printf("% .2f\n", sin_a); devuelve 0; )

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:

  1. antes de pasar argumentos a la función (como en nuestro ejemplo raíz. Listado 1.)
  2. realizar operaciones aritméticas con diferentes tipos de argumentos
  3. 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




Arriba