
ja' q e' mesmo para fins didaticos, considere a seguinte solucao: myexp <- function(B,C){ stopifnot(is.integer(C), C >= 0) if (C == 0) return(1) B*myexp(B, C-1L) } myexp(2, 5L) b ps: o L depois do 5 esta' dizendo pro R que e' p garantir que o 5 e' do tipo inteiro e nao o valor real "5". Em 20 de agosto de 2014 14:46, Felipe <felipe.e.barletta@gmail.com> escreveu:
Obrigado Marcus.
On 20-08-2014 14:35, Marcus Nunes wrote:
Digite
B
no prompt do R e perceba que o valor de B é NULL. O mesmo vale para C. Eles não estão recebendo os valores numéricos. Fazendo
exp(2, 5) O valor de B = 2 elevado a C = 5 é: 32
dá tudo certo.
2014-08-20 14:31 GMT-03:00 Felipe <felipe.e.barletta@gmail.com>:
Prezdos colegas,
Fiz um simples programa para calcular um número real elevado à um expoente inteiro, para treinar um pouco programação no R. Porém não rodou com o seguinte código e erro:
B <- cat("entre com a base") 2 C <- cat("entre com o expoente inteiro C") 5 exp <- function(B,C) { if (C - as.integer(C)!= 0) cat("Entre com expoente inteiro") else{ if (C < 0) cat("Só aceitamos expoentes positivos") else if (C == 0) resp = 1 else{ resp = 1 for (i in 1:C) resp = resp*B cat ("O valor de B =",B,"elevado a C =",C,"é:",resp)}} } exp(B,C)
Erro em if (C - as.integer(C) != 0) cat("Entre com expoente inteiro") else { (from #3) : argumento tem comprimento zero
Se alguém puder ajudar, ficarei muito grato!!
_______________________________________________ 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.
-- Marcus Nunes http://marcusnunes.me/
_______________________________________________ R-br mailing listR-br@listas.c3sl.ufpr.brhttps://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.
-- [image: Benilton Carvalho on about.me] Benilton Carvalho about.me/benilton <http://about.me/benilton>