Introdução
Neste laboratório, você aprenderá a encontrar a equação de uma reta dados dois pontos em programação C. O laboratório cobre três etapas principais: calcular a inclinação a partir de dois pontos, calcular o coeficiente linear usando a inclinação e um ponto conhecido e, finalmente, imprimir a equação completa da reta na forma y = mx + b. Ao final deste laboratório, você terá uma compreensão sólida de como trabalhar com retas em geometria analítica usando C.
O laboratório começa demonstrando como calcular a inclinação entre dois pontos usando a fórmula (y2 - y1) / (x2 - x1). Em seguida, mostra como determinar o coeficiente linear reorganando a equação y = mx + b para resolver a constante b. Finalmente, a equação completa da reta é impressa, permitindo que você represente a reta na forma padrão.
Calcular a Inclinação a Partir de Dois Pontos
Neste passo, você aprenderá como calcular a inclinação entre dois pontos em um programa C. A inclinação representa a declividade de uma reta e é calculada usando a fórmula: inclinação = (y2 - y1) / (x2 - x1).
Primeiro, crie um novo arquivo C para implementar o cálculo da inclinação:
cd ~/project
nano slope_calculation.c
Agora, escreva o seguinte código C para calcular a inclinação:
#include <stdio.h>
float calculate_slope(float x1, float y1, float x2, float y2) {
// Verifica se os pontos estão na mesma linha vertical
if (x2 - x1 == 0) {
printf("Inclinação indefinida (linha vertical)\n");
return 0;
}
// Calcula a inclinação usando a fórmula: (y2 - y1) / (x2 - x1)
float slope = (y2 - y1) / (x2 - x1);
return slope;
}
int main() {
float x1 = 2.0, y1 = 3.0; // Primeiro ponto
float x2 = 5.0, y2 = 7.0; // Segundo ponto
float slope = calculate_slope(x1, y1, x2, y2);
printf("Ponto 1: (%.1f, %.1f)\n", x1, y1);
printf("Ponto 2: (%.1f, %.1f)\n", x2, y2);
printf("Inclinação: %.2f\n", slope);
return 0;
}
Compile e execute o programa:
gcc slope_calculation.c -o slope_calculation
./slope_calculation
Saída de exemplo:
Ponto 1: (2.0, 3.0)
Ponto 2: (5.0, 7.0)
Inclinação: 1.33
Vamos analisar o código:
- A função
calculate_slope()recebe quatro parâmetros: x1, y1, x2, y2 - Primeiro, verifica se os pontos formam uma linha vertical (x2 - x1 = 0)
- Se não for uma linha vertical, calcula a inclinação usando a fórmula padrão
- A função
main()demonstra como usar o cálculo da inclinação
A inclinação representa a variação na coordenada y dividida pela variação na coordenada x entre dois pontos. Neste exemplo, a inclinação é aproximadamente 1,33, o que significa que para cada unidade de variação em x, y varia em 1,33 unidades.
Calcular a Interceptação Usando y - mx
Neste passo, você aprenderá a calcular a interceptação y de uma reta usando a inclinação e um ponto conhecido. A interceptação y é o ponto onde a reta cruza o eixo y, e pode ser calculada usando a equação: b = y - mx.
Continue trabalhando no mesmo diretório do projeto e modifique o arquivo C anterior:
cd ~/project
nano line_equation.c
Escreva o seguinte código C para calcular a interceptação y:
#include <stdio.h>
float calculate_slope(float x1, float y1, float x2, float y2) {
if (x2 - x1 == 0) {
printf("Inclinação indefinida (linha vertical)\n");
return 0;
}
return (y2 - y1) / (x2 - x1);
}
float calculate_intercept(float x, float y, float slope) {
// Calcula a interceptação y usando a fórmula: b = y - mx
float intercept = y - (slope * x);
return intercept;
}
int main() {
float x1 = 2.0, y1 = 3.0; // Primeiro ponto
float x2 = 5.0, y2 = 7.0; // Segundo ponto
float slope = calculate_slope(x1, y1, x2, y2);
float intercept = calculate_intercept(x1, y1, slope);
printf("Ponto 1: (%.1f, %.1f)\n", x1, y1);
printf("Ponto 2: (%.1f, %.1f)\n", x2, y2);
printf("Inclinação: %.2f\n", slope);
printf("Interceptação y: %.2f\n", intercept);
return 0;
}
Compile e execute o programa:
gcc line_equation.c -o line_equation
./line_equation
Saída de exemplo:
Ponto 1: (2.0, 3.0)
Ponto 2: (5.0, 7.0)
Inclinação: 1.33
Interceptação y: 0.33
Vamos analisar o novo código:
- A função
calculate_intercept()recebe três parâmetros: x, y e inclinação - Ela usa a fórmula b = y - mx para calcular a interceptação y
- Na função
main(), usamos a inclinação calculada anteriormente e um ponto para encontrar a interceptação y - A interceptação y representa onde a reta cruza o eixo y quando x = 0
O cálculo mostra que, para os pontos fornecidos, a reta tem uma inclinação de 1,33 e uma interceptação y de 0,33.
Imprimir a Equação da Reta y = mx + b
Neste passo, você aprenderá a imprimir a equação completa da reta usando a inclinação e a interceptação y calculadas nos passos anteriores. Modificaremos o programa C existente para exibir a equação da reta na forma padrão y = mx + b.
Continue trabalhando no mesmo diretório do projeto:
cd ~/project
nano line_equation_final.c
Escreva o seguinte código C para imprimir a equação da reta:
#include <stdio.h>
float calculate_slope(float x1, float y1, float x2, float y2) {
if (x2 - x1 == 0) {
printf("Inclinação indefinida (linha vertical)\n");
return 0;
}
return (y2 - y1) / (x2 - x1);
}
float calculate_intercept(float x, float y, float slope) {
return y - (slope * x);
}
void print_line_equation(float slope, float intercept) {
printf("Equação da Reta: y = ");
// Imprime o coeficiente da inclinação
if (slope == 1) {
printf("x");
} else if (slope == -1) {
printf("-x");
} else if (slope != 0) {
printf("%.2fx", slope);
}
// Imprime a interceptação
if (intercept > 0) {
printf(" + %.2f", intercept);
} else if (intercept < 0) {
printf(" - %.2f", -intercept);
}
printf("\n");
}
int main() {
float x1 = 2.0, y1 = 3.0; // Primeiro ponto
float x2 = 5.0, y2 = 7.0; // Segundo ponto
float slope = calculate_slope(x1, y1, x2, y2);
float intercept = calculate_intercept(x1, y1, slope);
printf("Ponto 1: (%.1f, %.1f)\n", x1, y1);
printf("Ponto 2: (%.1f, %.1f)\n", x2, y2);
printf("Inclinação: %.2f\n", slope);
printf("Interceptação y: %.2f\n", intercept);
print_line_equation(slope, intercept);
return 0;
}
Compile e execute o programa:
gcc line_equation_final.c -o line_equation_final
./line_equation_final
Saída de exemplo:
Ponto 1: (2.0, 3.0)
Ponto 2: (5.0, 7.0)
Inclinação: 1.33
Interceptação y: 0.33
Equação da Reta: y = 1.33x + 0.33
Vamos analisar o novo código:
- A função
print_line_equation()lida com diferentes casos de inclinação e interceptação. - Ela lida com casos especiais, como inclinação igual a 1, -1 ou 0.
- Formata a equação com sinais corretos para a interceptação.
- A função fornece uma representação limpa e legível da equação da reta.
O código demonstra como converter informações de ponto e inclinação em uma forma padrão de equação linear.
Resumo
Neste laboratório, você aprendeu inicialmente como calcular a inclinação entre dois pontos usando a fórmula (y2 - y1) / (x2 - x1). Isso representa a inclinação da reta. Em seguida, aprendeu a calcular a interceptação y da reta usando a inclinação e um ponto conhecido, reorganizando a equação y = mx + b para resolver b. Finalmente, combinou a inclinação e a interceptação para imprimir a equação completa da reta na forma y = mx + b.



