Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Charlys

Algoritmo triângulo(Vejam o que está errado!)

Recommended Posts

Program Pzim ;

var lado1,lado2,lado3,perimentro,altura,area,base:real;

Begin

writeln('Digite o lado1 em (m):');

readln(lado1);

writeln('Digite o lado2 em (m):');

readln(lado2);

writeln('Digite o lado3 em (m):');

readln(lado3);

if (lado1+lado2>lado3) and (lado1+lado3>lado2) and (lado2+lado3>lado1) then

begin

writeln('Esses valores fomam um trinângulo.');

end

else



if (lado1=lado2) and (lado1=lado3) and (lado2=lado3) then

begin

writeln('O triângulo é equilátero!');

writeln('Digite a altura em (m)');

readln(altura);

writeln('Digite sua base em (m)');

readln(base);

area:=(base*altura)/2;

perimentro:=lado1+lado2+lado3;

writeln('A área do triângulo em (m)',area);

writeln('O perímentro do triângulo em (m)',perimentro);

end

else

if (lado1=lado2) or (lado1=lado3) or (lado2=lado3) then

begin

writeln('O triângulo é isósceles !');

writeln('Digite a altura em (m)');

readln(altura);

writeln('Digite sua base em (m)');

readln(base);

area:=(base*altura)/2;

perimentro:=lado1+lado2+lado3;

writeln('A área do triângulo em (m): ',area);

writeln('O perímentro do triângulo em (m)',perimentro);

end

else

if (lado1<>lado2) and (lado1<>lado3) and (lado2<>lado3) then

begin

writeln('O triângulo é escaleno');

writeln('Digite a altura em (m)');

readln(altura);

writeln('Digite sua base em (m)');

readln(base);

area:=(base*altura)/2;

perimentro:=lado1+lado2+lado3;

writeln('A área do triângulo em (m): ',area);

writeln('O perímentro do triângulo em (m)',perimentro);

end;






End.

Compartilhar este post


Link para o post
Compartilhar em outros sites

As sua verificação de isósceles não vai bater....

 

Imagine:

if (lado1=lado2) or (lado1=lado3) or (lado2=lado3) then

Se todos os lados forem iguais, a verificação retornará true, true e true ou seja, ele continuará caindo ai ou então nunca irá cair ai mesmo que os lados sejam diferentes, a ideia é comparar o lado1 sendo igual ao 2 e diferente do 3 ou então o lado 2 sendo igual ao 3 e diferente do 1 ou então o lado 3 é igual a um dos outros dois e diferente dos demais, isso prova um triângulo isósceles.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se todos os lados forem iguais - é equilatero

Senão, se todos os lados forem diferentes - é escaleno

senão é isosceles

 

Tenta isso.

E para facilitar, acho q poderia fazer todas as solicitações uma unica vez

perimentro,altura,area,base

 

E mais uma coisa, é legal conferir se nenhum lado é igual a zero.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.