Tag Archive for bucle

Ciclo for en Ruby.

Si éste es tu primer acercamiento a la programación, necesitas saber que un ciclo es un bloque de instrucciones que se repite un número definido de veces, existen diferentes tipos de ellos y uno de los más comunes es el ciclo for.

El ciclo for en Ruby, permite que nosotros definamos un rango entre el cual, un iterador, se irá moviendo, sirve para repetir un proceso un determinado número de veces tomando un iterador como referencia entre éstas veces. Si lo anterior no te quedó muy claro, es porque necesitamos un ejemplo:

for i in(0..9)
    puts i
end

Como ves, la sintaxis es clara y muy sencilla, tenemos un iterador  y un rango 0..9, lo que significa que el iterador iniciará el ciclo siendo igual a nueve e irá aumentando de uno en uno hasta llegar al 9, cada vez que aumenta entra al bloque de instrucciones, éste bloque lo único que hace en el ejmplo es imprimir el valor del iterador i.

Existen un grupo de palabras reservadas que tienen la capacidad de modificar el comportamiento de un ciclo, la primera que veremos es break y lo que hace es sacar el ciclo, es decir, sin importar en qué parte del rango se encuentre el iterador, el ciclo se terminará una vez haya encontrado la palabra break, veamos un ejemplo:

for i in(0..9)
    if(i == 3) break end
    puts i
end

En el ejemplo anterior, una vez el ciclo valga 3, se terminará y ya no recorrerá hacia el 4.

La siguiente palabra es next y lo que hace es sencillamente saltar la interación en la que se encuentra y pasar a la siguiente.

for i in(0..9)
    if(i == 3) next end
    puts i
end

De modo que si tu probaras el ejemplo anterior, notarías que el 3 no aparece en la consola, y la razón es que saltamos esa iteración a través de la palabra reservada next.

Por último tenemos una con la que querrás tener mucho cuidado, y es redo, y lo que hace es sencillamente repetir la iteración, es decir, lo contrario a next.

for i in(0..9)
    puts i
    if(i == 3) redo end
end

Como te mencionaba, ten cuidado, puesto que el ejemplo anterior se ciclará imprimiendo 3 una y otra vez porque redo le está pidiendo que repita la iteración.

Sé que quedarás con dudas como por ejemplo, qué pasaría si quiero aumentar de 2 en 2, en lugar de 1 en 1. Bien eso lo veremos en otros tipos de ciclos más Rubyanos (si existiera esa palabra) que el for.

Tutorial de JavaScript-El Método substring (inicio, final)

El método substring devuelve una subcadena de la cadena de texto, que hemos obtenido mediante los dos parámetros que especificamos: `inicio, final’. El segundo parámetro es opcional.
El número que indicamos en el primer parámetro, comienza a contar por el número 0 en adelante y el segundo parámetro que es opcional comienza desde el número 1. Para ver cómo funciona el método substring utilizaremos alert() para sacar una ventana de alerta por pantalla con la subcadena devuelta. Si le pasamos como primer parámetro un número negativo obtenemos la cadena de texto original.

<script type="text/javascript">
alert("JavaScript Substring".substring(0, 10));
</script>

 

Como podemos ver en el ejemplo, obtenemos la subcadena `JavaScript’ al poner el primer parámetro 0, nos saca la ` J ’ hasta el segundo parámetro 10 que nos marca ` t ’ por lo que, sale en pantalla `JavaScript ’.
Ahora bien, si indicamos en el primer parámetro 4 y el segundo parámetro 20 obtenemos la subcadena `Script Substing’.

<script type="text/javascript">
alert("JavaScript Substring".substring(4,20));
</script>

En el caso de que sólo indiquemos un parámetro será el inicio de la subcadena y obtenemos el primer carácter indicado hasta el final de la cadena.

<script type="text/javascript">
alert("JavaScript Substring".substring(11));
</script>

 

En este ejemplo obtenemos la subcadena `Substing’. En el siguiente ejemplo vamos a hacer una pequeña validación en el que sólo debe teclear la letra. Utilizaremos un formulario con dos input, tipo texto y botón, y un script donde llamaremos una función en donde tenemos un bucle for y un condicional.
Primero creamos un formulario en con dos input, uno para introducir un nombre donde tiene un id que identifica el mismo con el nombre de entrada. El siguiente input es tipo button y contiene el evento onclick, este evento entra en la acción cuando el usuario hace clic en el botón, al hacer clic en el botón llamamos a la función chequear ().

<input type="text" id="entrada" placeholder="Nombre" />
<input type="button" value=" Chequear " onclick="chequear()" />

 

Lo segundo que haremos es crear dentro de la etiqueta , una función con el nombre de chequear. Ahora, dentro de la función creamos dos variables i con el valor 1 y la variable e con el valor que tengo el input con el id entrada, para ello utilizamos “document.getElementById(‘ entrada ‘).value”.

function chequear()
{
var e = document.getElementById(' entrada ').value;
var i = 1;
}

 

A continuación creamos un bucle for donde le pasamos tres parámetro; en la primera le creamos una variable c, donde le asignamos 0, el segundo parámetro hacemos la condición que mientras c sea menor que la longitud de la variable e (esta variable contiene el nombre que introduce el usuario), y en el tercer parámetro ponemos c++ que es para incrementar la variable c cada vez que termina la iteración del bucle.

for (var c=0; c<e.length; c++)
{
}

 

Creamos en el bucle for c una variable caracter, donde introducimos ”e.substring(c,i)”; en el método Substring() obtenemos la subcadena de la variable e, que es el nombre e introducimos la variable c y i como parámetro. Lo último es hacer una condición. Si la variable carácter es menor que “a” o mayor que “z” que saque por pantalla el mensaje “Sólo se admite letras.” , hacemos un return para finalizar la sentencia y al salir de la condición ponemos i++ para incrementar la variable si la condición no se cumple.

var caracter = e.substring(c,i);
if (caracter"z")
{
alert("Sólo se admite letras.");
return;
}
i++;

 

Código completo.

<!doctype html>
<html lang="es">
<head>
	<meta charset="utf-8" />
	<title>Ejemplo en donde utilizamos la propiedad Substring</title>
	<script type="text/javascript">
		function chequear()
		{
			var e = document.getElementById(' entrada ').value;
			var i = 1;
			for (var c=0;  c<e.length;  c++)
			{
				var caracter = e.substring(c,i);
				if (caracter<"a" || caracter>"z")
				{
					alert("Solo se admite letras.");
					return;
				}
				i++;
			}
		}
	</script>
</head>
<body>
	<form>
		<input type="text" id="entrada" placeholder="Nombre" />
   		<input type="button" value=" Chequear " onclick="chequear()" />
	</form>
</body>
</html>