<div dir="ltr">A questão da chave errada pode ser identificada usando um editor de texto como o notepad++ por exemplo,<div>basta selecionar o R como linguagem de formatação.</div><div style>Além disso, identar de outra forma ajuda a perceber melhor os fechamentos de chaves e as relações entre os ifs.</div>
<div style><br></div><div style><br></div><div style>Além da chave tem um pequeno erro na lógica do isósceles, veja exemplo.</div><div style><br></div><div style><div>tri <- function(x,y,z){</div><div><span class="" style="white-space:pre"> </span>if ((x + y) > z & (x + z) > y & (y + z) > x){</div>
<div><span class="" style="white-space:pre"> </span>if ((x==y) | (x==z))return ("equilátero") ##todos os lados iguais</div><div><span class="" style="white-space:pre"> </span>else if ((x == y) | (x == z) | (y == z)){ ## ao menos dois lados iguais</div>
<div><span class="" style="white-space:pre"> </span>return ("isosceles")}</div><div><span class="" style="white-space:pre"> </span>else{</div><div><span class="" style="white-space:pre"> </span>return ("escaleno")}</div>
<div><span class="" style="white-space:pre"> </span>}</div><div><span class="" style="white-space:pre"> </span>else{</div><div><span class="" style="white-space:pre"> </span>return ("não é triângulo")}</div><div>
}</div><div><br></div><div>> tri(4,4,4)</div><div>[1] "equilátero"</div><div>> tri(5,4,4)</div><div>[1] "isosceles"</div><div>> tri(4,5,4)</div><div>[1] "equilátero"</div><div>> tri(4,4,5)</div>
<div>[1] "equilátero"</div><div>> tri(3,4,5)</div><div>[1] "escaleno"</div><div><br></div><div style>## versão corrigida.</div><div style>tri <- function(x,y,z){<br></div></div><div style><div><span class="" style="white-space:pre"> </span>if ((x + y) > z & (x + z) > y & (y + z) > x){</div>
<div><span class="" style="white-space:pre"> </span>if ((x==y) & (x==z))return ("equilátero") ##todos os lados iguais</div><div><span class="" style="white-space:pre"> </span>else if ((x == y) | (x == z) | (y == z)){ ## ao menos dois lados iguais</div>
<div><span class="" style="white-space:pre"> </span>return ("isosceles")}</div><div><span class="" style="white-space:pre"> </span>else{</div><div><span class="" style="white-space:pre"> </span>return ("escaleno")}</div>
<div><span class="" style="white-space:pre"> </span>}</div><div><span class="" style="white-space:pre"> </span>else{</div><div><span class="" style="white-space:pre"> </span>return ("não é triângulo")}</div><div>
}</div><div><br></div><div>> tri(4,4,4)</div><div>[1] "equilátero"</div><div>> tri(5,4,4)</div><div>[1] "isosceles"</div><div>> tri(4,5,4)</div><div>[1] "isosceles"</div><div>> tri(4,4,5)</div>
<div>[1] "isosceles"</div><div>> tri(3,4,5)</div><div>[1] "escaleno"</div><div><br></div><div><br></div><div><br></div></div><div style><br></div><div style><br></div><div style><br></div><div><br></div>
<div><br></div><div><br><div><br><div><br></div><div><br></div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">Em 25 de abril de 2013 18:24, Sérgio Henrique almeida da silva ju <span dir="ltr"><<a href="mailto:sergio.edfisica@gmail.com" target="_blank">sergio.edfisica@gmail.com</a>></span> escreveu:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">É verdade, que falta de atenção!<div><br></div><div>Mas tem uma chave errada nessa função, não estou identificando qual!</div>
<div><br></div><div>Obrigado</div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">Em 25 de abril de 2013 18:13, Daniel C Bezerra <span dir="ltr"><<a href="mailto:danielcbezerra@gmail.com" target="_blank">danielcbezerra@gmail.com</a>></span> escreveu:<div><div class="h5">
<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<p dir="ltr">Vc usou apenas um sinal de "=" após o else</p>
<div class="gmail_quote"><div><div>On Apr 25, 2013 5:57 PM, "Sérgio Henrique almeida da silva ju" <<a href="mailto:sergio.edfisica@gmail.com" target="_blank">sergio.edfisica@gmail.com</a>> wrote:<br type="attribution">
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>
<div dir="ltr">Prezados<div><br></div><div>Estou fazendo uma função no R que dado os três lados de um triângulo ele me diz se é um triângulo, se o mesmo é isósceles, escaleno ou equilátero.</div><div><br></div><div><div>
tri <- function(x,y,z){</div>
<div> if ((x +y > z) & (x + z > y) & (y + z > x)){</div><div> if ((x==y) | (y==z)){return ("equilátero")}</div><div> else if ((x = y) | (x=z) | (y=z)){</div><div> return ("isosceles")}</div>
<div> else{</div><div> return ("escaleno")}</div><div> else{</div><div> return ("não é triângulo")}}</div><div><br></div><div><br></div><div>Porém não estou tendo sucesso, onde posso estar errando?</div>
<div><br></div><div>Abraços</div><div><br></div><div><br></div>-- <br>Sérgio Henrique Almeida da Silva Junior<br>Doutorando em Epidemiologia em Saúde Pública<br>Escola Nacional de Saúde Pública Sérgio Arouca - ENSP/FIOCRUZ<br>
<a href="http://lattes.cnpq.br/1611345552843383" target="_blank">http://lattes.cnpq.br/1611345552843383</a> <br>Tel: <a href="tel:%2821%29%2068463637" value="+12168463637" target="_blank">(21) 68463637</a> / 94429486<br>
</div></div>
<br></div></div>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div></div></div><div><div class="h5"><br><br clear="all">
<div><br></div>-- <br>
Sérgio Henrique Almeida da Silva Junior<br>Doutorando em Epidemiologia em Saúde Pública<br>Escola Nacional de Saúde Pública Sérgio Arouca - ENSP/FIOCRUZ<br><a href="http://lattes.cnpq.br/1611345552843383" target="_blank">http://lattes.cnpq.br/1611345552843383</a> <br>
Tel: <a href="tel:%2821%29%2068463637" value="+12168463637" target="_blank">(21) 68463637</a> / 94429486<br>
</div></div></div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br></div>