<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.3429" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV align=justify><FONT face=Arial color=#0000ff>Obrigado pelo retorno, eu não
percebe que faltava este if, mas sobre o stopifnot, o que eu notei é que
retirando e colocando ele não alterava o resultado.</FONT></DIV>
<BLOCKQUOTE
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV style="FONT: 10pt arial"> </DIV>
<DIV><BR></DIV>Mauro,
<DIV><BR></DIV>
<DIV>Por isso eu escrevi que não havia testado os códigos.</DIV>
<DIV><BR></DIV>
<DIV>Se vc quiser testar a função, tente com</DIV>
<DIV><SPAN class=Apple-style-span><BR></SPAN></DIV>
<DIV><SPAN class=Apple-style-span>factorial = function(x){</SPAN><BR></DIV>
<DIV> stopifnot(x>=0)<BR> produto=1</DIV>
<DIV> if (x>1)<BR> for (i in 1:x) produto =
i* produto<BR> produto<BR>}</DIV>
<DIV><BR></DIV>
<DIV>Sobre o stopifnot, leia o manual da função para entender o uso da
função.</DIV>
<DIV><BR></DIV>
<DIV>b<BR dir=ltr><BR>On Monday, 27 February 2012, Mauro Sznelwar wrote:<BR>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><U></U>
<DIV>
<DIV align=justify><FONT face=Arial color=#0000ff>Estava rodando os scripts
e vi que o stopifnot(x>=0) se retirado não altera nada. No caso iterativo
do factorial não funciona se fizer factorial(0)=0, como forçar para
factorial(0)=1?</FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial>f2 <- function(x){<BR>
stopifnot(x>=0)<BR>
if(x<=1){<BR>
1<BR> }else{<BR>
x*f2(x-1)<BR>
}<BR>}<BR><BR><BR></FONT></DIV></DIV></BLOCKQUOTE></DIV></BLOCKQUOTE></BODY></HTML>