El bucle for
Un bucle es una estructura de control que repite un bloque de instrucciones. Un bucle for es un bucle que repite el bloque de instrucciones un número predeterminado de veces. El bloque de instrucciones que se repite se suele llamar cuerpo del bucle y cada repetición se suele llamar iteración.
La sintaxis es:
for variable_id in elemento iterable (arreglo){
cuerpo del bucle
}
En este ejemplo se recorre el arreglo [1,2,3] por la variable "i" y se imprime por pantalla la palabra hola concatenado con la variable i
----- LangTLON v1.0 -----
>>> for i in [1,2,3]{
... log("hola " + i)
... }
hola 1
hola 2
hola 3
>>>
En este ejemplo se hace una concatenación de la variable i con su valor
----- LangTLON v1.0 -----
>>> for i in [1,2,3]{
... log("Ahora i vale " + i)
... }
Ahora i vale 1
Ahora i vale 2
Ahora i vale 3
>>>
En este ejemplo se hace una operación con la variable que recorre el arreglo
----- LangTLON v1.0 -----
>>> for i in [1,2,3]{
... log("Ahora i vale " + i + " y su cuadrado es " + i*i)
... }
Ahora i vale 1 y su cuadrado es 1
Ahora i vale 2 y su cuadrado es 4
Ahora i vale 3 y su cuadrado es 9
>>>
En este ejemplo se hace una iteración de la variable i en un arreglo con diferente tipos de datos.
----- LangTLON v1.0 -----
>>> for i in ["ANA", "Juan", 80]{
... log("El valor de la variable i es " + i)
... }
El valor de la variable i es ANA
El valor de la variable i es Juan
El valor de la variable i es 80
>>>
En este ejemplo se hace un ciclo realizando la operación de variable iterada por la misma variable iterada
----- LangTLON v1.0 -----
>>> for numero in [0,1,2,3]{
... log(numero + " X " + numero + " = "+ numero * numero)
... }
0 X 0 = 0
1 X 1 = 1
2 X 2 = 4
3 X 3 = 9
>>>
En este ejemplo se hace una iteración sobre un arreglo de letras.
----- LangTLON v1.0 -----
>>> for i in ["A","M","I","G","O"]{
... log("Dame una " + i)
... }
Dame una A
Dame una M
Dame una I
Dame una G
Dame una O
>>>
En este ejemplo se hace el incremento de un contador haciendo la evaluación de la condición de módulo de 2.
----- LangTLON v1.0 -----
>>> cont=0
>>> for i in [1,2,3,4,5,6]{
... if i % 2 == 0{
... cont=cont+1
... }
... }
>>> log(cont)
3
>>>
Para este ejemplo se hace un acumulador con la suma del arreglo que se recorre.
----- LangTLON v1.0 -----
>>> suma = 0
>>> for i in [1,2,3,4]{
... suma = suma + i
... }
>>> log("La suma de los numeros de 1 a 4 es " + suma)
La suma de los numeros de 1 a 4 es 10
>>>
El bucle While
Un bucle while permite repetir la ejecución de un grupo de instrucciones mientras se cumpla una condición, mientras la condición tenga el valor True. La sintaxis del bucle while es la siguiente:
while condicion:
cuerpo del bucle
Cuando llega a un bucle while, el lenguaje evalúa la condición y si es cierta, ejecuta el cuerpo del bucle.
En este ejemplo se evalúa la condición cuando la variable a es menor a 5, se imprime el resultado y se incrementa la variable a. El ciclo termina cuando a es mayor a 5.
----- LangTLON v1.0 -----
>>> a = 0
>>> while a < 5{
... log(a)
... a = a+1
... }
0
1
2
3
4
>>>
La ventaja de un bucle while es que la variable de control se puede modificar con mayor flexibilidad, como se ve en el este ejemplo
----- LangTLON v1.0 -----
>>> i=1
>>> while i<= 50{
... log(i)
... i=3*i+1
... }
1
4
13
40
>>>