Foros del Web » Programando para Internet » Javascript »

Error con el factorial

Estas en el tema de Error con el factorial en el foro de Javascript en Foros del Web. Hola amigos tengo un pequeño problema con este programita Quiero hallar el factorial de un numero ingresado en una caja de texto, que me muestre ...
  #1 (permalink)  
Antiguo 11/04/2011, 11:45
Avatar de xArchangellx  
Fecha de Ingreso: octubre-2008
Ubicación: Peru
Mensajes: 208
Antigüedad: 16 años, 2 meses
Puntos: 5
Exclamación Error con el factorial

Hola amigos tengo un pequeño problema con este programita
Quiero hallar el factorial de un numero ingresado en una caja de texto, que me muestre en un alert

si yo ingreso 5, en la caja,
al presionar en el boton me aparezca un alert mostarndome el factorial, aqui esta el codigo

<html>
<head>
<script language="javascript">
function factorial(envia.numero.value)
{
var f = 1;
var i = 1;
var n=5
for (i==1; i<=n; i++)
{
f = i * f;
}
document.envia.numero.value();
alert("el factorial es " + f);
}
</script>
</head>

<body>
<form name="envia">
<input type="text" name="numero" value="" />
<input type="submit" name="submit" value="Enviar" onClick="factorial();"/>

</form>
</body>
</html>
  #2 (permalink)  
Antiguo 11/04/2011, 12:41
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: Error con el factorial

tienes muchos errores en javascript, debe quedar más u menos así:

Código Javascript:
Ver original
  1. function factorial(id_object) //las funciones declaran ARGUMENTOS/parámetros, no objetos
  2. {
  3.     var f = 1;
  4.     var i = 1;
  5.     var n= parseInt(document.getElementById(id_object));//se supone que N es pasado por argumento o parámetro
  6.     for (i==1; i<=n; i++)
  7.     {
  8.         f = i * f;
  9.     }
  10.     //document.envia.numero.value(); //esto para que?, value es un "atributo", no una función!!!
  11.     alert("el factorial es " + f);
  12. }

si tu objetivo es procesar el factorial en javascript, no puedes hacer que el formulario se envié (submit):

<input type="text" name="numero" id="numero" value="" />
<input type="button" value="Enviar" onclick="factorial('numero');" />

Recomendación: para trabajar con javascript, es mejor usar los ID con document.getElementById('id_element'), o en su defecto con formularos a través de la colección: document.forms['name_form'].elements['name_input']
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 11/04/2011, 13:46
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 6 meses
Puntos: 310
Respuesta: Error con el factorial

A ver así:
Código Javascript:
Ver original
  1. function factorial(n){
  2.  var resultado = x = n;
  3.  while(--x > 1){
  4.   resultado *= x;
  5.  }
  6.  return resultado;
  7. }
Saludos (:
PD: Si necesitas precisión con los números no uses JS.
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red

Etiquetas: factorial
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:39.