Fuente:
Programación en C++ / Principios y Aplicaciones (resumen)
Carlos Romero Shollande
Programación en C++ / Principios y Aplicaciones (resumen)
Carlos Romero Shollande
1. Introducción
Sintaxis : double nomb_func (double lista_variables);
Propósito : Tomar argumentos double y devolver valores double. Son subrutinas de tipo estándar incluidas en el C++
Estas funciones se pueden clasificar como:
- Funciones aritméticas
- Funciones exponenciales y logarítmicas
- Funciones trigonométricas e hiperbólicas
- Funciones aleatorias
1.1. Funciones Aritméticas
Tabla 1. Funciones aritméticas.
Requieren de la directiva #include<math.h>
Tabla 2. Otras funciones aritméticas
Tabla 1. Funciones aritméticas.
FUNCION | DESCRIPCION | EJEMPLOS |
ceil(x) floor(x) fabs(x) pow(x, y) sqrt(x) Fmod(x, y) | Redondea x al entero más próximo hacia arriba Redondea x al entero más próximo hacia abajo Valor absoluto de un número flotante x x elevado a la potencia y (xy) Raíz cuadrada de x Residuo de x/y como número de punto flotante | ceil(9.91) = 10.0 ceil(-9.91) = -9.0 floor(-1.02) = -2.0 floor(1.02) = 1.0 fabs(-5.34) = 5.34 pow(3, 4) = 81 - Error si x < 0 e y £ 0 - Error si x < 0 e y no entero - Desbordamiento >= error rango sqrt (9.0) = 3.0 Error si x < 0 fmod (13.657, 2.333) = 1.992 Siendo el cociente = 5 |
Requieren de la directiva #include<math.h>
Tabla 2. Otras funciones aritméticas
FUNCION | DESCRIPCION | EJEMPLOS |
Abs(x) Labs(x) | Valor absoluto de un número entero Valor absoluto de un número entero largo | abs(-4) = 4 labs(-44582) = 44582 |
Requieren de la directiva #include <stdlib.h>
1.2. Funciones Exponenciales y Logarítmicas
Tabla 3. Funciones exponenciales y logarítmicas
Tabla 3. Funciones exponenciales y logarítmicas
FUNCION | DESCRIPCION | EJEMPLOS |
exp(x) log(x) Log10(x) | Eleva el número neperiano e a la potencia x Logaritmo natural de x Logaritmo decimal de x | exp(2.0) = 7.38906 log(7.38906) = 2.0 Error cuando x < 0 (base e) log10(100.0) = 2.0 Error cuando x < 0 (base 10) |
Requieren de la directiva #include<math.h>
1.3. Funciones Trigonométricas e Hiperbólicas
Tabla 4. Funciones trigonométricas e hiperbólicas
FUNCION | DESCRIPCION | OBSERVACIONES |
sin(x) cos(x) tan(x) asin(x) acos(x) atan(x) sinh(x) cosh(x) tanh(x) | Seno de x Coseno de x Tangente de x Arco seno de x Arco coseno de x Arco tangente de x Seno hiperbólico de x Coseno hiperbólico de x Tangente hiperbólica de x | Angulo x en radianes Angulo x en radianes Angulo x en radianes -1 < x < 1 -1 < x < 1 Angulo x en radianes Angulo x en radianes Angulo x en radianes |
Requieren de la directiva #include<math.h>
Transformación de grados sexagesimales a radianes:
Gráfica 1. Sistemas de medición de los ángulos
Entonces pi = 4* atan(1.0)
1.4. Funciones Aleatorias
Tabla 5. Funciones aleatorias
Tabla 5. Funciones aleatorias
FUNCION | DESCRIPCION |
rand(void) randomize(void) srand(unsigned seed) | Genera una secuencia de números pseudo aleatorios. Cada vez que se llama a rand() devuelve un entero al azar entre 0 y RAND_MAX (32767) Selecciona aleatoriamente el generador de números aleatorios. Establece el punto de arranque para la secuencia que genera rand(). Permite ejecutar múltiples programas que usen números aleatorios |
Requieren de la directiva #include<stdlib.h>
Gráfica 2. Generación de Números Aleatorios
Para generar un número aleatorio (r) comprendido dentro de un rango predefinido se sugiere usar la fórmula:
r = rand()%(s-i+1)+1;
i : límite inferior del rango
s : límite superior del rango
2. Especificación de la Hora
Sintaxis : variable = time (argumento)
Propósito : Devolver la hora real del calendario del sistema en segundos. Si no tiene hora el sistema, la función devuelve -1.
Requiere de la directiva #include<time.h> y definir una variable de tipo time_t.
Ejemplo : time_t hora;
hora = time(NULL);
El argumento NULL significa nulo. Si se usa otro argumento, entonces la función asignará también la hora del calendario de dicho argumento.
Ejemplo:
Ingresar la velocidad inicial (Vi) con que es lanzado un proyectil y el ángulo de inclinación del cañón con respecto a la horizontal (a). Calcular y reportar el alcance horizontal (x), la altura máxima (h) y los tiempos empleados para lograr la altura máxima (th) y el alcance horizontal (tx).
Ejemplo:
Ingresar la velocidad inicial (Vi) con que es lanzado un proyectil y el ángulo de inclinación del cañón con respecto a la horizontal (a). Calcular y reportar el alcance horizontal (x), la altura máxima (h) y los tiempos empleados para lograr la altura máxima (th) y el alcance horizontal (tx).
#include <iostream.h> // ALTURA Y ALCANCE DE UN PROYECTIL
#include <conio.h>
#include <math.h>
main() {
int Vi;
float a, x, h, tx, th, g=9.81;
clrscr();
cout<<"Velocidad inicial : "; cin>>Vi;
cout<<"Angulo de inclinación del cañón : "; cin>>a;
a = 4 * atan(1.0) * a / 180;
x = pow(Vi, 2) * sin(2 * a) / g;
h = pow(Vi * sin(a), 2) / (2 * g);
th = Vi * sin(a) / g;
tx = 2 * Vi * sin(a) / g;
cout<<"\n\nAltura máxima (m) : "<<h<<"\n";
cout<<"\Alcance horizontal máximo (m) : "<<x<<"\n";
cout<<"Tiempo para la altura máxima (seg) : "<<th<<"\n";
cout<<"Tiempo para el alcance horizontal (seg) : "<<tx<<"\n";
getch();
}
#include <math.h>
main() {
int Vi;
float a, x, h, tx, th, g=9.81;
clrscr();
cout<<"Velocidad inicial : "; cin>>Vi;
cout<<"Angulo de inclinación del cañón : "; cin>>a;
a = 4 * atan(1.0) * a / 180;
x = pow(Vi, 2) * sin(2 * a) / g;
h = pow(Vi * sin(a), 2) / (2 * g);
th = Vi * sin(a) / g;
tx = 2 * Vi * sin(a) / g;
cout<<"\n\nAltura máxima (m) : "<<h<<"\n";
cout<<"\Alcance horizontal máximo (m) : "<<x<<"\n";
cout<<"Tiempo para la altura máxima (seg) : "<<th<<"\n";
cout<<"Tiempo para el alcance horizontal (seg) : "<<tx<<"\n";
getch();
}
No hay comentarios:
Publicar un comentario