Preparar um algoritmo e um programa em C para ler os comprimentos dos três lados de um triângulo ( S1, S2, e S3 ) 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}

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 é
T = S1 + S2 + S32
e a área é
área = raizT,(T - S1),(T - S2),(T - S3) á
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
S1 + S2 > S3, S1 + S3 > S2, S2 + S3 > S1
Se não satisfazer, imprimimos uma mensagem de erro.

Passo 4

Vamos agora roteiro em pseudocódigo (algoritmo):
  1. Declarar variáveis do tipo double: S1, S2, S3, T, area.
  2. Ler S1, S2 e S3.
  3. Se não satisfazer a condição de existência do triângulo, imprimir erro e encerrar.
  4. Calcular T = (S1 + S2 + S3)/2.
  5. Calcular area = sqrt(T*(T - S1)(T - S2)(T - S3)).
  6. 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>
int main() {
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;
}

Exercícios relacionados