Laços de Decisão e Repetição: O Guia Essencial para Iniciantes

jandersonsiqueira - Sep 24 - - Dev Community

Programar é, essencialmente, ensinar o computador a tomar decisões e repetir ações. Isso é feito através de estruturas de controle, que são fundamentais em qualquer linguagem de programação. Neste artigo, vamos explorar os principais conceitos de laços de decisão e laços de repetição, com exemplos práticos.

Laços de Decisão

Os laços de decisão, também conhecidos como estruturas condicionais, permitem ao programa escolher diferentes caminhos com base em certas condições. O principal conceito aqui é verificar se uma condição é verdadeira ou falsa.

if, else if, else

A estrutura condicional mais comum é o if. Ele verifica uma condição; se for verdadeira, executa um bloco de código. Caso contrário, pode seguir com else if ou else para testar outras condições ou fornecer uma alternativa.

Exemplo em Python:

idade = 18

if idade >= 18:
    print("Você é maior de idade.")
elif idade > 12:
    print("Você é adolescente.")
else:
    print("Você é criança.")
Enter fullscreen mode Exit fullscreen mode

switch/case (ou match)

Em algumas linguagens, como JavaScript ou C, o switch/case permite verificar múltiplas condições de forma mais eficiente que vários if/else.

Exemplo em JavaScript:

let cor = "verde";

switch (cor) {
    case "vermelho":
        console.log("Pare!");
        break;
    case "amarelo":
        console.log("Atenção!");
        break;
    case "verde":
        console.log("Siga em frente!");
        break;
    default:
        console.log("Cor desconhecida.");
}
Enter fullscreen mode Exit fullscreen mode

Ternário

Em linguagens como Python, JavaScript e Java, podemos usar operadores ternários para tomar decisões simples em uma única linha.

Exemplo em Python:

idade = 18
print("Maior de idade" if idade >= 18 else "Menor de idade")
Enter fullscreen mode Exit fullscreen mode

Laços de Repetição

Os laços de repetição são usados para executar um bloco de código várias vezes. As estruturas mais comuns são for, while e do-while.

for

O for é utilizado quando sabemos antecipadamente o número de vezes que um bloco de código deve ser repetido. Ele é muito útil para iterar sobre listas, arrays e sequências.

Exemplo em Python:

for i in range(5):
    print(f"Este é o loop número {i + 1}")
Enter fullscreen mode Exit fullscreen mode

Exemplo em JavaScript:

const frutas = ["Maçã", "Banana", "Laranja"];
for (let i = 0; i < frutas.length; i++) {
    console.log(frutas[i]);
}
Enter fullscreen mode Exit fullscreen mode

while

O while repete um bloco de código enquanto uma condição for verdadeira. Esse tipo de laço é usado quando não sabemos o número exato de repetições antecipadamente.

Exemplo em Python:

contador = 0
while contador < 5:
    print(f"Contagem: {contador}")
    contador += 1
Enter fullscreen mode Exit fullscreen mode

do-while

O do-while é semelhante ao while, mas garante que o código dentro do bloco seja executado pelo menos uma vez, mesmo que a condição seja falsa desde o início.

Exemplo em JavaScript:

let contador = 0;
do {
    console.log(`Contagem: ${contador}`);
    contador++;
} while (contador < 5);
Enter fullscreen mode Exit fullscreen mode

Controle de Fluxo em Laços

Além de tomar decisões e repetir ações, muitas vezes é necessário controlar o fluxo dentro dos laços, por exemplo, interromper ou pular iterações.

break

A palavra-chave break interrompe o laço imediatamente, ignorando quaisquer iterações futuras.

Exemplo em Python:

for i in range(10):
    if i == 5:
        break
    print(i)
Enter fullscreen mode Exit fullscreen mode

Saída:

0
1
2
3
4
Enter fullscreen mode Exit fullscreen mode

continue

A palavra-chave continue pula para a próxima iteração do laço, ignorando o restante do código dentro da iteração atual.

Exemplo em Python:

for i in range(5):
    if i == 2:
        continue
    print(i)
Enter fullscreen mode Exit fullscreen mode

Saída:

0
1
3
4
Enter fullscreen mode Exit fullscreen mode

Conclusão

Os laços de decisão e repetição são a espinha dorsal de qualquer programa. Eles nos permitem criar fluxos dinâmicos, onde o comportamento muda com base nas entradas e nas condições encontradas. Dominar esses conceitos é crucial para se tornar um programador eficiente, pois eles aparecem em praticamente todo código que você escreverá.

Lembre-se de escolher a estrutura adequada para cada situação e, com prática, você logo será capaz de escrever código limpo e eficiente utilizando esses laços.

. . . . . . . . . . . . .