Estas en: gratiszona > apuntes > javascript

bucles For en javascript

for (contador = valor inicial; condicion; expresion de incremento)

{

...;

...;

...;

}

Ejemplo:

for (i=1;i<=10;i++)

{

sentencia1;

sentencia2;

sentencia3;

}

En palabras significa:

"Desde i=1, hasta i=10 de 1 en 1, repite las sentencias 1, 2 y 3"

Es decir: Repite 10 veces las sentencias 1, 2 y 3

Observa que el contador o indice del "for" (en nuestro caso la "i"), es una variable que no es necesario declararla, ya que la expresion "i=1" la declara e inicializa.

Programa que repite un texto cualquiera en numero de veces que queramos, utilizando un "for"

  • Escribe el siguiente programa:

<HTML>

<SCRIPT LANGUAGE='JavaScript'>

// PROG019.HTM

var texto;

var num;

var salida='';

texto=prompt('Escribe un texto','');

num=prompt('Cuantas veces quieres que lo repita','');

num=parseInt(num,10);

for(i=1;i<=num;i++)

{

salida=salida+texto+'\n';

}

alert(salida);

</SCRIPT>

</HTML>

  • Graba el fichero en TuCarpeta, con el nombre Prog019.htm y ejecutalo unas cuantas veces.

Programa que calcula todos los multiplos de 11 menores de 3000 y por ultimo nos da la suma de todos ellos.

  • Escribe el siguiente programa:

<HTML>

<SCRIPT LANGUAGE='JavaScript'>

// PROG020.HTM

var salida='';

var sum=0;

for(multi=11;multi<3000;multi=multi+11)

{

salida=salida+multi+' ';

sum=sum+multi;

}

alert(salida+'\nLa Suma de todos ellos es= '+sum);

</SCRIPT>

</HTML>

  • Grabalo en TuCarpeta, con el nombre Prog020.htm y ejecutalo.

Programa que calcula el factorial de un numero

Recuerda que el factorial del numero "x" es: 1*2*3*4*5*...*x

  • Escribe el siguiente programa:

<HTML>

<SCRIPT LANGUAGE='JavaScript'>

// PROG021.HTM

var salida='';

var fact=1;

var num;

num=prompt('Calculo del factorial del numero ','');

num=parseInt(num,10);

for(i=1;i<=num;i++) fact=fact*i;

alert('El factorial de '+num+' es '+fact);

</SCRIPT>

</HTML>

  • Grabalo en TuCarpeta con el nombre Prog021.htm y ejecutalo varias veces.

Observa que nuestro "for" no necesita llaves, porque contiene una unica sentencia.

Programa que calcula los 10 primeros multiplos del numero que queramos, por ultimo nos da la suma de todos ellos.

  • Escribe el siguiente programa:

<HTML>

<SCRIPT LANGUAGE='JavaScript'>

// PROG022.HTM

var salida='';

var num;

var mult;

var sum=0;

num=prompt('┬┐Multiplos de que numero?','');

num=parseInt(num,10);

for(i=1;i<=10;i++)

{

mult=num*i;

salida=salida+mult+' ';

sum=sum+mult;

}

alert(salida+'\nSuma= '+sum);

</SCRIPT>

</HTML>

  • Grabalo con el nombre Prog022.htm en TuCarpeta y ejecutalo varias veces.

Tabla de valores de la funcion y=x2-5x+10

  • Escribe el siguiente programa:

<HTML>

<SCRIPT LANGUAGE='JavaScript'>

// PROG023.HTM

var x1,x2,paso;

var salida='';

var y;

x1=prompt('Escribe el menor valor de x','');

x1=parseFloat(x1);

x2=prompt('Escribe el mayor valor de x','');

x2=parseFloat(x2);

paso=prompt('Escribe el incremento de x:','');

paso=parseFloat(paso);

for(i=x1;i<=x2;i=i+paso)

{

y=i*i-5*i+10;

salida=salida+i+' '+y+'\n';

}

alert(salida);

</SCRIPT>

</HTML>

  • Graba el fichero en TuCarpeta con el nombre Prog023.htm y ejecutalo varias veces.
  • Al ejecutar el programa anterior, nos podemos encontrar con una serie de problemas, por ejemplo si introducimos en el valor menor de "x" (x1), un valor que sea mayor que el introducido en la variable x2, o tambien puede suceder que en la variable paso escribamos un numero negativo.
  • Vamos a solucionar estos posibles problemas, es decir vamos a "mejorar" el programa anterior.

Escribe:

