Calcular a Inclinação de uma Reta em C

CBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá a calcular a inclinação de uma reta usando programação em C. O laboratório cobre dois passos principais: ler dois pontos (x1, y1) e (x2, y2) da entrada do usuário e, em seguida, calcular a inclinação usando a fórmula (y2-y1)/(x2-x1). O programa também lidará com o caso especial de uma reta vertical. Ao final deste laboratório, você terá uma compreensão melhor de como trabalhar com conceitos de Cálculo e Geometria Analítica em C.

Ler Dois Pontos (x1,y1) e (x2,y2)

Neste passo, você aprenderá como ler as coordenadas de dois pontos da entrada do usuário em um programa C para calcular a inclinação de uma reta. Criaremos um programa simples que solicita ao usuário que digite as coordenadas x e y de dois pontos.

Primeiro, crie um novo arquivo C no diretório do projeto:

cd ~/project
nano slope_calculator.c

Agora, digite o seguinte código para ler dois pontos:

#include <stdio.h>

int main() {
    float x1, y1, x2, y2;

    // Solicitar ao usuário as coordenadas do primeiro ponto
    printf("Digite a coordenada x do primeiro ponto (x1): ");
    scanf("%f", &x1);
    printf("Digite a coordenada y do primeiro ponto (y1): ");
    scanf("%f", &y1);

    // Solicitar ao usuário as coordenadas do segundo ponto
    printf("Digite a coordenada x do segundo ponto (x2): ");
    scanf("%f", &x2);
    printf("Digite a coordenada y do segundo ponto (y2): ");
    scanf("%f", &y2);

    // Imprimir as coordenadas inseridas
    printf("Primeiro ponto: (%.2f, %.2f)\n", x1, y1);
    printf("Segundo ponto: (%.2f, %.2f)\n", x2, y2);

    return 0;
}

Compile e execute o programa:

gcc slope_calculator.c -o slope_calculator
./slope_calculator

Exemplo de saída:

Digite a coordenada x do primeiro ponto (x1): 1
Digite a coordenada y do primeiro ponto (y1): 2
Digite a coordenada x do segundo ponto (x2): 4
Digite a coordenada y do segundo ponto (y2): 6
Primeiro ponto: (1.00, 2.00)
Segundo ponto: (4.00, 6.00)

Calcular Inclinação = (y2-y1)/(x2-x1)

Neste passo, você modificará o programa anterior para calcular a inclinação de uma reta usando a fórmula ponto-inclinação. Adicionaremos o cálculo da inclinação e lidaremos com o caso especial de uma reta vertical.

Abra o arquivo anterior e atualize o código:

cd ~/project
nano slope_calculator.c

Substitua o conteúdo pelo seguinte código:

#include <stdio.h>

int main() {
    float x1, y1, x2, y2, slope;

    // Solicitar ao usuário as coordenadas do primeiro ponto
    printf("Digite a coordenada x do primeiro ponto (x1): ");
    scanf("%f", &x1);
    printf("Digite a coordenada y do primeiro ponto (y1): ");
    scanf("%f", &y1);

    // Solicitar ao usuário as coordenadas do segundo ponto
    printf("Digite a coordenada x do segundo ponto (x2): ");
    scanf("%f", &x2);
    printf("Digite a coordenada y do segundo ponto (y2): ");
    scanf("%f", &y2);

    // Verificar reta vertical (inclinação indefinida)
    if (x2 == x1) {
        printf("Inclinação indefinida (reta vertical)\n");
        return 0;
    }

    // Calcular a inclinação
    slope = (y2 - y1) / (x2 - x1);

    // Imprimir os resultados
    printf("Primeiro ponto: (%.2f, %.2f)\n", x1, y1);
    printf("Segundo ponto: (%.2f, %.2f)\n", x2, y2);
    printf("Inclinação: %.2f\n", slope);

    return 0;
}

Compile e execute o programa:

gcc slope_calculator.c -o slope_calculator
./slope_calculator

Exemplo de saída:

