Foros del Web » Programando para Internet » Javascript »

Ayuda con pequeño ejemplo

Estas en el tema de Ayuda con pequeño ejemplo en el foro de Javascript en Foros del Web. Hola estoy aprendiendo Javascript ya se un poco mediante un excelente libro de librosdelweb y se me presentaron estos 2 ejemplos Código HTML: var resultado ...
  #1 (permalink)  
Antiguo 07/08/2009, 00:23
 
Fecha de Ingreso: abril-2009
Mensajes: 75
Antigüedad: 15 años, 1 mes
Puntos: 0
Pregunta Ayuda con pequeño ejemplo

Hola estoy aprendiendo Javascript ya se un poco mediante un excelente libro de librosdelweb y se me presentaron estos 2 ejemplos

Código HTML:
var resultado = 0;
var numero = 100;
var i = 0;
 
while(i <= numero) {
  resultado += i;
  i++;
}
 
alert(resultado);


var resultado = 1;
var numero = 5;
 
do {
  resultado *= numero;  // resultado = resultado * numero
  numero--;
} while(numero > 0);
 
alert(resultado);
Entendí todo bien hasta que biene la línea de incremento y decremento i++, numero-- no se realmente que papel juegan ayí, los proe con mi geosities y como era de esperar esta correcto, pero cuando al i++ le pongo i-- y visebersa con numero sale error "Un script de esta página puede estar ocupado, o puede haber dejado de responder. Puede detener el script, o puede continuar para ver si el script finaliza." y me pide detenerlo. Todavia no logro entender para que eeess aunque es muy importante
  #2 (permalink)  
Antiguo 07/08/2009, 00:49
 
Fecha de Ingreso: febrero-2009
Mensajes: 102
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Ayuda con pequeño ejemplo

Es sencillo, el ++ incrementa en uno el valor de la variable, y el -- decrementa en 1 el valor de la variable. Si no incrementases o decrementases el valor se quedaría metido en el while en el caso de la i o en el do en el caso del número, ya que son esas variables las que aparecen en la condición de salida del bucle.

El error que te sale probablemente sea un error de bucle infinito, te lo explicaré.
En el while, tienes puesto que se ejecute el bucle mientras la i sea menor al valor de numero. Si la i comienza en 0 y vas sumandole cada vez uno con el i++, llegará un momento en que sea igual a la variable numero y saldrá del bucle. Sin embargo, si en vez de i++ haces i--, al principio la i valdrá 0, en la siguiente iteración -1 y así sucesivamente restando 1. ¿Qué pasará entonces? Que la i siempre será menor que la variable numero y el bucle nunca terminará.

Con el bucle do pasa igual.

Espero que te haya aclarado la duda.
  #3 (permalink)  
Antiguo 07/08/2009, 10:33
 
Fecha de Ingreso: abril-2009
Mensajes: 75
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Ayuda con pequeño ejemplo

Cita:
Iniciado por Didi-chan Ver Mensaje
Es sencillo, el ++ incrementa en uno el valor de la variable, y el -- decrementa en 1 el valor de la variable. Si no incrementases o decrementases el valor se quedaría metido en el while en el caso de la i o en el do en el caso del número, ya que son esas variables las que aparecen en la condición de salida del bucle.

El error que te sale probablemente sea un error de bucle infinito, te lo explicaré.
En el while, tienes puesto que se ejecute el bucle mientras la i sea menor al valor de numero. Si la i comienza en 0 y vas sumandole cada vez uno con el i++, llegará un momento en que sea igual a la variable numero y saldrá del bucle. Sin embargo, si en vez de i++ haces i--, al principio la i valdrá 0, en la siguiente iteración -1 y así sucesivamente restando 1. ¿Qué pasará entonces? Que la i siempre será menor que la variable numero y el bucle nunca terminará.

Con el bucle do pasa igual.

Espero que te haya aclarado la duda.
Graciaaas! Didi alfin entiendo el porque te lo agradezco
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 01:24.