Preparar um algoritmo e um programa em
para ler os comprimentos dos três lados de um triângulo (
, e
) e calcular a área do triangulo de acordo com a fórmula:
[
área=\sqrt{T\left(T-S_{1}\right)\left(T-S_{2}\right)\left(T-S_{3}\right)} \quad onde \quad T=\frac{S_{1}+S_{2}+S_{3}}{2}
área=\sqrt{T\left(T-S_{1}\right)\left(T-S_{2}\right)\left(T-S_{3}\right)} \quad onde \quad T=\frac{S_{1}+S_{2}+S_{3}}{2}
Passo 1
O problema pede para ler três comprimentos de lados de um triângulo (S₁, S₂ e S₃) e calcular a área usando a fórmula de Heron. Vamos precisar entender essa fórmula, definir as variáveis em C, ler os valores, calcular o semiperímetro T e então a área, usando a função sqrt da biblioteca math.h.
Passo 2
A fórmula de Heron diz que, dado um triângulo com lados S₁, S₂ e S₃, o semiperímetro é
e a área é
Então, basta traduzir isso em operações aritméticas em C.
Passo 3
Antes de calcular a área, é bom verificar se os valores formam mesmo um triângulo. A condição de existência é que a soma de dois lados seja sempre maior que o terceiro. Em código, verificamos se
Se não satisfazer, imprimimos uma mensagem de erro.
Passo 4
Vamos agora roteiro em pseudocódigo (algoritmo):
- Declarar variáveis do tipo double: S1, S2, S3, T, area.
- Ler S1, S2 e S3.
- Se não satisfazer a condição de existência do triângulo, imprimir erro e encerrar.
- Calcular T = (S1 + S2 + S3)/2.
- Calcular area = sqrt(T*(T - S1)(T - S2)(T - S3)).
- Imprimir o valor de area com precisão desejada.
Passo 5
Traduzindo o pseudocódigo para C, vamos usar:
- #include <stdio.h> para entrada/saída.
- #include <math.h> para sqrt.
- printf e scanf para interagir com o usuário.
- Verificação de existência do triângulo.
Tudo junto fica o programa abaixo.
Resposta
#include <stdio.h>
#include <math.h>
#include <math.h>
int main() {
double S1, S2, S3;
double T, area;
double S1, S2, S3;
double T, area;
// Leitura dos lados do triângulo
printf("Digite os comprimentos dos tres lados do triangulo (separados por espaco): ");
if (scanf("%lf %lf %lf", &S1, &S2, &S3) != 3) {
printf("Erro na leitura dos valores.\n");
return 1;
}
// Verificacao de existencia do triangulo
if (S1 + S2 <= S3 || S1 + S3 <= S2 || S2 + S3 <= S1) {
printf("Os valores fornecidos nao formam um triangulo valido.\n");
return 1;
}
// Calculo do semiperimetro
T = (S1 + S2 + S3) / 2.0;
// Calculo da area pela formula de Heron
area = sqrt(T * (T - S1) * (T - S2) * (T - S3));
// Saida do resultado
printf("A area do triangulo e: %.4f\n", area);
return 0;
}