<!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>
<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 size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>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>2012/2/26 Mauricio Cardeal 
<</FONT><A href="mailto:mcardeal2010@gmail.com"><FONT face=Arial 
size=2>mcardeal2010@gmail.com</FONT></A><FONT face=Arial size=2>>:<BR>> 
Benilton, por curiosidade testei os códigos e o primeiro funcionou 
certo,<BR>> mas o segundo acusou erro:<BR>><BR>>> factorial = 
function(x){<BR>> +   stopifnot(x>=0)<BR>> +   
produto=1<BR>> +   for (i in 1:x) produto = i* produto<BR>> 
+   produto<BR>> + }<BR>>> factorial(3)<BR>> [1] 
6<BR>>> f2 = function(x){<BR>> +   stopifnot(x>=0)<BR>> 
+   If(x<=1){<BR>> Erro: '{' inesperado em:<BR>> "  
stopifnot(x>=0)<BR>>   
If(x<=1){"<BR>>>     1<BR>> [1] 
1<BR>>>   }else{<BR>> Erro: '}' inesperado em "  
}"<BR>>>     x*f2(x-1)<BR>> Erro: objeto 'x' não 
encontrado<BR>>>   }<BR>> Erro: '}' inesperado em "  
}"<BR>>> }<BR>> Erro: '}' inesperado em "}"<BR>>><BR>><BR>> 
Mauricio Cardeal<BR>><BR>> UFBA<BR>><BR></FONT></DIV></BODY></HTML>