Análise da Questão
Alternativa A
A questão solicita um algoritmo em Portugol que leia números até encontrar um zero, verificando paridade, utilizando especificamente uma estrutura de repetição com teste no início (pré-teste).
Conceitos Fundamentais
Para resolver este problema, precisamos entender dois pontos chave na sintaxe do Portugol:
- Pré-teste (Enquanto): A estrutura
enquanto (condicao) verifica a condição antes de executar o bloco de comandos. Se a condição já for falsa, o bloco nem é executado.
- Sintaxe:
enquanto <condicao> faca ... fim_enquanto
- Lógica de Parada: O programa deve parar quando o número lido for igual a zero. Logo, o loop deve continuar (ser verdadeiro) enquanto o número for diferente de zero (
num != 0).
Justificativa Didática
Vamos analisar o fluxo da Alternativa A:
leia(num) // 1. Leitura inicial para alimentar o teste
enquanto (num!=0){ // 2. Pré-teste: Continua SE num NAO for 0
se num%2==0 // 3. Lógica de paridade
escreva ("numero e par")
senao
escreva ("numero impar")
leia (num) // 4. Nova leitura no final do ciclo
} // Volta para o passo 2
- Correto: Utiliza
enquanto (pré-teste). - Correto: A condição
num!=0 garante que o processo continue recebendo números diferentes de zero. - Correto: O número zero não entra no loop, evitando que ele seja classificado como "par" desnecessariamente.
Por que as outras estão incorretas?
| Alternativa | Problema | Tipo de Estrutura |
|---|
| B | Usa faca ... enquanto. O teste ocorre no final. O enunciado exigiu teste no início. | Pós-teste |
| C | Usa enquanto (num==0). O loop só rodaria se o número fosse ZERO, o que inverte a lógica desejada. | Pré-teste (lógica errada) |
Resumo: A alternativa A é a única que combina a estrutura de controle solicitada (enquanto) com a lógica condicional correta para interromper a leitura ao receber o valor zero.