Cambiamos de tercio. Dejamos las estructuras de control condicionales y empezamos con las repeticiones: los bucles.
Sin duda, uno de los bucles más sencillos es el bucle for. Consiste en tres expresiones opcionales entre paréntesis y separadas por punto y coma que representan el número de repeticiones de la instrucción o bloque de instrucciones que le sigue. La primera indica desde qué número, la segunda la condición que debe cumplir dicho número, y por último, el incremento o decremento en cada iteración del bucle.
La sintaxis de esta estructura es la siguiente:
for ([expresion-inicial]; [condicion]; [expresion-final])
sentencia-o-bloque-de-sentencias
//¡Recuerda que todo lo que hay entre corchetes es opcional!
Javascript, además, tiene diferentes opciones que permiten eliminar alguna de las expresiones entre paréntesis. Claro está, si lo hacemos así, debemos compensar este borrado de alguna forma. Y es lo que veremos en el vídeo de esta lección. Así, podemos:
Omitir la expresión inicial: declarando antes la variable.
Omitir la condición: añadiendo dentro del bloque de sentencias la condición y una ruptura con break.
Omitir la expresión final: incrementando o decrementando la variable dentro del bloque de sentencias.
Y por si fuera poco, un bucle for puede incluir más de una variable. Es decir, podemos incrementar o decrementar más de una variable simultáneamente en cada iteración.
¿Sabes que hay una variante del bucle for, llamada “for in”, que permite recorrer las propiedades de un objeto? Lo veremos en la siguiente lección: Javascript – #1.22. Repeticiones. Bucle for in
¡Buenas noches ,Ada!
Se me ha ocurrido elaborar un código en el que usando un bucle for obtengas como salida los números pares entre 2 y 10…pero no doy con el correcto.¿Se puede hacer?
He puesto este pero no veo el error y el bucle es infinito!!!
var s ;
for(s=2; s<=10;s+2){
alert("s =" +s);
{
He probado la tercera sentencia con +s*2, con +(s+2) y con +(2*s)….pero no son correctas
Hola Merche, el programa te resulta en un bucle infinito porque la declaración que hiciste no aumenta el valor de i a cada vuelta de ciclo, con el siguiente codigo te muestra los numeros pares hasta el 10( Nota: el i%2 == 0 quiere decir que si el modulo es cero es un numero par lo cual es el numero que buscamos imprimir)
¡Muy buena respuesta, Danilo!
En mi comentario también dejo otra opción que no requiere utilizar el if dentro del bucle
¡Espero que te sirvan ambas, Merche!
¡Hola, Merche!
Verás, el problema es que el tercer parámetro del bucle for no actualiza la variable s. Tendrás que poner un operador de asignación utilizando una de las dos opciones:
s=s+2
s+=2
De esta manera, en cada pasada del bucle actualizas el valor “s” sumándole dos unidades a lo que ya tuviera.
¡Espero haberte aclarado! ¡Un saludo y sigue así!
Lo siento, debes estar conectado para publicar un comentario.
Resumen de privacidad
Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.
¡Buenas noches ,Ada!
Se me ha ocurrido elaborar un código en el que usando un bucle for obtengas como salida los números pares entre 2 y 10…pero no doy con el correcto.¿Se puede hacer?
He puesto este pero no veo el error y el bucle es infinito!!!
var s ;
for(s=2; s<=10;s+2){
alert("s =" +s);
{
He probado la tercera sentencia con +s*2, con +(s+2) y con +(2*s)….pero no son correctas
Dame un poco de luz.
Gracias de antemano
Hola Merche, el programa te resulta en un bucle infinito porque la declaración que hiciste no aumenta el valor de i a cada vuelta de ciclo, con el siguiente codigo te muestra los numeros pares hasta el 10( Nota: el i%2 == 0 quiere decir que si el modulo es cero es un numero par lo cual es el numero que buscamos imprimir)
for (i=0; i<=10; i++){
if(i%2 == 0){
alert(i)
}
}
Espero sea de ayuda 🙂
¡Muy buena respuesta, Danilo!
En mi comentario también dejo otra opción que no requiere utilizar el if dentro del bucle
¡Espero que te sirvan ambas, Merche!
¡Hola, Merche!
Verás, el problema es que el tercer parámetro del bucle for no actualiza la variable s. Tendrás que poner un operador de asignación utilizando una de las dos opciones:
s=s+2
s+=2
De esta manera, en cada pasada del bucle actualizas el valor “s” sumándole dos unidades a lo que ya tuviera.
¡Espero haberte aclarado! ¡Un saludo y sigue así!
Muchas gracias Danilo!!!
A veces te empeñas en usar lo que no funciona y tú me has dado otra salida. 😉
Mil gracias!
Era ese detalle el que me fallaba, el del tercer parámetro.
Así se aprende
¡Jejeje! Claro. Y como ves, no hay una única solución