Digite a coordenada x do primeiro ponto (x1): 1
Digite a coordenada y do primeiro ponto (y1): 2
Digite a coordenada x do segundo ponto (x2): 4
Digite a coordenada y do segundo ponto (y2): 6
Primeiro ponto: (1.00, 2.00)
Segundo ponto: (4.00, 6.00)
Inclinação: 1.33

Imprimir a Inclinação

Neste passo final, você aprimorará o programa de cálculo de inclinação adicionando saídas mais detalhadas e formatando a apresentação da inclinação. Melhoraremos a experiência do usuário fornecendo informações claras e informativas sobre a inclinação.

Abra o arquivo anterior e atualize o código:

cd ~/project
nano slope_calculator.c

Substitua o conteúdo pelo seguinte código:

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

int main() {
    float x1, y1, x2, y2, slope;

    // Solicitar ao usuário as coordenadas do primeiro ponto
    printf("Calculadora de Inclinação\n");
    printf("=========================\n");
    printf("Digite a coordenada x do primeiro ponto (x1): ");
    scanf("%f", &x1);
    printf("Digite a coordenada y do primeiro ponto (y1): ");
    scanf("%f", &y1);

    // Solicitar ao usuário as coordenadas do segundo ponto
    printf("Digite a coordenada x do segundo ponto (x2): ");
    scanf("%f", &x2);
    printf("Digite a coordenada y do segundo ponto (y2): ");
    scanf("%f", &y2);

    // Verificar reta vertical (inclinação indefinida)
    if (x2 == x1) {
        printf("\nResultado:\n");
        printf("Primeiro ponto:  (%.2f, %.2f)\n", x1, y1);
        printf("Segundo ponto: (%.2f, %.2f)\n", x2, y2);
        printf("Inclinação: Indefinida (Reta Vertical)\n");
        return 0;
    }

    // Calcular a inclinação
    slope = (y2 - y1) / (x2 - x1);

    // Imprimir resultados detalhados
    printf("\nResultado:\n");
    printf("Primeiro ponto:  (%.2f, %.2f)\n", x1, y1);
    printf("Segundo ponto: (%.2f, %.2f)\n", x2, y2);
    printf("Cálculo da Inclinação: (%.2f - %.2f) / (%.2f - %.2f) = %.2f\n",
           y2, y1, x2, x1, slope);

    // Interpretação adicional da inclinação
    if (slope > 0) {
        printf("Interpretação da Inclinação: Inclinação positiva (a reta sobe da esquerda para a direita)\n");
    } else if (slope < 0) {
        printf("Interpretação da Inclinação: Inclinação negativa (a reta desce da esquerda para a direita)\n");
    } else {
        printf("Interpretação da Inclinação: Reta horizontal (inclinação zero)\n");
    }

    return 0;
}

Compile e execute o programa:

gcc slope_calculator.c -o slope_calculator
./slope_calculator

Exemplo de saída:

Calculadora de Inclinação
=========================
Digite a coordenada x do primeiro ponto (x1): 1
Digite a coordenada y do primeiro ponto (y1): 2
Digite a coordenada x do segundo ponto (x2): 4
Digite a coordenada y do segundo ponto (y2): 6

Resultado:
Primeiro ponto:  (1.00, 2.00)
Segundo ponto: (4.00, 6.00)
Cálculo da Inclinação: (6.00 - 2.00) / (4.00 - 1.00) = 1.33
Interpretação da Inclinação: Inclinação positiva (a reta sobe da esquerda para a direita)

Resumo

Neste laboratório, você aprenderá a ler as coordenadas de dois pontos a partir da entrada do usuário e, em seguida, calcular a inclinação de uma reta usando a fórmula ponto-inclinação em um programa C. O programa solicitará ao usuário as coordenadas x e y de dois pontos e, em seguida, calculará e exibirá a inclinação da reta. Além disso, o programa lidará com o caso especial de uma reta vertical, onde a inclinação é indefinida.

O laboratório cobre os seguintes passos-chave: 1) Ler dois pontos (x1, y1) e (x2, y2) da entrada do usuário e 2) Calcular a inclinação usando a fórmula (y2 - y1) / (x2 - x1). O programa, então, imprimirá a inclinação calculada.