Calcular el Seno Inverso (arcsen) en C

CBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderás a calcular la función seno inverso (arcsen) en programación C. El laboratorio cubre dos pasos principales: leer un valor de entrada válido entre -1 y 1, y usar la función asin() de la biblioteca math.h para calcular el arcsen del valor de entrada. El programa validará el rango de entrada y luego mostrará el ángulo calculado en radianes. Este laboratorio tiene como objetivo proporcionar una comprensión práctica de los cálculos trigonométricos usando C y el uso de la función asin().

Leer un Valor Entre -1 y 1

En este paso, aprenderás a leer y validar una entrada numérica para calcular la función seno inverso (arcsen) en C. La función arcsen requiere valores de entrada estrictamente entre -1 y 1.

Primero, crea un nuevo archivo C para el programa:

cd ~/project
nano arcsin_input.c

Ahora, escribe el siguiente código para leer y validar la entrada:

#include <stdio.h>

int main() {
    double input;

    printf("Ingrese un valor entre -1 y 1 para el cálculo de arcsen: ");
    scanf("%lf", &input);

    // Validar el rango de entrada
    if (input < -1 || input > 1) {
        printf("Error: La entrada debe estar entre -1 y 1.\n");
        return 1;
    }

    printf("Entrada válida recibida: %f\n", input);

    return 0;
}

Compila y ejecuta el programa:

gcc arcsin_input.c -o arcsin_input
./arcsin_input

Ejemplo de salida:

Ingrese un valor entre -1 y 1 para el cálculo de arcsen: 0.5
Entrada válida recibida: 0.500000

En este código, hacemos lo siguiente:

  • Usamos scanf() para leer un número de punto flotante de doble precisión.
  • Comprobamos si la entrada está dentro del rango válido de -1 a 1.
  • Imprimimos un mensaje de error si la entrada está fuera del rango válido.
  • Confirmamos la entrada válida cuando cumple los criterios.

Usar la Función asin()

En este paso, aprenderás a usar la función asin() de la biblioteca math.h para calcular el seno inverso (arcsen) de un valor de entrada válido.

Primero, modifica el programa anterior para incluir la función asin():

cd ~/project
nano arcsin_calculation.c

Escribe el siguiente código para calcular y mostrar el resultado de arcsen:

#include <stdio.h>
#include <math.h>

int main() {
    double input;

    printf("Ingrese un valor entre -1 y 1 para el cálculo de arcsen: ");
    scanf("%lf", &input);

    // Validar el rango de entrada
    if (input < -1 || input > 1) {
        printf("Error: La entrada debe estar entre -1 y 1.\n");
        return 1;
    }

    // Calcular arcsen usando la función asin()
    double result = asin(input);

    printf("Entrada: %f\n", input);
    printf("Resultado de arcsen: %f radianes\n", result);

    return 0;
}

Compila el programa con la biblioteca matemática:

gcc arcsin_calculation.c -o arcsin_calculation -lm

Ejecuta el programa y prueba con diferentes entradas:

./arcsin_calculation

Ejemplo de salida:

Ingrese un valor entre -1 y 1 para el cálculo de arcsen: 0.5
Entrada: 0.500000
Resultado de arcsen: 0.523599 radianes

Puntos clave sobre la función asin():

  • Definida en la biblioteca math.h
  • Toma un valor entre -1 y 1 como entrada
  • Devuelve el ángulo en radianes
  • Requiere vincular con la bandera -lm durante la compilación

Imprimir el Ángulo en Radianes

En este paso, aprenderás a convertir e imprimir el resultado de arcsen en diferentes representaciones angulares, incluyendo radianes y grados.

Modifica el programa anterior para incluir la conversión a grados:

cd ~/project
nano arcsin_angle_conversion.c

Escribe el siguiente código para mostrar los ángulos en radianes y grados:

#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 arcsen: ");
    scanf("%lf", &input);

    // Validar el rango de entrada
    if (input < -1 || input > 1) {
        printf("Error: La entrada debe estar entre -1 y 1.\n");
        return 1;
    }

    // Calcular arcsen
    double radian_result = asin(input);

    // Convertir radianes a grados
    double degree_result = radian_result * (180.0 / PI);

    // Imprimir resultados con formato
    printf("Entrada: %f\n", input);
    printf("Resultado de arcsen (radianes): %f\n", radian_result);
    printf("Resultado de arcsen (grados): %f\n", degree_result);

    return 0;
}

Compila el programa:

gcc arcsin_angle_conversion.c -o arcsin_angle_conversion -lm

Ejecuta el programa y prueba:

./arcsin_angle_conversion

Ejemplo de salida:

Ingrese un valor entre -1 y 1 para el cálculo de arcsen: 0.5
Entrada: 0.500000
Resultado de arcsen (radianes): 0.523599
Resultado de arcsen (grados): 30.000000

Puntos clave sobre la conversión de ángulos:

  • Radianes es el tipo de retorno predeterminado de asin().
  • Conversión a grados: multiplicar por (180/π).
  • Usar #define PI para una conversión precisa.
  • El formato mejora la legibilidad de los resultados.

Resumen

En este laboratorio, aprendiste a leer y validar un valor numérico de entrada entre -1 y 1, requisito para calcular la función seno inverso (arcsen) en C. Luego, utilizaste la función asin() de la biblioteca math.h para calcular el arcsen del valor de entrada válido e imprimiste el resultado en radianes.

Los puntos clave del aprendizaje son: 1) Validar el rango de entrada para asegurar que esté dentro del rango válido de -1 a 1, y 2) Utilizar la función asin() para calcular el seno inverso del valor de entrada.