Introducción
En este laboratorio, aprenderás a calcular la función coseno inverso (arccos) en C. El laboratorio cubre dos pasos principales: leer un valor de entrada válido entre -1 y 1, y luego usar la función acos() de la biblioteca matemática de C para calcular el arccos de la entrada. Las instrucciones paso a paso proporcionan una guía completa sobre la validación de la entrada y el cálculo del arccos, asegurándote de tener una comprensión sólida de esta operación trigonométrica en la programación C.
Leer un valor entre -1 y 1
En este paso, aprenderás a leer un valor de entrada válido para calcular la función coseno inverso (arccos) en C. La función arccos requiere valores de entrada entre -1 y 1.
Primero, crea un nuevo archivo C para demostrar la validación de la entrada:
cd ~/project
nano arccos_input.c
Ahora, agrega el siguiente código al archivo:
#include <stdio.h>
#include <math.h>
int main() {
double input;
printf("Ingrese un valor entre -1 y 1 para el cálculo de arccos: ");
scanf("%lf", &input);
// Validación de la entrada
if (input < -1 || input > 1) {
printf("Error: La entrada debe estar entre -1 y 1\n");
return 1;
}
printf("Entrada válida: %f\n", input);
return 0;
}
Compila y ejecuta el programa:
gcc arccos_input.c -o arccos_input -lm
Ejemplos de salida:
Entrada válida:
Ingrese un valor entre -1 y 1 para el cálculo de arccos: 0.5
Entrada válida: 0.500000
Entrada inválida:
Ingrese un valor entre -1 y 1 para el cálculo de arccos: 2
Error: La entrada debe estar entre -1 y 1
Este código demuestra:
- El uso de
scanf()para leer un número de punto flotante de doble precisión. - La validación de la entrada para asegurar que esté dentro del rango válido para arccos.
- La presentación de mensajes de error amigables para entradas inválidas.
Usar la función acos()
En este paso, aprenderás a usar la función acos() de la biblioteca matemática de C para calcular el coseno inverso (arccos) de un valor de entrada dado.
Continúa trabajando en el mismo directorio del proyecto y modifica el programa anterior:
cd ~/project
nano arccos_calculation.c
Agrega el siguiente código para implementar el cálculo de arccos:
#include <stdio.h>
#include <math.h>
int main() {
double input;
printf("Ingrese un valor entre -1 y 1 para el cálculo de arccos: ");
scanf("%lf", &input);
// Validación de la entrada
if (input < -1 || input > 1) {
printf("Error: La entrada debe estar entre -1 y 1\n");
return 1;
}
// Calcular arccos
double angle_radians = acos(input);
printf("Valor de entrada: %f\n", input);
printf("Arccos (en radianes): %f\n", angle_radians);
return 0;
}
Compila el programa:
gcc arccos_calculation.c -o arccos_calculation -lm
Ejemplos de salida:
Ingrese un valor entre -1 y 1 para el cálculo de arccos: 0.5
Valor de entrada: 0.500000
Arccos (en radianes): 1.047198
Ingrese un valor entre -1 y 1 para el cálculo de arccos: -0.5
Valor de entrada: -0.500000
Arccos (en radianes): 2.094395
Puntos clave sobre acos():
- Parte de la biblioteca
<math.h>. - Recibe un valor entre -1 y 1.
- Devuelve el ángulo en radianes.
- Requiere la bandera
-lmdurante la compilación para enlazar la biblioteca matemática.
Imprimir el ángulo en radianes
En este paso, aprenderás cómo convertir e imprimir el ángulo arccos en diferentes formatos, incluyendo radianes, grados y una representación más legible.
Continúa trabajando en el mismo directorio del proyecto:
cd ~/project
nano arccos_angle_print.c
Agrega el siguiente código para demostrar la impresión del ángulo:
#include <stdio.h>
#include <math.h>
#define PI 3.14159265358979323846
int main() {
double input;
printf("Ingrese un valor entre -1 y 1 para el cálculo de arccos: ");
scanf("%lf", &input);
// Validación de la entrada
if (input < -1 || input > 1) {
printf("Error: La entrada debe estar entre -1 y 1\n");
return 1;
}
// Calcular arccos
double angle_radians = acos(input);
// Convertir radianes a grados
double angle_degrees = angle_radians * (180.0 / PI);
// Imprimir el ángulo en diferentes formatos
printf("Valor de entrada: %f\n", input);
printf("Ángulo en radianes: %f\n", angle_radians);
printf("Ángulo en grados: %f\n", angle_degrees);
// Imprimir una representación descriptiva
printf("Descripción del ángulo: %.2f radianes (%.2f grados)\n",
angle_radians, angle_degrees);
return 0;
}
Compila el programa:
gcc arccos_angle_print.c -o arccos_angle_print -lm
Ejemplos de salida:
Ingrese un valor entre -1 y 1 para el cálculo de arccos: 0.5
Valor de entrada: 0.500000
Ángulo en radianes: 1.047198
Ángulo en grados: 60.000000
Descripción del ángulo: 1.05 radianes (60.00 grados)
Ingrese un valor entre -1 y 1 para el cálculo de arccos: -0.5
Valor de entrada: -0.500000
Ángulo en radianes: 2.094395
Ángulo en grados: 120.000000
Descripción del ángulo: 2.09 radianes (120.00 grados)
Puntos clave:
- Se utilizó la constante
PIpara la conversión de grados. - Se convirtieron radianes a grados usando
angle_radians * (180.0 / PI). - Se demostraron diferentes opciones de formato para la representación del ángulo.
- Se utilizó
%.2fpara la precisión de dos decimales.
Resumen
En este laboratorio, aprendiste a leer un valor de entrada válido entre -1 y 1 para calcular la función coseno inverso (arccos) en C. También aprendiste a usar la función acos() de la biblioteca matemática de C para realizar el cálculo de arccos e imprimir el ángulo en radianes.
Los puntos clave de este laboratorio son la validación de la entrada para asegurar que la entrada esté dentro del rango válido, y el uso de la función acos() para calcular el arccos del valor dado.