<HTML>

<SCRIPT LANGUAGE='JavaScript'>

// PROG024.HTM

var x1,x2,paso;

var salida='';

var y;

x1=prompt('Escribe el menor valor de x de la tabla','');

x1=parseFloat(x1);

x2=prompt('Escribe el mayor valor de x de la tabla','');

x2=parseFloat(x2);

if (x1>=x2)

{

alert('No tiene sentido lo que intentas hacer');

}

else

{

paso=prompt('Escribe el incremento de x','');

paso=parseFloat(paso);

if (paso<=0)

{

alert('No tine sentido lo que intentas hacer');

}

else

{

for (i=x1;i<=x2;i=i+paso)

{

y=i*i-5*i+10;

salida=salida+i+' '+y+'\n';

}

alert(salida);

}

}

</SCRIPT>

</HTML>

  • Grabalo con el nombre Prog024.htm en TuCarpeta y ejecutalo, convendria probar los casos x1>=x2 y paso<0
  • Observa de que forma salimos del programa si introducimos datos que no tienen sentido.

Anterior: while
Siguiente: switch case


Tal vez te interese sobre javascript:

  • switch case:... el numerode respuestas acertadas. a partir de aqui y utilizando la estructura'switch-case', el programa nos da la 'nota' cualitativa.en efecto,...
  • do while:... while(condicion);mientras se cumpla la condicion, se repetira la ejecucionde las sentencias 1, 2 y 3.como la evaluacion de la condicion...
  • calculo iterativo:La llamada sucesion de fibonacci es: 0, 1, 1, 2, 3, 5, 8,13, ...es decir, cada termino es igual a...
  • el objeto math:... numero positivo','');num=parsefloat(num);opc=prompt('1 logaritmo neperiano. 2 logaritmo decimal. 3 logaritmo en basea\nescribe el numero de la opcion','');opc=parseint(opc,10);if(opc==1) { alert('el logaritmo neperiano de '+num+'...
  • variables auxiliares:... prog036.htm/* programa que lee la longitud de los 3 lados de untriangulo y analiza que tipo de triangulo es: no...
  • funciones que no devuelven nada:... raiz cuadrada\n\tpulsa l para el logaritmo neperiano\n\tpulsa a para acceder a la ayuda\n\tpulsa t para acabar'); }</script></html>graba el programa con el...
  • funciones que devuelven parametros:... potencia','')); e=parsefloat(prompt('escribe el exponente','')); resul=b+' elevado a '+e+' es '+math.pow(b,e); alert(resul); }function raiz() { var b,e; var resul; b=parsefloat(prompt('escribe el radicando de la raiz','')); e=parsefloat(prompt('escribe el indice de la...
  • arrays:... elementos del array','');n=parseint(n);var vector=new array(n);for(i=0;i<n;i++) { vector[i]=prompt('introduce valor',''); salida=salida+vector[i]+'\n'; }alert('los valores de la matriz son:\n'+salida);</script></html>graba el programa con el nombre prog051.htm en tucarpeta.observa de...
  • array de varias dimensiones:... array(5); }con este codigo lo que conseguimos es crear una matriz con 5 elementoscada uno de los cuales es, a su...
  • ascii y unicode:... 28 = 256el codigo ascii se ha quedado pequeño: 256 caracteres es insuficiente para representar los simbolos propios de muchos...
  • buscar un caracter:... una cadena conteniendo el caracter situado en la posicion especificada: "cadena".charat(4) = letra situada en el lugar 5ejemplo: funcion que determina...
  • temporizadores:... prog059.htm y ejecutalo.estudio del prog059.htmla frase "uso de cadenas con javascript para efectos dinamicos", se colocara una letra cada 0,2...
  • javascript y html introduccion:... entre dos rayas horizontales<hr><p align='center'><b>esto es negrita</b></p><br>esto es letra normal</font></body></html>grabalo en tucarpeta con el nombre prog061.htm y ejecutalo.escribe el siguiente...
  • escribiendo en el navegador:... javascript, en efecto:escribe el siguiente programa:<html><script language='javascript'>// prog063.htmvar nom;nom=prompt('escribe tu nombre','');var salida='';for(i=2;i<=14;i=i+2) { salida=salida+'<br>'+'i= '+i+' - hola '+nom; }document.write('<body bgcolor='#00ff00'><font color='#ff0000'>');document.write('<h1><p align='center'>uso de...
  • javascript y formularios:... onblur de un cuadro de texto. es decir hemos de modificar el segundo cuadro de texto de forma que nos...