Estruturas de Controle de Execução em Python

Respostas Diretas

  • Do que se trata o conteúdo? – Apresenta as estruturas de controle de fluxo em Python (if, if/else, elif, laços for, range) e seu uso em decisões e iterações.
  • Principais assuntos
    • Decisões de caminho único – if simples.
    • Decisões de caminho duplo – if … else.
    • Decisões múltiplas – if … elif … else.
    • Laço for sobre sequências (strings, listas).
    • Função range() para gerar sequências numéricas.
    • Aninhamento de if dentro de for (ex.: filtragem de vogais).
    • Exercícios práticos (implementação de funções, login, IMC, etc.).
  • Ponto de maior atenção – A correta **identação**; ela determina quais instruções pertencem a cada bloco de controle.
  • Conclusão – Dominar if/else/elif e for (com range) permite criar programas que respondem dinamicamente a entradas e percorrem coleções, essencial para qualquer aplicação Python.

Resumo dos Tópicos

Estruturas de Controle de Execução

Introduz a necessidade de controlar a ordem de execução de instruções em programas reais, usando decisões condicionais e iterações.

Decisões de Caminho Único

Uso da instrução if para executar um bloco apenas quando a condição é True. Exemplo: imprimir mensagem de calor se temp > 86. A identação define o escopo do bloco.

Decisões de Caminho Duplo

Extensão do if com a cláusula else para tratar o caso False. Exemplo: mensagens diferentes para temperaturas acima ou abaixo de 86 °F.

Decisões em Três Vias (e Mais!)

Uso de elif para múltiplas condições exclusivas. Exemplo da função temperatura(t) que classifica como “quente”, “frio” ou “congelando”. A ordem das condições é crucial.

Função range()

Gera sequências numéricas para iteração. Sintaxes:

  • range(stop) → 0 … stop‑1
  • range(start, stop)
  • range(start, stop, step)

Laço for

Itera sobre qualquer sequência (string, lista, range). Exemplo: soletrar uma palavra, imprimir vogais de uma frase, listar palavras de quatro letras.

Aninhamento de Estruturas

Combina for e if para filtrar itens durante a iteração (ex.: imprimir apenas vogais).

Problemas Práticos

Conjunto de exercícios que reforçam:

  • Conversão de requisitos em código if/else.
  • Uso de range em laços.
  • Implementação de funções como meuIMC() que calculam e classificam valores.
  • Construção de um mini‑sistema de login com if/else.

Questões sobre o assunto

1. Qual das alternativas abaixo demonstra a identação correta para que a instrução print('Adeus.') seja executada independentemente do resultado da condição if temp > 86:?
1.50 pontos Média

Resposta correta: C)

O print('Adeus.') deve ter a mesma identação da linha if, ou seja, não estar dentro do bloco indentado.

2. Por que a seguinte implementação da função temperatura(t) nunca exibe “Está quente!”?
2.50 pontos Difícil

Resposta correta: A)

Como t > 32 é avaliada antes de t > 86, qualquer valor maior que 32 entra no primeiro bloco, impedindo que o segundo bloco seja alcançado.

3. Qual chamada da função range() gera a sequência 0, 2, 4, 6, 8?
2.50 pontos Difícil

Resposta correta: D)

O intervalo inicia em 0, termina antes de 9 e avança de 2 em 2, produzindo 0, 2, 4, 6, 8.

4. Considere a função meuIMC(altura, peso) que calcula o IMC usando \(\text{IMC}= \dfrac{\text{peso}}{\text{altura}^2}\). Qual bloco if/elif/else classifica corretamente o resultado?
3.50 pontos Extrema

Resposta correta: B)

Usa intervalos fechados à esquerda e abertos à direita exatamente como especificado: 18.5 ≤ imc < 25.

Pontuação Total
0.00