3 Estructuras de control
3.1 Condicionales
ifcondición 1
bloque código 1
elseifcondición 2
bloque código 2
…
else
bloque código n
end
La indentación de los bloques de código no es necesaria, pero es una buena práctica.
3.1.1 Ejemplo de condicional
julia> x = -1
-1
julia> if x > 0
signo = "positivo"
elseif x < 0
signo = "negativo"
else
signo = "nulo"
end
"negativo"3.1.2 Operador condicional
Una forma abreviada de la estructura condicional es el operador condicional.
condición
?bloque true:bloque false
Este operador ejecuta el primer bloque de código si la condición es true y el segundo en caso contrario.
julia> x > 0 ? signo = "positivo" : signo = "negativo"
"negativo"3.2 Bucles
3.3 Bucles iterativos
foriteradorinsecuencia
bloque código
end
Ejecuta el bloque de código tantas veces como elementos tenga la secuencia. En cada iteración el iterador toma como valor el siguiente elemento de la secuencia.
julia> c = "Julia"
"Julia"
julia> for i in c
println(i)
end
J
u
l
i
a3.3.1 Bucles iterativos con rangos
En muchas ocasiones la secuencia que se recorre en un bucle iterativo se genera mediante un rango, que es una secuencia de números igualmente espaciados. Existen distintas funciones para generar rangos:
i:j: Genera la secuenciad de números desdeihastaj.i:j:k: Genera la secuencia de números desdeihastakdando saltos dej.StepRange(i, j, k): Genera la secuencia de números desdeihastakdando saltos dej.range(i, j, n): Genera una secuencia dennúmeros desdeihastaj.
3.3.2 Ejemplo de bucles iterativos con rangos
julia> for i in 1:2:10
println(i)
end
1
3
5
7
9
julia> for i = range(0, 10, 5)
println(i)
end
0.0
2.5
5.0
7.5
10.03.3.3 Bucles iterativos anidados
En muchas ocasiones es habitual incluir un bucle iterativo en el bloque de código de otro bucle iterativo, lo que se conoce como bucles anidados.
Julia permite simplificar estas estructuras indicando los iteradores en la cabecera de un único bucle.
julia> for i in "abc", j = 1:2
println(i,j)
end
a1
a2
b1
b2
c1
c23.4 Bucles condicionales
whilecondición
bloque código
end
Repite la ejecución del bloque de código mientras que la condición sea cierta.
julia> x = 3
3
julia> while x >= 0
println(x)
x -= 1
end
3
2
1
03.4.1 Interrupción de bucles
La instrucción break provoca inmediatamente la finalización de un bucle tanto iterativo como condicional.
julia> x=3
3
julia> while true
if x < 0
break
end
println(x)
x -= 1
end
3
2
1
03.4.2 Salto de bucles
La instrucción continue provoca la finalización del bloque de código de un bucle y pasa inmediatamente a la siguiente iteración.
julia> for i in 1:10
if i % 2 == 0
continue
end
println(i)
end
1
3
5
7
9