Calcular Cosseno Inverso (arccos) em C

CBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá a calcular a função cosseno inverso (arccos) em C. O laboratório cobre dois passos principais: ler um valor de entrada válido entre -1 e 1, e em seguida, usar a função acos() da biblioteca matemática C para calcular o arccos da entrada. As instruções passo a passo fornecem um guia abrangente sobre validação de entrada e cálculo do arccos, garantindo que você tenha uma compreensão sólida desta operação trigonométrica na programação C.

Ler um Valor Entre -1 e 1

Neste passo, você aprenderá como ler um valor de entrada válido para calcular a função cosseno inverso (arccos) em C. A função arccos requer valores de entrada entre -1 e 1.

Primeiro, crie um novo arquivo C para demonstrar a validação de entrada:

cd ~/project
nano arccos_input.c

Agora, adicione o seguinte código ao arquivo:

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

int main() {
    double input;

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

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

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

Compile e execute o programa:

gcc arccos_input.c -o arccos_input -lm

Exemplos de saída:

Entrada válida:

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

Entrada inválida:

Digite um valor entre -1 e 1 para o cálculo do arccos: 2
Erro: A entrada deve estar entre -1 e 1

Este código demonstra:

  • O uso de scanf() para ler um número de ponto flutuante de precisão dupla
  • A validação de entrada para garantir que ela esteja dentro do intervalo válido para arccos
  • Mensagens de erro amigáveis para entradas inválidas

Usar a Função acos()

Neste passo, você aprenderá a usar a função acos() da biblioteca matemática C para calcular o cosseno inverso (arccos) de um valor de entrada dado.

Continue trabalhando no mesmo diretório do projeto e modifique o programa anterior:

cd ~/project
nano arccos_calculation.c

Adicione o seguinte código para implementar o cálculo do arccos:

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

int main() {
    double input;

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

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

    // Calcular arccos
    double angle_radians = acos(input);

    printf("Valor de entrada: %f\n", input);
    printf("Arccos (em radianos): %f\n", angle_radians);

    return 0;
}

Compile o programa:

gcc arccos_calculation.c -o arccos_calculation -lm

Exemplos de saída:

Digite um valor entre -1 e 1 para o cálculo do arccos: 0.5
Valor de entrada: 0.500000
Arccos (em radianos): 1.047198
Digite um valor entre -1 e 1 para o cálculo do arccos: -0.5
Valor de entrada: -0.500000
Arccos (em radianos): 2.094395

Pontos chave sobre acos():

  • Parte da biblioteca <math.h>
  • Aceita um valor entre -1 e 1
  • Retorna o ângulo em radianos
  • Requer a flag -lm durante a compilação para vincular a biblioteca matemática

Imprimir o Ângulo em Radianos

Neste passo, você aprenderá como converter e imprimir o ângulo arccos em diferentes formatos, incluindo radianos, graus e uma representação mais legível.

Continue trabalhando no mesmo diretório do projeto:

cd ~/project
nano arccos_angle_print.c

Adicione o seguinte código para demonstrar a impressão do ângulo:

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

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

    // Calcular arccos
    double angle_radians = acos(input);

    // Converter radianos para graus
    double angle_degrees = angle_radians * (180.0 / PI);

    // Imprimir o ângulo em diferentes formatos
    printf("Valor de entrada: %f\n", input);
    printf("Ângulo em Radianos: %f\n", angle_radians);
    printf("Ângulo em Graus: %f\n", angle_degrees);

    // Imprimir uma representação descritiva
    printf("Descrição do Ângulo: %.2f radianos (%.2f graus)\n",
           angle_radians, angle_degrees);

    return 0;
}

Compile o programa:

gcc arccos_angle_print.c -o arccos_angle_print -lm

Exemplos de saída:

Digite um valor entre -1 e 1 para o cálculo do arccos: 0.5
Valor de entrada: 0.500000
Ângulo em Radianos: 1.047198
Ângulo em Graus: 60.000000
Descrição do Ângulo: 1.05 radianos (60.00 graus)
Digite um valor entre -1 e 1 para o cálculo do arccos: -0.5
Valor de entrada: -0.500000
Ângulo em Radianos: 2.094395
Ângulo em Graus: 120.000000
Descrição do Ângulo: 2.09 radianos (120.00 graus)

Pontos chave:

  • Usou a constante PI para conversão de graus
  • Converteu radianos para graus usando angle_radians * (180.0 / PI)
  • Demonstrou diferentes opções de formatação para representação do ângulo
  • Usou %.2f para precisão de duas casas decimais

Resumo

Neste laboratório, você aprendeu como ler um valor de entrada válido entre -1 e 1 para calcular a função cosseno inverso (arccos) em C. Também aprendeu a usar a função acos() da biblioteca matemática C para realizar o cálculo do arccos e imprimir o ângulo em radianos.

Os principais pontos desta experiência prática são a validação de entrada para garantir que a entrada esteja dentro do intervalo válido e o uso da função acos() para calcular o arccos do valor fornecido.