A questão da chave errada pode ser identificada usando um editor de texto como o notepad++ por exemplo,basta selecionar o R como linguagem de formatação.Além disso, identar de outra forma ajuda a perceber melhor os fechamentos de chaves e as relações entre os ifs.Além da chave tem um pequeno erro na lógica do isósceles, veja exemplo.tri <- function(x,y,z){if ((x + y) > z & (x + z) > y & (y + z) > x){if ((x==y) | (x==z))return ("equilátero") ##todos os lados iguaiselse if ((x == y) | (x == z) | (y == z)){ ## ao menos dois lados iguaisreturn ("isosceles")}else{return ("escaleno")}}else{return ("não é triângulo")}}> tri(4,4,4)[1] "equilátero"> tri(5,4,4)[1] "isosceles"> tri(4,5,4)[1] "equilátero"> tri(4,4,5)[1] "equilátero"> tri(3,4,5)[1] "escaleno"## versão corrigida.tri <- function(x,y,z){if ((x + y) > z & (x + z) > y & (y + z) > x){if ((x==y) & (x==z))return ("equilátero") ##todos os lados iguaiselse if ((x == y) | (x == z) | (y == z)){ ## ao menos dois lados iguaisreturn ("isosceles")}else{return ("escaleno")}}else{return ("não é triângulo")}}> tri(4,4,4)[1] "equilátero"> tri(5,4,4)[1] "isosceles"> tri(4,5,4)[1] "isosceles"> tri(4,4,5)[1] "isosceles"> tri(3,4,5)[1] "escaleno"Em 25 de abril de 2013 18:24, Sérgio Henrique almeida da silva ju <sergio.edfisica@gmail.com> escreveu:
É verdade, que falta de atenção!Mas tem uma chave errada nessa função, não estou identificando qual!ObrigadoEm 25 de abril de 2013 18:13, Daniel C Bezerra <danielcbezerra@gmail.com> escreveu:Vc usou apenas um sinal de "=" após o else
On Apr 25, 2013 5:57 PM, "Sérgio Henrique almeida da silva ju" <sergio.edfisica@gmail.com> wrote:
_______________________________________________PrezadosEstou 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.tri <- function(x,y,z){if ((x +y > z) & (x + z > y) & (y + z > x)){if ((x==y) | (y==z)){return ("equilátero")}else if ((x = y) | (x=z) | (y=z)){return ("isosceles")}else{return ("escaleno")}else{return ("não é triângulo")}}Porém não estou tendo sucesso, onde posso estar errando?Abraços--
Sérgio Henrique Almeida da Silva Junior
Doutorando em Epidemiologia em Saúde Pública
Escola Nacional de Saúde Pública Sérgio Arouca - ENSP/FIOCRUZ
http://lattes.cnpq.br/1611345552843383
Tel: (21) 68463637 / 94429486
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
--
Sérgio Henrique Almeida da Silva Junior
Doutorando em Epidemiologia em Saúde Pública
Escola Nacional de Saúde Pública Sérgio Arouca - ENSP/FIOCRUZ
http://lattes.cnpq.br/1611345552843383
Tel: (21) 68463637 / 94429486
_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.