x = 50;
if x > 0
println("x é positivo")
elseif x < 0
println("x é negativo")
else
println("x é zero")
endx é positivo
Condicionais e loops são estruturas fundamentais para o controle de fluxo em Julia. Enquanto as primeiras (if, elseif, else) permitem tomar decisões com base em condições lógicas, esses últimos (for, while) repetem blocos de código, facilitando a automação de tarefas repetitivas e o processamento de dados.
Universidade Estadual de Campinas
Universidade Estadual de Campinas
30 de julho de 2025
Julia é uma linguagem de programação de alto desempenho voltada para computação científica e análise de dados. Neste artigo, vamos explorar dois dos principais mecanismos de controle de fluxo de sua sintaxe poderosa: loops (laços de repetição) e condicionais. Com eles, você pode automatizar tarefas repetitivas e tomar decisões baseadas em condições, enquanto desenvolve códigos mais flexíveis e eficientes.
Em Julia, a estrutura condicional é semelhante à de outras linguagens, como Python e C. Utilizam-se comandos como if, elseif e else para controlar o fluxo de execução de um programa, permitindo a tomada de decisões baseada em condições booleanas (ou seja, que podem ser verdadeiras ou falsas).
if condição_1
elseif condição_2
else
condição_complementar
end
x = 50;
if x > 0
println("x é positivo")
elseif x < 0
println("x é negativo")
else
println("x é zero")
endx é positivo
if é uma estrutura condicional inicial. Se a condição for verdadeira (true), o bloco de código dentro de if será executado. Caso contrário (ou seja, se a condição for falsa (false)), o programa dará continuidade em elseif ou else, caso existam. Se não houver outras condições, o bloco será ignorado.
end sempre fecha a estrutura.O operador ternário é uma forma alternativa e mais concisa de escrever uma expressão condicional em uma única linha. Ele serve para escolher entre dois valores com base em uma condição booleana, sendo uma alternativa mais compacta ao tradicional if-else.
condição ? valor_verdadeiro : valor_falso
"Maior que 5"
Use o operador ternário quando a condição for simples e o resultado for um valor ou expressão curtos. Evite-o quando a lógica for complexa ou envolver muitos passos, pois pode dificultar a leitura.
Loops são estruturas fundamentais em qualquer linguagem de programação, e em Julia eles são especialmente eficientes e versáteis. Loops permitem executar repetidamente um bloco de código, facilitando a automação de tarefas repetitivas. Em Julia, as principais estruturas de repetição são for e while. Além disso, a linguagem oferece comandos como break e continue para controlar o fluxo dentro dos loops, e funções como zip para iterar simultaneamente sobre múltiplas coleções.
forO loop for é usado para iterar sobre uma coleção de elementos, como vetores, ranges, strings ou quaisquer objetos iteráveis.
for variável in coleção
# condição a ser testada
end
No caso dessa condicional, for é o que irá definir o loop, in definirá o intervalo de iteração (que depende da variável que você declarou para ser condicionada ao loop) e end indica o fim do loop.
Iteração em range:
O valor de i é 1
O valor de i é 2
O valor de i é 3
O valor de i é 4
O valor de i é 5
Iteração em lista:
Olá, Ana!
Olá, Bruno!
Olá, Carlos!
whileO loop while executa repetidamente um bloco de código enquanto uma condição estabelecida for verdadeira. Analogamente ao for, o código passa a executar a linha ou o chunk seguinte do loop. E, caso a condição inicial seja falsa, o chunk apenas será ignorado.
while condição
# condição a ser testada
end
# Uso do while com a sequência de Fibonacci
len = 10;
# Primeiros dois valores
a = 0;
b = 1;
# Valor de iteração
itr = 0;
while itr < len
print(a, ", ")
c = a + b
global a = b
global b = c
global itr += 1
end0, 1, 1, 2, 3, 5, 8, 13, 21, 34,
Use
whilequando não souber exatamente quantas repetições são necessárias mas souber quando parar. Umwhile truecria um loop infinito. Apenas use-o caso esteja certo de que haverá uma condição de parada interna, comobreak.
for e while com break e continueJulia oferece duas instruções importantes para controlar o fluxo dentro de loops: break e continue.
A palavra-chave break é usada em Julia para parar um loop imediatamente. Quando ela é executada, o compilador encerra o loop de maneira abrupta, executando, em seguida, o chunk fora do loop.
Loop
# condição a ser testada
break
# condição complementar
end
A palavra-chave continue faz com que o loop pule o restante do bloco de código da iteração atual e passe imediatamente para a próxima iteração. Ou seja, ela interrompe a execução do código atual dentro do loop, avançando para o próximo ciclo.
Loop
# condição a ser testada
continue
# condição complementar
end
A função zip é uma ferramenta muito útil em Julia para trabalhar simultaneamente com múltiplas coleções, como listas e vetores. zip cria um iterador que combina essas coleções. Em cada iteração, ele retorna uma tupla contendo os elementos correspondentes de cada coleção.
{zip(coleção_1, coleção_2, ...)}
Depois, você pode iterar sobre esse zip com um for.
Exemplos:
nomes = ["Ana", "Bruno", "Carlos"];
idades = [25, 30, 22];
for (nome, idade) in zip(nomes, idades)
println("$nome tem $idade anos")
endAna tem 25 anos
Bruno tem 30 anos
Carlos tem 22 anos
O
ziptermina na coleção mais curta.
# Exemplo com listas de tamanhos diferentes
a = [1, 2, 3, 4];
b = ["x", "y"];
for (num, letra) in zip(a, b)
println("$num => $letra")
end1 => x
2 => y
Não é raro termos dois loop dentro de uma mesma tarefa. Em Julia, podemos incluir ambos iteradores de forma simples
Iterador i: 1, iterador j: 10
Iterador i: 2, iterador j: 10
Iterador i: 3, iterador j: 10
Iterador i: 4, iterador j: 10
Iterador i: 5, iterador j: 10
Iterador i: 1, iterador j: 20
Iterador i: 2, iterador j: 20
Iterador i: 3, iterador j: 20
Iterador i: 4, iterador j: 20
Iterador i: 5, iterador j: 20
Iterador i: 1, iterador j: 30
Iterador i: 2, iterador j: 30
Iterador i: 3, iterador j: 30
Iterador i: 4, iterador j: 30
Iterador i: 5, iterador j: 30
Iterador i: 1, iterador j: 10
Iterador i: 1, iterador j: 20
Iterador i: 1, iterador j: 30
Iterador i: 2, iterador j: 10
Iterador i: 2, iterador j: 20
Iterador i: 2, iterador j: 30
Iterador i: 3, iterador j: 10
Iterador i: 3, iterador j: 20
Iterador i: 3, iterador j: 30
Iterador i: 4, iterador j: 10
Iterador i: 4, iterador j: 20
Iterador i: 4, iterador j: 30
Iterador i: 5, iterador j: 10
Iterador i: 5, iterador j: 20
Iterador i: 5, iterador j: 30
Iterador i: 1, iterador j: 1
Iterador i: 1, iterador j: 3
Iterador i: 1, iterador j: 5
Iterador i: 1, iterador j: 7
Iterador i: 1, iterador j: 9
Iterador i: 2, iterador j: 2
Iterador i: 2, iterador j: 4
Iterador i: 2, iterador j: 6
Iterador i: 2, iterador j: 8
Iterador i: 2, iterador j: 10
Iterador i: 3, iterador j: 3
Iterador i: 3, iterador j: 5
Iterador i: 3, iterador j: 7
Iterador i: 3, iterador j: 9
Iterador i: 4, iterador j: 4
Iterador i: 4, iterador j: 6
Iterador i: 4, iterador j: 8
Iterador i: 4, iterador j: 10
Iterador i: 5, iterador j: 5
Iterador i: 5, iterador j: 7
Iterador i: 5, iterador j: 9
Verificamos, portanto, que tanto os loops quanto as condicionais são componentes essenciais para o desenvolvimento de códigos eficientes em Julia. Enquanto as condicionais permitem que seu programa tome decisões com base em regras lógicas, os loops possibilitam repetir ações automaticamente, reduzindo redundância e aumentando a performance em tarefas como simulações, análises de dados ou algoritmos numéricos.
Explore mais:
Comprehensionssão uma forma compacta de criar vetores, matrizes e até dicionários. Elas podem ser muito mais rápidas que loops utilizandopush!.
Referências e mais detalhes podem ser encontrados nesses endereços web:
Ferramentas de IA foram utilizadas para correção ortográfica e aprimoramento do texto.