Perfeito Gledson! Obrigado
Em 25 de abril de 2013 19:03, gledson picharski <[email protected] > escreveu: > 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 iguais > else if ((x == y) | (x == z) | (y == z)){ ## ao menos dois lados iguais > return ("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 iguais > else if ((x == y) | (x == z) | (y == z)){ ## ao menos dois lados iguais > return ("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 < > [email protected]> escreveu: > > É verdade, que falta de atenção! >> >> Mas tem uma chave errada nessa função, não estou identificando qual! >> >> Obrigado >> >> >> Em 25 de abril de 2013 18:13, Daniel C Bezerra >> <[email protected]>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" < >>> [email protected]> wrote: >>> >>>> Prezados >>>> >>>> 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. >>>> >>>> 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 >>>> [email protected] >>>> 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 >>> [email protected] >>> 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 >> [email protected] >> 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 > [email protected] > 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 [email protected] 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.
