Faça um programa em C para calcular uma trajetória parabólica de um projétil. O programa deve solicitar ao usuário a velocidade inicial do lançamento em m/s e o ângulo do lançamento em graus. Calcular e mostrar a quantos metros de distância o projétil atingirá o chão, considerando aceleração da gravidade igual a .
Dicas: biblioteca math. double sin(double )
RETORNA: o valor do seno do ângulo que foi informado como parâmetro.
RECEBE: um ângulo em radianos.
Movimento Oblíquo em função do ângulo:

Alcance horizontal

Passo 1

Beleza, vamos resolver esse exercício juntos! A gente precisa fazer um programa em C que calcule a trajetória parabólica de um projétil. Ou seja, vamos descobrir a distância horizontal que o projétil vai percorrer até cair no chão. Para isso, vamos usar conceitos de física relacionados ao movimento oblíquo. O que vamos precisar é pedir para o usuário informar a velocidade inicial de lançamento e o ângulo de lançamento. Além disso, vamos utilizar a aceleração da gravidade, que é .

Passo 2

Primeiro, precisamos entender a fórmula que vamos usar para calcular a distância horizontal, também conhecida como alcance. A fórmula é:
Onde:
  • é o alcance horizontal,
  • é a velocidade inicial,
  • é o ângulo de lançamento,
  • é a aceleração da gravidade.
Essa fórmula nos diz até onde o projétil vai no sentido horizontal antes de cair.

Passo 3

Agora, é importante lembrar que a função no C (e em muitas linguagens de programação) trabalha com ângulos em radianos, não em graus. Como o usuário vai informar o ângulo em graus, precisamos converter para radianos antes de usar na fórmula. A conversão é feita assim:
Vamos precisar da constante , que podemos obter utilizando a constante M_PI da biblioteca math.h.

Passo 4

Com os valores em mãos, vamos seguir os passos do programa:
  1. Entrada de Dados: Solicitar ao usuário a velocidade inicial ( ) e o ângulo de lançamento em graus ( ).
  2. Conversão de Ângulo: Converter o ângulo de graus para radianos.
  3. Cálculo do Alcance: Aplicar a fórmula do alcance para encontrar a distância horizontal.
  4. Exibição do Resultado: Mostrar para o usuário o valor calculado do alcance.

Passo 5

Vamos detalhar o cálculo do alcance. Primeiro, elevamos a velocidade inicial ao quadrado ( ). Depois, multiplicamos pelo seno de . Por fim, dividimos tudo pela aceleração da gravidade .
A função sin() em C vai receber o ângulo em radianos. Então, garantimos que a conversão está correta no passo anterior.

Passo 6

Por fim, vamos implementar tudo isso no código C. Vamos usar a biblioteca math.h para a função sin() e para a constante . Lembre-se de compilar o programa com a flag -lm para linkar a biblioteca matemática.

Resposta

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

int main() {
    double V0, anguloGrau, anguloRad, alcance;
    const double g = 9.81;

    // Entrada de dados
    printf("Digite a velocidade inicial (m/s): ");
    scanf("%lf", &V0);
    printf("Digite o angulo de lancamento (graus): ");
    scanf("%lf", &anguloGrau);

    // Conversao de graus para radianos
    anguloRad = anguloGrau * (M_PI / 180.0);

    // Calculando o alcance
    alcance = (pow(V0, 2) * sin(2 * anguloRad)) / g;

    // Exibindo o resultado
    printf("O alcance horizontal do projeto e: %.2lf metros\n", alcance);

    return 0;
}

Exercícios relacionados

Sabendo que um veículo tem o desempenho médio de de combustível, faça um programa em C que solicite ao usuário informar o tempo de viagem em horas, a velocidade média em Km/h e então calcule e mostre o consumo de combustível nessa viagem.
Fazer um programa em C que solicita um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros.
Faça um programa em C que solicite ao usuário informar um número inteiro e apresente na tela seu sucessor e seu antecessor.
Faça um programa em que receba do usuário 3 (três) valores e imprima na tela se a soma de é menor, maior ou igual a .