[R-br] Programa para calcular expoente de um número inteiro

Benilton Carvalho beniltoncarvalho em gmail.com
Quarta Agosto 20 14:57:15 BRT 2014


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 em 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 em 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 em 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 em 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 em 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>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20140820/a188f288/attachment.html>


Mais detalhes sobre a lista de discussão R-br