Calcular o Seno Inverso (arcsen) em C

CBeginner
Pratique Agora

Introdução

Neste laboratório, aprenderá a calcular a função seno inverso (arcsen) em programação C. O laboratório cobre dois passos principais: ler um valor de entrada válido entre -1 e 1, e usar a função asin() da biblioteca math.h para calcular o arcsen da entrada. O programa validará o intervalo de entrada e, em seguida, exibirá o ângulo calculado em radianos. Este laboratório tem como objetivo fornecer uma compreensão prática de cálculos trigonométricos usando C e o uso da função asin().

Ler um Valor Entre -1 e 1

Neste passo, aprenderá a ler e validar uma entrada numérica para calcular a função seno inverso (arcsen) em C. A função arcsen requer valores de entrada estritamente entre -1 e 1.

Primeiro, crie um novo arquivo C para o programa:

cd ~/project
nano arcsin_input.c

Agora, escreva o seguinte código para ler e validar a entrada:

#include <stdio.h>

int main() {
    double input;

    printf("Digite um valor entre -1 e 1 para o cálculo do arcsen: ");
    scanf("%lf", &input);

    // Validar o intervalo de entrada
    if (input < -1 || input > 1) {
        printf("Erro: A entrada deve estar entre -1 e 1.\n");
        return 1;
    }

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

    return 0;
}

Compile e execute o programa:

gcc arcsin_input.c -o arcsin_input
./arcsin_input

Exemplo de saída:

Digite um valor entre -1 e 1 para o cálculo do arcsen: 0.5
Entrada válida recebida: 0.500000

Neste código, nós:

  • Usamos scanf() para ler um número de ponto flutuante de precisão dupla.
  • Verificamos se a entrada está dentro do intervalo válido de -1 a 1.
  • Imprimimos uma mensagem de erro se a entrada estiver fora do intervalo válido.
  • Confirmamos a entrada válida quando ela atende aos critérios.

Usar a Função asin()

Neste passo, aprenderá a usar a função asin() da biblioteca math.h para calcular o seno inverso (arcsen) de um valor de entrada válido.

Primeiro, modifique o programa anterior para incluir a função asin():

cd ~/project
nano arcsin_calculation.c

Escreva o seguinte código para calcular e exibir o resultado do arcsen:

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

int main() {
    double input;

    printf("Digite um valor entre -1 e 1 para o cálculo do arcsen: ");
    scanf("%lf", &input);

    // Validar o intervalo de entrada
    if (input < -1 || input > 1) {
        printf("Erro: A entrada deve estar entre -1 e 1.\n");
        return 1;
    }

    // Calcular o arcsen usando a função asin()
    double result = asin(input);

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

    return 0;
}

Compile o programa com a biblioteca matemática:

gcc arcsin_calculation.c -o arcsin_calculation -lm

Execute o programa e teste com diferentes entradas:

./arcsin_calculation

Exemplo de saída:

Digite um valor entre -1 e 1 para o cálculo do arcsen: 0.5
Entrada: 0.500000
Resultado do arcsen: 0.523599 radianos

Pontos chave sobre a função asin():

  • Definida na biblioteca math.h
  • Aceita um valor entre -1 e 1 como entrada
  • Retorna o ângulo em radianos
  • Requer a ligação com a flag -lm durante a compilação

Imprimir o Ângulo em Radianos

Neste passo, aprenderá a converter e imprimir o resultado do arcsen em diferentes representações angulares, incluindo radianos e graus.

Modifique o programa anterior para incluir a conversão de graus:

cd ~/project
nano arcsin_angle_conversion.c

Escreva o seguinte código para exibir ângulos em radianos e graus:

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

#define PI 3.14159265358979323846

int main() {
    double input;

    printf("Digite um valor entre -1 e 1 para o cálculo do arcsen: ");
    scanf("%lf", &input);

    // Validar o intervalo de entrada
    if (input < -1 || input > 1) {
        printf("Erro: A entrada deve estar entre -1 e 1.\n");
        return 1;
    }

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

    // Converter radianos para graus
    double degree_result = radian_result * (180.0 / PI);

    // Imprimir resultados com formatação
    printf("Entrada: %f\n", input);
    printf("Resultado do arcsen (radianos): %f\n", radian_result);
    printf("Resultado do arcsen (graus): %f\n", degree_result);

    return 0;
}

Compile o programa:

gcc arcsin_angle_conversion.c -o arcsin_angle_conversion -lm

Execute o programa e teste:

./arcsin_angle_conversion

Exemplo de saída:

Digite um valor entre -1 e 1 para o cálculo do arcsen: 0.5
Entrada: 0.500000
Resultado do arcsen (radianos): 0.523599
Resultado do arcsen (graus): 30.000000

Pontos chave sobre a conversão de ângulos:

  • Radianos são o tipo de retorno padrão de asin().
  • Conversão para graus: multiplicar por (180/π).
  • Use #define PI para uma conversão precisa.
  • A formatação ajuda na legibilidade dos resultados.

Resumo

Neste laboratório, aprendeu a ler e validar um valor numérico de entrada entre -1 e 1, necessário para calcular a função seno inverso (arcsen) em C. Em seguida, utilizou a função asin() da biblioteca math.h para calcular o arcsen do valor de entrada válido e imprimiu o resultado em radianos.

Os pontos principais aprendidos são: 1) Validar o intervalo de entrada para garantir que esteja dentro do intervalo válido de -1 a 1 e 2) Utilizar a função asin() para calcular o seno inverso do valor de entrada.