Estruturas de Controlo: Condicionais e Ciclos

As estruturas de controlo são componentes fundamentais de qualquer linguagem de programação. Em Python, tal como noutras linguagens, estas estruturas permitem que o programa tome decisões (condicionais) e repita uma série de operações (ciclos). Vamos explorar estas estruturas em detalhe.

Condicionais

As condicionais permitem que o programa execute diferentes blocos de código com base em condições específicas. Em Python, utilizamos as instruções if, elif, e else.

Exemplo 1: if, elif e else
idade = 18

if idade < 18:
    print("Ainda és menor de idade.")
elif 18 <= idade < 65:
    print("És adulto.")
else:
    print("És sénior.")

Neste exemplo, se a variável idade for menor que 18, o programa imprime "Ainda és menor de idade.". Se a idade estiver entre 18 e 64 anos, imprime "És adulto.". Caso contrário, imprime "És sénior.".

Ciclos

Os ciclos permitem repetir a execução de uma série de instruções múltiplas vezes. Em Python, os dois tipos principais de ciclos são for e while.

Ciclo for

Um ciclo for é ideal para iterar sobre uma sequência (como uma lista, uma tupla, ou uma string).

Exemplo 2: Ciclo for
for numero in range(1, 6):
    print(f"Número: {numero}")

Este código vai imprimir os números de 1 a 5. A função range(1, 6) gera uma sequência de números de 1 a 5 (o 6 não está incluído).

Ciclo while

Um ciclo while repete as instruções enquanto uma condição for verdadeira.

Exemplo 3: Ciclo while
contador = 1

while contador <= 5:
    print(f"Contador: {contador}")
    contador += 1

Neste caso, o ciclo while irá repetir até que a variável contador seja maior que 5.

Combinando Condicionais e Ciclos

Frequentemente, usamos condicionais dentro de ciclos para tomar decisões durante o processo de iteração.

Exemplo 4: Condicional dentro do ciclo for
numeros = [1, 2, 3, 4, 5]

for numero in numeros:
    if numero % 2 == 0:
        print(f"{numero} é par.")
    else:
        print(f"{numero} é ímpar.")

Este programa percorre uma lista de números e verifica se cada número é par ou ímpar, imprimindo a mensagem correspondente.

Exercício Prático

Vamos aplicar o que aprendemos para resolver um problema típico. Suponha que precisamos de um programa que verifique uma lista de idades e classifique cada idade como "menor de idade", "adulto", ou "sénior".

Solução:
idades = [12, 17, 24, 38, 45, 67, 89]

for idade in idades:
    if idade < 18:
        print(f"Idade {idade}: Menor de idade")
    elif 18 <= idade < 65:
        print(f"Idade {idade}: Adulto")
    else:
        print(f"Idade {idade}: Sénior")

Este código percorre a lista idades e utiliza condicionais para classificar cada idade, imprimindo a classificação correspondente.

Resumo

Nesta secção, aprendemos sobre estruturas de controlo em Python, especificamente sobre condicionais (if, elif e else) e ciclos (for e while). Estas estruturas permitem-nos controlar o fluxo de um programa, tomar decisões com base em condições específicas e repetir operações conforme necessário.

Questionário

  1. O que faz a instrução if em Python?

    • A. Repetir um bloco de código múltiplas vezes
    • B. Tomar decisões com base em condições
    • C. Declarar uma função
    • D. Importar um módulo
  2. Qual é a saída do seguinte código?

    x = 10
    if x > 5:
        print("Maior que 5")
    else:
        print("Menor ou igual a 5")
    
  3. Como se termina normalmente um ciclo while?

    • A. Usando a instrução break
    • B. Usando a instrução return
    • C. Quando a condição se torna falsa
    • D. Quando a lista é esgotada
  4. O que acontece se não atualizarmos a condição num ciclo while?

  5. Complete o código para verificar se um número numa lista é positivo, negativo ou zero:

    numeros = [-1, 0, 1, -2, 2]
    for numero in numeros:
        if ____:
            print(f"{numero} é positivo")
        elif ____:
            print(f"{numero} é negativo")
        else:
            print(f"{numero} é zero")
    

As respostas a estas questões ajudarão a consolidar os conceitos ensinados sobre estruturas de controlo. Boa sorte!

<< Variáveis e Tipos de Dado... Índice Entrada e Saída de Dados >>