



Lembrando que a formula para calcular a área de um triangulo é
Área = √{s (s – a)(s – b)(s – c)}
Onde s = semi perímetro
a, b, c = lados do triangulo.
O semi perímetro é calculado da seguinte formula
s = (a + b + c) / 2
Sugestão de resposta em linguagem algorítmica
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | programa Exercicio28; var a, b, c: Inteiro; semiPerimetro, area: Real; vTriangulo: Bool; inicio Escreva('Informe o valor de A: '); Leia(a); Escreva('Informe o valor de B: '); Leia(b); Escreva('Informe o valor de C: '); Leia(c); vTriangulo := True; se (a < b) entao inicio se (b < c) entao inicio Escreva(a); Escreva(b); Escreva(c); vTriangulo := not (a + b < c); fim senao inicio se (a < c) entao inicio Escreva(a); Escreva(c); Escreva(b); vTriangulo := not (a + c < b); fim senao inicio Escreva(c); Escreva(a); Escreva(b); vTriangulo := not (c + a < b); fim; fim; fim senao inicio se (b < c) entao inicio se (a < c) entao inicio Escreva(b); Escreva(a); Escreva(c); vTriangulo := not (b + a < c); fim senao inicio Escreva(b); Escreva(c); Escreva(a); vTriangulo := not (b + c < a); fim; fim senao inicio Escreva(c); Escreva(b); Escreva(a); vTriangulo := not (c + b < a); fim; fim; se (vTriangulo) entao inicio { Calculando a area do triangulo } semiPerimetro := (a + b + c) / 2; area := sqrt(semiPerimetro * ((semiPerimetro - a) + (semiPerimetro - b) + (semiPerimetro - c))); Escreva('A area do triangulo e: ', area: 0: 2); fim senao inicio Escreva('Os valores informados nao formam um triangulo.'); fim; fim. |
Sugestão de resposta em Pascal, Lazarus, Delphi
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | program Exercicio28; uses Classes, SysUtils; var a, b, c: cardinal; semiPerimetro, area: Real; vTriangulo: boolean; begin try Write('Informe o valor de A: '); Readln(a); Write('Informe o valor de B: '); Readln(b); Write('Informe o valor de C: '); Readln(c); { Para os valores lidos formarem um triangulo, a soma dos dois lados menores deverá ser superior a medida do lado maior. x + y > z } vTriangulo := True; if (a < b) then begin if (b < c) then begin Writeln(a); Writeln(b); Writeln(c); vTriangulo := not (a + b < c); end else begin if (a < c) then begin Writeln(a); Writeln(c); Writeln(b); vTriangulo := not (a + c < b); end else begin Writeln(c); Writeln(a); Writeln(b); vTriangulo := not (c + a < b); end; end; end else begin if (b < c) then begin if (a < c) then begin Writeln(b); Writeln(a); Writeln(c); vTriangulo := not (b + a < c); end else begin Writeln(b); Writeln(c); Writeln(a); vTriangulo := not (b + c < a); end; end else begin Writeln(c); Writeln(b); Writeln(a); vTriangulo := not (c + b < a); end; end; if (vTriangulo) then begin { Calculando a area do triangulo } // s = (a + b + c) / 2 // Área = √{s (s - a)(s - b)(s - c)} semiPerimetro := (a + b + c) / 2; area := sqrt(semiPerimetro * ((semiPerimetro - a) + (semiPerimetro - b) + (semiPerimetro - c))); Writeln('A area do triangulo e: ', area :0:2); end else begin Writeln('Os valores informados nao formam um triangulo.'); end; Write(#10#13#10#13, 'Tecle "Enter" para sair.'); Readln; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end. |
Outras linguagens? Envie a sua sugestão para [email protected]